mask.spec.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. let { stripDown, formatMoney } = require('../../packages/mask/dist/module.cjs');
  2. test('strip-down functionality', async () => {
  3. expect(stripDown('(***) ***-****', '7162256108')).toEqual('7162256108')
  4. expect(stripDown('(999) 999-9999', '7162256108')).toEqual('7162256108')
  5. expect(stripDown('999) 999-9999', '7162256108')).toEqual('7162256108')
  6. expect(stripDown('999 999-9999', '7162256108')).toEqual('7162256108')
  7. expect(stripDown('999999-9999', '7162256108')).toEqual('7162256108')
  8. expect(stripDown('9999999999', '7162256108')).toEqual('7162256108')
  9. expect(stripDown('9999999999', '7162256108')).toEqual('7162256108')
  10. expect(stripDown('(999) 999-9999', '716 2256108')).toEqual('7162256108')
  11. expect(stripDown('(999) 999-9999', '(716) 2256108')).toEqual('7162256108')
  12. expect(stripDown('(999) 999-9999', '(716) 2-25--6108')).toEqual('7162256108')
  13. })
  14. test('formatMoney functionality', async () => {
  15. // Default arguments implicit and explicit
  16. expect(formatMoney('123456')).toEqual('123,456');
  17. expect(formatMoney('9900900')).toEqual('9,900,900');
  18. expect(formatMoney('5600.40')).toEqual('5,600.40');
  19. expect(formatMoney('123456', '.')).toEqual('123,456');
  20. expect(formatMoney('9900900', '.')).toEqual('9,900,900');
  21. expect(formatMoney('5600.40', '.')).toEqual('5,600.40');
  22. expect(formatMoney('123456', '.', ',')).toEqual('123,456');
  23. expect(formatMoney('9900900', '.', ',')).toEqual('9,900,900');
  24. expect(formatMoney('5600.40', '.', ',')).toEqual('5,600.40');
  25. // Switch decimal separator
  26. expect(formatMoney('123456', ',')).toEqual('123.456');
  27. expect(formatMoney('9900900', ',')).toEqual('9.900.900');
  28. expect(formatMoney('5600.40', ',')).toEqual('5.600,40');
  29. expect(formatMoney('123456', '/')).toEqual('123.456');
  30. expect(formatMoney('9900900', '/')).toEqual('9.900.900');
  31. expect(formatMoney('5600.40', '/')).toEqual('5.600/40');
  32. // Switch thousands separator
  33. expect(formatMoney('123456', '.', ' ')).toEqual('123 456');
  34. expect(formatMoney('9900900', '.', ' ')).toEqual('9 900 900');
  35. expect(formatMoney('5600.40', '.', ' ')).toEqual('5 600.40');
  36. // Switch decimal and thousands separator
  37. expect(formatMoney('123456', '#', ' ')).toEqual('123 456');
  38. expect(formatMoney('9900900', '#', ' ')).toEqual('9 900 900');
  39. expect(formatMoney('5600.40', '#', ' ')).toEqual('5 600#40');
  40. });