2
0
mirror of https://github.com/tenrok/maska.git synced 2026-05-27 14:45:28 +03:00
Files
maska/test/mask.test.js
T
Alexander Shabunevich 558b1a60d2 Add dynamic mask
2019-12-07 21:44:32 +03:00

123 lines
3.0 KiB
JavaScript

import mask from './../src/mask'
import tokens from './../src/tokens'
test('12 #.#', () => {
expect(mask('12', '#.#', tokens)).toBe('1.2')
})
test('1 (#)', () => {
expect(mask('1', '(#)', tokens)).toBe('(1)')
})
test('1 [(#)]', () => {
expect(mask('1', '[(#)]', tokens)).toBe('[(1)]')
})
test('1 #.#', () => {
expect(mask('1', '#.#', tokens)).toBe('1')
})
test('1. #.#', () => {
expect(mask('1.', '#.#', tokens)).toBe('1.')
})
test('123 #.#', () => {
expect(mask('123', '#.#', tokens)).toBe('1.2')
})
test('Raw phone number', () => {
expect(mask('44998765432', '+55 (##) #####-####', tokens, false)).toBe('44998765432')
})
test('abcd12345 AAA-####', () => {
expect(mask('abcd12345', 'AAA-####', tokens)).toBe('ABC-1234')
})
test('a5-12-34 (XX) - ## - ##', () => {
expect(mask('a5-12-34', '(XX) - ## - ##', tokens)).toBe('(a5) - 12 - 34')
})
test('123 ##(#)', () => {
expect(mask('123', '##(#)', tokens)).toBe('12(3)')
})
test('12 #!#(#)', () => {
expect(mask('12', '#!#(#)', tokens)).toBe('1#(2)')
})
test('12 #!!#', () => {
expect(mask('12', '#!!#', tokens)).toBe('1!2')
})
test('12 +1 #', () => {
expect(mask('12', '+1 #', tokens)).toBe('+1 2')
})
test('2 +1 #', () => {
expect(mask('2', '+1 #', tokens)).toBe('+1 2')
})
test('abc DEF AAA aaa', () => {
expect(mask('abc DEF', 'AAA aaa', tokens)).toBe('ABC def')
})
test('123abc #*', () => {
expect(mask('123abc', '#*', tokens)).toBe('123')
})
test('123abc A*', () => {
expect(mask('123abc', 'A*', tokens)).toBe('ABC')
})
test('123abc #A*', () => {
expect(mask('123abc', '#A*', tokens)).toBe('1ABC')
})
test('123abc ## A*', () => {
expect(mask('123abc', '## A*', tokens)).toBe('12 ABC')
})
test('123abc #*A', () => {
expect(mask('123abc', '#*A', tokens)).toBe('123A')
})
test('123abc #*A*', () => {
expect(mask('123abc', '#*A*', tokens)).toBe('123ABC')
})
test('123 abc DEF 456 -> A* a*', () => {
expect(mask('123 abc DEF 456', 'A* a*', tokens)).toBe('ABC def')
})
test('abc123 A!*', () => {
expect(mask('abc123', 'A!*', tokens)).toBe('A*')
})
test('123abc #!*A*', () => {
expect(mask('123abc', '#!*A*', tokens)).toBe('1*ABC')
})
test('123abc (#*)A*', () => {
expect(mask('123abc', '(#*)A*', tokens)).toBe('(123)ABC')
})
test('123abc -> # (A*)', () => {
expect(mask('123abc', '# (A*)', tokens)).toBe('1 (ABC')
expect(mask('123abc ', '# (A*)', tokens)).toBe('1 (ABC)')
})
test('Raw 123abc ##(A*)', () => {
expect(mask('123abc', '##(A*)', tokens, false)).toBe('12ABC')
})
test('Dynamic floats', () => {
expect(mask('1', '["# cm", "#.# cm", "#.## cm"]', tokens)).toBe('1 cm')
expect(mask('12', '["# cm", "#.# cm", "#.## cm"]', tokens)).toBe('1.2 cm')
expect(mask('123', '["# cm", "#.# cm", "#.## cm"]', tokens)).toBe('1.23 cm')
})
test('Dynamic CPF/CNPJ', () => {
expect(mask('12345678901', '["###.###.###-##", "##.###.###/####-##"]', tokens)).toBe('123.456.789-01')
expect(mask('12345678901234', '["###.###.###-##", "##.###.###/####-##"]', tokens)).toBe('12.345.678/9012-34')
})