You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							49 lines
						
					
					
						
							857 B
						
					
					
				
			
		
		
	
	
							49 lines
						
					
					
						
							857 B
						
					
					
				| 'use strict';
 | |
| 
 | |
| var test = require('tape');
 | |
| var camelize = require('../');
 | |
| 
 | |
| var obj = {
 | |
| 	fee_fie_foe: 'fum',
 | |
| 	beep_boop: [
 | |
| 		{ 'abc.xyz': 'mno' },
 | |
| 		{ 'foo-bar': 'baz' }
 | |
| 	]
 | |
| };
 | |
| 
 | |
| test('camelize a nested object', function (t) {
 | |
| 	t.plan(1);
 | |
| 	var res = camelize(obj);
 | |
| 	t.deepEqual(res, {
 | |
| 		feeFieFoe: 'fum',
 | |
| 		beepBoop: [
 | |
| 			{ abcXyz: 'mno' },
 | |
| 			{ fooBar: 'baz' }
 | |
| 		]
 | |
| 	});
 | |
| });
 | |
| 
 | |
| test('string', function (t) {
 | |
| 	t.plan(1);
 | |
| 	t.equal(camelize('one_two'), 'oneTwo');
 | |
| });
 | |
| 
 | |
| test('date', function (t) {
 | |
| 	t.plan(1);
 | |
| 	var d = new Date();
 | |
| 	t.equal(camelize(d), d);
 | |
| });
 | |
| 
 | |
| test('regex', function (t) {
 | |
| 	t.plan(1);
 | |
| 	var r = /1234/;
 | |
| 	t.equal(camelize(r), r);
 | |
| });
 | |
| 
 | |
| test('only camelize strings that are the root value', function (t) {
 | |
| 	t.plan(2);
 | |
| 	t.equal(camelize('foo-bar'), 'fooBar');
 | |
| 	var res = camelize({ 'foo-bar': 'baz-foo' });
 | |
| 	t.deepEqual(res, { fooBar: 'baz-foo' });
 | |
| });
 |