numfmt.test.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { numfmt } from "../src/index";
  2. test('numfmt custom', () => {
  3. const formatter = numfmt("[green]#,##0;[red]-#,##0");
  4. expect(formatter(100)).toEqual('100');
  5. });
  6. test('numfmt color', () => {
  7. const formatter = numfmt("[green]#,##0;[red]-#,##0");
  8. expect(formatter.color(-10)).toEqual('red');
  9. expect(formatter.color(10)).toEqual('green');
  10. });
  11. test('numfmt number', () => {
  12. const formatter = numfmt("[green]#,##0;[red]-#,##0");
  13. const color = formatter.color(-10);
  14. expect(color).toEqual('red');
  15. });
  16. test('numfmt date', () => {
  17. const formatter = numfmt('yyyy"年"m"月"d"日";@');
  18. expect(formatter(0)).toEqual('1900年1月0日');
  19. });
  20. test('numfmt time', () => {
  21. const formatter = numfmt('[$-409]h:mm:ss AM/PM;@');
  22. expect(formatter(12)).toEqual('12:00:00 AM');
  23. });
  24. test('numfmt currency', () => {
  25. const formatter = numfmt('¥#,##0.00;[red]¥#,##0.00');
  26. expect(formatter(1.00)).toEqual('¥1.00');
  27. });
  28. test('numfmt percentage', () => {
  29. const formatter = numfmt("0.00%");
  30. expect(formatter(0.1)).toEqual('10.00%');
  31. });