53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const slugs = require('./slugs');
 | |
| 
 | |
| describe('dasherize', () => {
 | |
|   const { dasherize } = slugs;
 | |
|   it('returns a string', () => {
 | |
|     expect(dasherize('')).toBe('');
 | |
|   });
 | |
|   it('converts characters to lower case', () => {
 | |
|     expect(dasherize('UPPERCASE')).toBe('uppercase');
 | |
|   });
 | |
|   it('converts spaces to dashes', () => {
 | |
|     expect(dasherize('the space  between')).toBe('the-space--between');
 | |
|   });
 | |
| 
 | |
|   it('converts dots to dashes', () => {
 | |
|     expect(dasherize('the..dots.. between')).toBe('the--dots---between');
 | |
|   });
 | |
| 
 | |
|   it('trims off surrounding whitespace', () => {
 | |
|     expect(dasherize('  the space  between    ')).toBe('the-space--between');
 | |
|   });
 | |
| 
 | |
|   it('removes everything except letters, numbers and -', () => {
 | |
|     expect(dasherize('1a!"£$%^*()_+=-.b2')).toBe('1a--b2');
 | |
|   });
 | |
| });
 | |
| 
 | |
| describe('nameify', () => {
 | |
|   const { nameify } = slugs;
 | |
|   it('returns a string', () => {
 | |
|     expect(nameify('')).toBe('');
 | |
|   });
 | |
|   it('removes everything except letters, numbers and spaces', () => {
 | |
|     expect(nameify('1A !"£$%^*()_+=-.b  2')).toBe('1A b  2');
 | |
|   });
 | |
| });
 | |
| 
 | |
| describe('unDasherize', () => {
 | |
|   const { unDasherize } = slugs;
 | |
|   it('returns a string', () => {
 | |
|     expect(unDasherize('')).toBe('');
 | |
|   });
 | |
|   it('converts dashes to spaces', () => {
 | |
|     expect(unDasherize('the-space--between')).toBe('the space  between');
 | |
|   });
 | |
|   it('removes everything except letters, numbers and spaces', () => {
 | |
|     expect(unDasherize('1A !"£$%^*()_+=-.b  2')).toBe('1A  b  2');
 | |
|   });
 | |
|   it('trims off surrounding whitespace', () => {
 | |
|     expect(unDasherize('--the-space--between----')).toBe('the space  between');
 | |
|   });
 | |
| });
 |