add snakeCase
This commit is contained in:
parent
f04a440e58
commit
4dc777616c
4 changed files with 38 additions and 2 deletions
|
@ -13,8 +13,6 @@ The first exercise, `helloWorld` will walk you through the process in more depth
|
||||||
|
|
||||||
## planned exercises (in no particular order for the moment):
|
## planned exercises (in no particular order for the moment):
|
||||||
1. book titles (MC)
|
1. book titles (MC)
|
||||||
1. Palindromes
|
|
||||||
1. Pangrams
|
|
||||||
1. pig latin (MC)
|
1. pig latin (MC)
|
||||||
1. fibonacci
|
1. fibonacci
|
||||||
1. convert to snake case
|
1. convert to snake case
|
10
snakeCase/README.md
Normal file
10
snakeCase/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Exercise XX - snakeCase
|
||||||
|
|
||||||
|
Convert phrases and words into snake case
|
||||||
|
|
||||||
|
> Snake case (or snake\_case) is the practice of writing compound words or phrases in which the elements are separated with one underscore character (\_) and no spaces, with each element's initial letter usually lowercased as in "foo\_bar"
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
snakeCase('Hello, World!') // hello_world
|
||||||
|
snakeCase('snakeCase') // snake_case
|
||||||
|
```
|
5
snakeCase/snakeCase.js
Normal file
5
snakeCase/snakeCase.js
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
var snakeCase = function() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = snakeCase
|
23
snakeCase/snakeCase.spec.js
Normal file
23
snakeCase/snakeCase.spec.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
var snakeCase = require('./snakeCase')
|
||||||
|
|
||||||
|
describe('snakeCase', function() {
|
||||||
|
it('works with simple lowercased phrases', function() {
|
||||||
|
expect(snakeCase('hello world')).toEqual('hello_world');
|
||||||
|
});
|
||||||
|
xit('works with Caps and punctuation', function() {
|
||||||
|
expect(snakeCase('Hello, World???')).toEqual('hello_world');
|
||||||
|
});
|
||||||
|
xit('works with longer phrases', function() {
|
||||||
|
expect(snakeCase('This is the song that never ends....')).toEqual('this_is_the_song_that_never_ends');
|
||||||
|
});
|
||||||
|
xit('works with camel case', function() {
|
||||||
|
expect(snakeCase('snakeCase')).toEqual('snake_case');
|
||||||
|
});
|
||||||
|
xit('works with kebab case', function() {
|
||||||
|
expect(snakeCase('snake-case')).toEqual('snake_case');
|
||||||
|
});
|
||||||
|
xit('works with WTF case', function() {
|
||||||
|
expect(snakeCase('SnAkE..CaSe..Is..AwEsOmE')).toEqual('snake_case_is_awesome');
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
Loading…
Reference in a new issue