aiparking_api/node_modules/ow-lite/test/string.js
2020-02-02 15:24:30 +07:00

83 lines
2.6 KiB
JavaScript

import test from 'ava'
import m from '..'
test('string', t => {
t.notThrows(() => m('foo', m.string))
t.notThrows(() => m('foo', m.string))
t.throws(() => m(12, m.string))
t.throws(() => m(12, m.string))
})
test('string.length', t => {
t.notThrows(() => m('foo', m.string.length(3)))
t.notThrows(() => m('foobar', m.string.length(6)))
t.notThrows(() => m('bar', m.string.length(3)))
t.notThrows(() => m('bar', m.string.length(3)))
t.throws(() => m('foo', m.string.length(4)))
t.throws(() => m('foo', m.string.length(4)))
t.throws(() => m('foo', m.string.length(4)))
})
test('string.minLength', t => {
t.notThrows(() => m('foo', m.string.minLength(2)))
t.notThrows(() => m('foo', m.string.minLength(3)))
t.throws(() => m('foo', m.string.minLength(4)))
})
test('string.maxLength', t => {
t.notThrows(() => m('foo', m.string.maxLength(3)))
t.notThrows(() => m('foo', m.string.maxLength(5)))
t.throws(() => m('foo', m.string.maxLength(2)))
})
test('string.matches', t => {
t.notThrows(() => m('foo', m.string.matches(/^f.o$/)))
t.notThrows(() => m('Foo', m.string.matches(/^f.o$/i)))
t.throws(() => m('Foo', m.string.matches(/^f.o$/)))
t.throws(() => m('bar', m.string.matches(/^f.o$/i)))
})
test('string.startsWith', t => {
t.notThrows(() => m('foo', m.string.startsWith('fo')))
t.notThrows(() => m('foo', m.string.startsWith('f')))
t.throws(() => m('foo', m.string.startsWith('oo')))
t.throws(() => m('foo', m.string.startsWith('b')))
})
test('string.endsWith', t => {
t.notThrows(() => m('foo', m.string.endsWith('oo')))
t.notThrows(() => m('foo', m.string.endsWith('o')))
t.throws(() => m('foo', m.string.endsWith('fo')))
t.throws(() => m('foo', m.string.endsWith('ar')))
})
test('string.empty', t => {
t.notThrows(() => m('', m.string.empty))
t.throws(() => m('foo', m.string.empty))
})
test('string.nonEmpty', t => {
t.notThrows(() => m('foo', m.string.nonEmpty))
t.throws(() => m('', m.string.nonEmpty))
})
test('string.eq', t => {
t.notThrows(() => m('foo', m.string.eq('foo')))
t.throws(() => m('bar', m.string.eq('foo')))
})
/*
test('string.includes', t => {
t.notThrows(() => m('foo', m.string.includes('fo')))
t.throws(() => m('foo', m.string.includes('bar')))
})
test('string.oneOf', t => {
t.notThrows(() => m('foo', m.string.oneOf(['foo', 'bar'])))
t.throws(() => m('foo', m.string.oneOf(['unicorn', 'rainbow'])))
t.throws(() => m('foo', m.string.oneOf(['unicorn', 'rainbow'])))
t.throws(() => m('foo', m.string.oneOf(['a', 'b', 'c', 'd', 'e'])))
t.throws(() => m('foo', m.string.oneOf(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13'])))
})
*/