2
0
mirror of https://github.com/tenrok/maska.git synced 2026-06-20 20:00:34 +03:00

refactor: move to single package

This commit is contained in:
Alexander Shabunevich
2024-06-02 14:32:46 +03:00
parent 548d4e224b
commit 9b454e996a
80 changed files with 893 additions and 1423 deletions
+159
View File
@@ -0,0 +1,159 @@
import { expect, test } from 'vitest'
import { Mask } from '../src/mask'
test('default number settings', () => {
const mask = new Mask({ number: {} })
expect(mask.masked('0')).toBe('0')
expect(mask.masked('00')).toBe('0')
expect(mask.masked('01')).toBe('1')
expect(mask.masked('1a')).toBe('1')
expect(mask.masked('12')).toBe('12')
expect(mask.masked('123')).toBe('123')
expect(mask.masked('1234')).toBe('1,234')
expect(mask.masked('12345')).toBe('12,345')
expect(mask.masked('123456')).toBe('123,456')
expect(mask.masked('1234567')).toBe('1,234,567')
expect(mask.masked('1234567.')).toBe('1,234,567')
expect(mask.masked('1234567.1')).toBe('1,234,567')
expect(mask.masked('-1234')).toBe('-1,234')
expect(mask.masked('--1234')).toBe('-1,234')
})
test('default number unmasked', () => {
const mask = new Mask({ number: {} })
expect(mask.unmasked('0')).toBe('0')
expect(mask.unmasked('00')).toBe('0')
expect(mask.unmasked('01')).toBe('1')
expect(mask.unmasked('1a')).toBe('1')
expect(mask.unmasked('12')).toBe('12')
expect(mask.unmasked('123')).toBe('123')
expect(mask.unmasked('1234')).toBe('1234')
expect(mask.unmasked('12345')).toBe('12345')
expect(mask.unmasked('123456')).toBe('123456')
expect(mask.unmasked('1234567')).toBe('1234567')
expect(mask.unmasked('1234567.')).toBe('1234567')
expect(mask.unmasked('1234567.1')).toBe('1234567')
expect(mask.unmasked('-1234')).toBe('-1234')
expect(mask.unmasked('--1234')).toBe('-1234')
})
test('fraction number', () => {
const mask = new Mask({ number: { fraction: 2 } })
expect(mask.masked('0')).toBe('0')
expect(mask.masked('1a')).toBe('1')
expect(mask.masked('12')).toBe('12')
expect(mask.masked('123')).toBe('123')
expect(mask.masked('1234')).toBe('1,234')
expect(mask.masked('1234567.')).toBe('1,234,567.')
expect(mask.masked('1234567..')).toBe('1,234,567.')
expect(mask.masked('1234567.1')).toBe('1,234,567.1')
expect(mask.masked('1234567.10')).toBe('1,234,567.10')
expect(mask.masked('1234567.109')).toBe('1,234,567.10')
expect(mask.masked('1234567.0')).toBe('1,234,567.0')
expect(mask.masked('1234567.01')).toBe('1,234,567.01')
expect(mask.masked('1234567.019')).toBe('1,234,567.01')
expect(mask.masked('1234567.1.')).toBe('1,234,567.1')
expect(mask.masked('1234567.1.2')).toBe('1,234,567.1')
})
test('fraction number unmasked', () => {
const mask = new Mask({ number: { fraction: 2 } })
expect(mask.unmasked('0')).toBe('0')
expect(mask.unmasked('1a')).toBe('1')
expect(mask.unmasked('12')).toBe('12')
expect(mask.unmasked('123')).toBe('123')
expect(mask.unmasked('1234')).toBe('1234')
expect(mask.unmasked('1234567.')).toBe('1234567')
expect(mask.unmasked('1234567..')).toBe('1234567')
expect(mask.unmasked('1234567.1')).toBe('1234567.1')
expect(mask.unmasked('1234567.10')).toBe('1234567.10')
expect(mask.unmasked('1234567.109')).toBe('1234567.10')
expect(mask.unmasked('1234567.0')).toBe('1234567.0')
expect(mask.unmasked('1234567.01')).toBe('1234567.01')
expect(mask.unmasked('1234567.019')).toBe('1234567.01')
expect(mask.unmasked('1234567.1.')).toBe('1234567.1')
expect(mask.unmasked('1234567.1.2')).toBe('1234567.1')
})
test('unsigned number', () => {
const mask = new Mask({ number: { unsigned: true } })
expect(mask.masked('1')).toBe('1')
expect(mask.masked('-1')).toBe('1')
expect(mask.masked('--1')).toBe('1')
})
test('russian number', () => {
const mask = new Mask({ number: { locale: 'ru', fraction: 2 } })
expect(mask.masked('1a')).toBe('1')
expect(mask.masked('12')).toBe('12')
expect(mask.masked('123')).toBe('123')
expect(mask.masked('1234')).toBe('1 234')
expect(mask.masked('12345')).toBe('12 345')
expect(mask.masked('123456')).toBe('123 456')
expect(mask.masked('1234567')).toBe('1 234 567')
expect(mask.masked('1234567.')).toBe('1 234 567,')
expect(mask.masked('1234567..')).toBe('1 234 567,')
expect(mask.masked('1234567.1')).toBe('1 234 567,1')
expect(mask.masked('1234567.10')).toBe('1 234 567,10')
expect(mask.masked('1234567.109')).toBe('1 234 567,10')
expect(mask.masked('1234567.0')).toBe('1 234 567,0')
expect(mask.masked('1234567.01')).toBe('1 234 567,01')
expect(mask.masked('1234567.019')).toBe('1 234 567,01')
expect(mask.masked('1234567.1.')).toBe('1 234 567,1')
expect(mask.masked('1234567.1.2')).toBe('1 234 567,1')
expect(mask.masked('-1234')).toBe('-1 234')
expect(mask.masked('--1234')).toBe('-1 234')
})
test('russian unmasked number', () => {
const mask = new Mask({ number: { locale: 'ru', fraction: 2 } })
expect(mask.unmasked('1a')).toBe('1')
expect(mask.unmasked('12')).toBe('12')
expect(mask.unmasked('123')).toBe('123')
expect(mask.unmasked('1234')).toBe('1234')
expect(mask.unmasked('12345')).toBe('12345')
expect(mask.unmasked('123456')).toBe('123456')
expect(mask.unmasked('1234567')).toBe('1234567')
expect(mask.unmasked('1234567.')).toBe('1234567')
expect(mask.unmasked('1234567..')).toBe('1234567')
expect(mask.unmasked('1234567.1')).toBe('1234567.1')
expect(mask.unmasked('1234567.10')).toBe('1234567.10')
expect(mask.unmasked('1234567.109')).toBe('1234567.10')
expect(mask.unmasked('1234567.0')).toBe('1234567.0')
expect(mask.unmasked('1234567.01')).toBe('1234567.01')
expect(mask.unmasked('1234567.019')).toBe('1234567.01')
expect(mask.unmasked('1234567.1.')).toBe('1234567.1')
expect(mask.unmasked('1234567.1.2')).toBe('1234567.1')
expect(mask.unmasked('-1234')).toBe('-1234')
expect(mask.unmasked('--1234')).toBe('-1234')
})
test('initial number', () => {
const mask = new Mask({ number: { fraction: 2 } })
expect(mask.masked('1234.56')).toBe('1,234.56')
expect(mask.masked('1234,56')).toBe('123,456')
expect(mask.masked('1,234.56')).toBe('1,234.56')
expect(mask.masked('1 234,56')).toBe('123,456')
expect(mask.masked('1 234.56')).toBe('1,234.56')
expect(mask.masked('1 234.56')).toBe('1,234.56')
})
test('initial russian number', () => {
const mask = new Mask({ number: { locale: 'ru', fraction: 2 } })
expect(mask.masked('1234.56')).toBe('1 234,56')
expect(mask.masked('1234,56')).toBe('1 234,56')
expect(mask.masked('1,234.56')).toBe('1,23')
expect(mask.masked('1 234,56')).toBe('1 234,56')
expect(mask.masked('1 234.56')).toBe('1 234,56')
expect(mask.masked('1 234.56')).toBe('1 234,56')
})