MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 40 lines 1.2 kB view raw
1import { test, testDeep, summary } from './helpers.js'; 2 3console.log('For-In Enumeration Tests\n'); 4 5var strPrim = 'abc'; 6var strPrimKeys = []; 7for (var k in strPrim) strPrimKeys.push(k); 8testDeep('string primitive for-in keys', strPrimKeys, ['0', '1', '2']); 9test('string primitive length', strPrim.length, 3); 10 11var strObj = new String('abc'); 12var strObjKeys = []; 13for (var k in strObj) strObjKeys.push(k); 14testDeep('String object for-in keys', strObjKeys, ['0', '1', '2']); 15test('String object length', strObj.length, 3); 16 17var sparse = []; 18sparse[5] = 'hello'; 19test('sparse array length', sparse.length, 6); 20var sparseKeys = []; 21for (var k in sparse) sparseKeys.push(k); 22testDeep('sparse array for-in keys', sparseKeys, ['5']); 23 24var arr = [10, 20, 30]; 25var arrKeys = []; 26for (var k in arr) arrKeys.push(k); 27testDeep('array for-in keys', arrKeys, ['0', '1', '2']); 28 29var obj = { a: 1, b: 2, c: 3 }; 30var objKeys = []; 31for (var k in obj) objKeys.push(k); 32testDeep('object for-in keys', objKeys, ['a', 'b', 'c']); 33 34var arrWithProps = [1, 2]; 35arrWithProps.foo = 'bar'; 36var arrPropsKeys = []; 37for (var k in arrWithProps) arrPropsKeys.push(k); 38testDeep('array with properties for-in keys', arrPropsKeys, ['0', '1', 'foo']); 39 40summary();