mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 01:18:23 +08:00
chore: merge "Add tests for snake case algorithm" (#708)
* feat: adjust function name and use ES6 export * feat: add test for SnakeCase Co-authored-by: Alexandre VU <alexandre.vu@montreal.ca>
This commit is contained in:
@ -3,18 +3,18 @@
|
|||||||
// Problem Source & Explanation: https://en.wikipedia.org/wiki/Naming_convention_(programming)
|
// Problem Source & Explanation: https://en.wikipedia.org/wiki/Naming_convention_(programming)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckSnakeCase method returns true if the string in snake_case, else return the false.
|
* checkSnakeCase method returns true if the string in snake_case, else return the false.
|
||||||
* @param {String} varName the name of the variable to check.
|
* @param {String} varName the name of the variable to check.
|
||||||
* @returns `Boolean` return true if the string is in snake_case, else return false.
|
* @returns `Boolean` return true if the string is in snake_case, else return false.
|
||||||
*/
|
*/
|
||||||
const CheckSnakeCase = (varName) => {
|
const checkSnakeCase = (varName) => {
|
||||||
// firstly, check that input is a string or not.
|
// firstly, check that input is a string or not.
|
||||||
if (typeof varName !== 'string') {
|
if (typeof varName !== 'string') {
|
||||||
return new TypeError('Argument is not a string.')
|
throw new TypeError('Argument is not a string.')
|
||||||
}
|
}
|
||||||
|
|
||||||
const pat = /(.*?)_([a-zA-Z])*/
|
const pat = /(.*?)_([a-zA-Z])*/
|
||||||
return pat.test(varName)
|
return pat.test(varName)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = CheckSnakeCase
|
export { checkSnakeCase }
|
||||||
|
18
String/test/CheckSnakeCase.test.js
Normal file
18
String/test/CheckSnakeCase.test.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { checkSnakeCase } from '../CheckSnakeCase'
|
||||||
|
describe('checkSnakeCase', () => {
|
||||||
|
it('expect to throw an error if input is not a string', () => {
|
||||||
|
expect(() => checkSnakeCase(0)).toThrow()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('expects to return true if the input is in snake case format', () => {
|
||||||
|
const value = 'docker_build'
|
||||||
|
const result = checkSnakeCase(value)
|
||||||
|
expect(result).toBe(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('expects to return false if the input is not in snake case format', () => {
|
||||||
|
const value = 'dockerBuild'
|
||||||
|
const result = checkSnakeCase(value)
|
||||||
|
expect(result).toBe(false)
|
||||||
|
})
|
||||||
|
})
|
Reference in New Issue
Block a user