Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/JSONStream/test/ |
Upload File : |
var test = require('tape'); var fs = require ('fs'); var join = require('path').join; var couch_sample_file = join(__dirname, 'fixtures','couch_sample.json'); var JSONStream = require('../'); var fixture = { obj: { one: 1, two: 2, three: 3 } }; function assertFixtureKeys(stream, t) { var keys = []; var values = []; stream.on('data', function(data) { keys.push(data.key); values.push(data.value); }); stream.on('end', function() { t.deepEqual(keys, ['one', 'two', 'three']); t.deepEqual(values, [1,2,3]); t.end(); }); stream.write(JSON.stringify(fixture)); stream.end(); } test('keys via string', function(t) { var stream = JSONStream.parse('obj.$*'); assertFixtureKeys(stream, t); }); test('keys via array', function(t) { var stream = JSONStream.parse(['obj',{emitKey: true}]); assertFixtureKeys(stream, t); }); test('path via array', function(t) { var stream = JSONStream.parse(['obj',{emitPath: true}]); var paths = []; var values = []; stream.on('data', function(data) { console.log(JSON.stringify(data)); paths.push(data.path); values.push(data.value); }); stream.on('end', function() { t.deepEqual(paths, [['obj', 'one'], ['obj', 'two'], ['obj', 'three']]); t.deepEqual(values, [1,2,3]); t.end(); }); stream.write(JSON.stringify(fixture)); stream.end(); }); test('advanced keys', function(t) { var advanced = fs.readFileSync(couch_sample_file); var stream = JSONStream.parse(['rows', true, 'doc', {emitKey: true}]); var keys = []; var values = []; stream.on('data', function(data) { keys.push(data.key); values.push(data.value); }); stream.on('end', function() { t.deepEqual(keys, [ '_id', '_rev', 'hello', '_id', '_rev', 'hello' ]); t.deepEqual(values, [ "change1_0.6995461115147918", "1-e240bae28c7bb3667f02760f6398d508", 1, "change2_0.6995461115147918", "1-13677d36b98c0c075145bb8975105153", 2 ]); t.end(); }); stream.write(advanced); stream.end(); }); test('parent keys', function(t) { var stream = JSONStream.parse('$*'); var d = null; stream.on('data', function(data) { if(d) t.fail('should only be called once'); d = data; }); stream.on('end', function() { t.deepEqual(d,{ key: 'obj', value: fixture.obj }); t.end(); }); stream.write(JSON.stringify(fixture)); stream.end(); })