2019-01-29 19:23:42 +00:00
|
|
|
import {
|
|
|
|
encodeHtml, isString, isNonEmptyString,
|
|
|
|
isPureObject, isUrl, urlJoin, wrapArray, stripWhitespace
|
|
|
|
} from '../src/lang'
|
|
|
|
|
|
|
|
describe('util: lang', () => {
|
|
|
|
test('should check if given argument is string', () => {
|
|
|
|
expect(isString('str')).toEqual(true)
|
|
|
|
expect(isString(String(100))).toEqual(true)
|
|
|
|
expect(isString(100)).toEqual(false)
|
|
|
|
expect(isString([])).toEqual(false)
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should check if given argument is empty string', () => {
|
|
|
|
expect(isNonEmptyString('str')).toEqual(true)
|
|
|
|
expect(isNonEmptyString([])).toEqual(false)
|
|
|
|
expect(isNonEmptyString('')).toEqual(false)
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should check if given argument is pure object', () => {
|
|
|
|
expect(isPureObject({})).toEqual(true)
|
|
|
|
expect(isPureObject([])).toEqual(false)
|
|
|
|
expect(isPureObject(Number('1'))).toEqual(false)
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should check if given argument is url', () => {
|
|
|
|
expect(isUrl('http://localhost')).toEqual(true)
|
|
|
|
expect(isUrl('https://localhost')).toEqual(true)
|
|
|
|
expect(isUrl('//localhost')).toEqual(true)
|
|
|
|
expect(isUrl('localhost')).toEqual(false)
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should wrap given argument with array', () => {
|
2019-11-26 22:42:39 +00:00
|
|
|
expect(wrapArray(['array'])).toEqual(['array'])
|
|
|
|
expect(wrapArray('str')).toEqual(['str'])
|
2019-01-29 19:23:42 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
test('should strip white spaces in given argument', () => {
|
|
|
|
expect(stripWhitespace('foo')).toEqual('foo')
|
|
|
|
expect(stripWhitespace('foo\t\r\f\n')).toEqual('foo\n')
|
|
|
|
expect(stripWhitespace('foo{\n\n\n')).toEqual('foo{\n')
|
|
|
|
expect(stripWhitespace('\n\n\n\f\r\f}')).toEqual('\n\f\r\f}')
|
|
|
|
expect(stripWhitespace('foo\n\n\nbar')).toEqual('foo\n\nbar')
|
|
|
|
expect(stripWhitespace('foo\n\n\n')).toEqual('foo\n')
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should encode html', () => {
|
|
|
|
const html = '<h1>Hello</h1>'
|
|
|
|
expect(encodeHtml(html)).toEqual('<h1>Hello</h1>')
|
|
|
|
})
|
|
|
|
|
|
|
|
test('should join url', () => {
|
|
|
|
expect(urlJoin('test', '/about')).toEqual('test/about')
|
|
|
|
})
|
|
|
|
})
|