VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /usr/local/lib/node_modules/browserify/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/node_modules/browserify/test/json.js
var browserify = require('../');
var fs = require('fs');
var vm = require('vm');
var semver = require('semver');
var test = require('tap').test;

test('json', function (t) {
    t.plan(2);
    var b = browserify();
    b.add(__dirname + '/json/main.js');
    b.bundle(function (err, src) {
        if (err) t.fail(err);
        var c = {
            ex : function (obj) {
                t.same(obj, { beep : 'boop', x : 555 });
            }
        };
        vm.runInNewContext(src, c);
    });
});

// This works in Node v10 and up thanks to the JSON superset proposal, which
// allows the evil chars in javascript strings.
// https://github.com/tc39/proposal-json-superset
test('verify evil json', { skip: semver.gte(process.version, 'v10.0.0') }, function(t) {
    t.plan(1);
    fs.readFile(__dirname + '/json/evil-chars.json', function(err, data) {
        if (err) t.fail(err);
        t.throws(function() {
            vm.runInNewContext('(' + data.toString() + ')');
        });
    });
});

test('evil json', function (t) {
    t.plan(2);
    var b = browserify();
    b.add(__dirname + '/json/evil.js');
    b.bundle(function (err, src) {
        if (err) t.fail(err);
        var c = {
            ex : function (obj) {
                t.same(obj, { evil : '\u2028\u2029' });
            }
        };
        vm.runInNewContext(src, c);
    });
});

test('invalid json', function (t) {
    var b = browserify();
    t.plan(1);
    b.add(__dirname + '/json/invalid.js');
    b.bundle(function (err, src) {
        t.ok(err);
    });
});

VaKeR 2022