UNPKG

1.11 kBJavaScriptView Raw
1var browserify = require('../');
2var fs = require('fs');
3var vm = require('vm');
4var test = require('tap').test;
5
6test('json', function (t) {
7 t.plan(2);
8 var b = browserify();
9 b.add(__dirname + '/json/main.js');
10 b.bundle(function (err, src) {
11 if (err) t.fail(err);
12 var c = {
13 ex : function (obj) {
14 t.same(obj, { beep : 'boop', x : 555 });
15 }
16 };
17 vm.runInNewContext(src, c);
18 });
19});
20
21test('verify evil json', function(t) {
22 t.plan(1);
23 fs.readFile(__dirname + '/json/evil-chars.json', function(err, data) {
24 if (err) t.fail(err);
25 t.throws(function() {
26 vm.runInNewContext('(' + data.toString() + ')');
27 });
28 });
29});
30
31test('evil json', function (t) {
32 t.plan(2);
33 var b = browserify();
34 b.add(__dirname + '/json/evil.js');
35 b.bundle(function (err, src) {
36 if (err) t.fail(err);
37 var c = {
38 ex : function (obj) {
39 t.same(obj, { evil : '\u2028\u2029' });
40 }
41 };
42 vm.runInNewContext(src, c);
43 });
44});