| /** |
| * |
| * 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() |
| ) |