blob: e7277454435200078e6129c0d9aece727a14e110 [file] [log] [blame]
/**
*
* Copyright (c) 2020 Silicon Labs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*
* @jest-environment node
*/
const string = require('../src-electron/util/string')
const { timeout } = require('./test-util')
test(
'Clean symbol',
() => {
expect(string.toCleanSymbol('a b c')).toEqual('a_b_c')
expect(string.toCleanSymbol('a:b-c')).toEqual('a_b_c')
expect(string.toCleanSymbol('a____:___c')).toEqual('a_c')
},
timeout.short()
)
test(
'Snake case',
() => {
expect(string.toSnakeCaseAllCaps('VerySimpleLabel')).toEqual(
'VERY_SIMPLE_LABEL'
)
expect(string.toSnakeCase('My-String')).toEqual('my_string')
},
timeout.short()
)
test(
'Camel case',
() => {
expect(string.toCamelCase('some random string')).toEqual('someRandomString')
expect(string.toCamelCase('some random string', false)).toEqual(
'SomeRandomString'
)
expect(string.toCamelCase('ZLL Commissioning')).toEqual('zllCommissioning')
expect(string.toCamelCase('AddGroup')).toEqual('addGroup')
expect(string.toCamelCase('AddGroup', false)).toEqual('AddGroup')
expect(string.toCamelCase('long string with an ACRONYM inside')).toEqual(
'longStringWithAnAcronymInside'
)
expect(string.toCamelCase('longStringWithAnAcronymInside')).toEqual(
'longStringWithAnAcronymInside'
)
},
timeout.short()
)
test(
'Kebab case',
() => {
expect(string.toCleanSymbolAsKebabCase('Very Simple:Label')).toEqual(
'very-simple-label'
)
},
timeout.short()
)
test(
'asCamelCase',
() => {
expect(string.tokensIntoCamelCase('foo')).toEqual('Foo')
expect(string.tokensIntoCamelCase('foo', /* firstLower = */ true)).toEqual(
'foo'
)
expect(string.tokensIntoCamelCase('foo bar')).toEqual('FooBar')
expect(
string.tokensIntoCamelCase('foo bar', /* firstLower = */ true)
).toEqual('fooBar')
expect(string.tokensIntoCamelCase('Some 1.2.3 Test')).toEqual('Some123Test')
expect(
string.tokensIntoCamelCase('Some 1.2.3 Test', /* firstLower = */ true)
).toEqual('some123Test')
expect(string.tokensIntoCamelCase('some ACR here')).toEqual('SomeAcrHere')
expect(
string.tokensIntoCamelCase(
'some ACR here',
/* firstLower = */ false,
/* preserveAcronyms = */ false
)
).toEqual('SomeAcrHere')
expect(
string.tokensIntoCamelCase(
'some ACR here',
/* firstLower = */ true,
/* preserveAcronyms = */ true
)
).toEqual('someACRHere')
},
timeout.short()
)