| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | var run  = require('./run');var path = require('path');/* jshint quotmark:false */var file1 = path.join(__dirname, 'assets', 'propName.json');var expected1 = ['foo', 'bar'];var file2 = path.join(__dirname, 'assets', 'arrayKey.json');var expected2 = [83, 5, 64, 'grandma'];var file3 = path.join(__dirname, 'assets', 'regexp.json');var expected3 = [500, 2000, true];var file4 = path.join(__dirname, 'assets', 'function.json');var expected4 = [  "200",   [42, { "more": "results" }, 23],  "long",  "200",   [42, { "more": "results" }, 23],  "long"];var file5 = path.join(__dirname, 'assets', 'many.json');var expected5 = [  { "_id":  "change1_0.6995461115147918",    "_rev": "1-e240bae28c7bb3667f02760f6398d508",    "hello": 1 },  { "_id":"change2_0.6995461115147918",    "_rev":"1-13677d36b98c0c075145bb8975105153",    "hello": 2 }];describe('Parse JSON with a path that contains', function() {  run('a property name', file1, expected1, ['name']);  run('a boolean and array key', file2, expected2, [true, true, 2]);  run('a RegExp', file3, expected3, [/^_/]);  run('a function', file4, expected4, [function(key) {    return key.length > 5;  }]);  run('many of the above', file5, expected5, ['rows', true, 'doc']);});
 |