size-formatter.test.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { describe, expect, it } from 'vitest';
  2. import { SizeFormatter } from '@/utils';
  3. describe('SizeFormatter.sizeFormat', () => {
  4. it('formats zero and negative values', () => {
  5. expect(SizeFormatter.sizeFormat(0)).toBe('0 B');
  6. expect(SizeFormatter.sizeFormat(-1)).toBe('0 B');
  7. expect(SizeFormatter.sizeFormat(null)).toBe('0 B');
  8. expect(SizeFormatter.sizeFormat(undefined)).toBe('0 B');
  9. });
  10. it('formats bytes', () => {
  11. expect(SizeFormatter.sizeFormat(512)).toBe('512 B');
  12. });
  13. it('formats kilobytes', () => {
  14. expect(SizeFormatter.sizeFormat(1536)).toBe('1.50 KB');
  15. });
  16. });
  17. describe('SizeFormatter.speedFormat', () => {
  18. it('formats zero and negative values', () => {
  19. expect(SizeFormatter.speedFormat(0)).toBe('0 B/s');
  20. expect(SizeFormatter.speedFormat(-1)).toBe('0 B/s');
  21. expect(SizeFormatter.speedFormat(null)).toBe('0 B/s');
  22. expect(SizeFormatter.speedFormat(undefined)).toBe('0 B/s');
  23. });
  24. it('formats non-finite values as zero', () => {
  25. expect(SizeFormatter.speedFormat(NaN)).toBe('0 B/s');
  26. expect(SizeFormatter.speedFormat(Infinity)).toBe('0 B/s');
  27. expect(SizeFormatter.sizeFormat(NaN)).toBe('0 B');
  28. expect(SizeFormatter.sizeFormat(Infinity)).toBe('0 B');
  29. });
  30. it('formats bytes per second', () => {
  31. expect(SizeFormatter.speedFormat(512)).toBe('512 B/s');
  32. expect(SizeFormatter.speedFormat(1023)).toBe('1023 B/s');
  33. });
  34. it('formats kilobytes per second', () => {
  35. expect(SizeFormatter.speedFormat(1024)).toBe('1.00 KB/s');
  36. expect(SizeFormatter.speedFormat(1536)).toBe('1.50 KB/s');
  37. });
  38. it('formats megabytes per second', () => {
  39. expect(SizeFormatter.speedFormat(1024 * 1024)).toBe('1.00 MB/s');
  40. expect(SizeFormatter.speedFormat(2.5 * 1024 * 1024)).toBe('2.50 MB/s');
  41. });
  42. it('formats gigabytes per second', () => {
  43. expect(SizeFormatter.speedFormat(1024 * 1024 * 1024)).toBe('1.00 GB/s');
  44. });
  45. });