1 | var Lab = require('lab');
|
2 | var VM = require('../lib/vm');
|
3 | var assert = require('chai').assert;
|
4 |
|
5 | var lab = exports.lab = Lab.script();
|
6 |
|
7 | lab.experiment('VM', function() {
|
8 |
|
9 | var vm = new VM();
|
10 |
|
11 | lab.test('.rejectEmpty()', function(done) {
|
12 | assert.deepEqual(
|
13 | vm.rejectEmpty(['a', null, 'b', '', 'c']),
|
14 | ['a', 'b', 'c']
|
15 | );
|
16 | done();
|
17 | });
|
18 |
|
19 | lab.test('.flatten()', function(done) {
|
20 | assert.deepEqual(
|
21 | vm.flatten([1, [2, 3], [4, [5, [6, 7]]]]),
|
22 | ['1', '2', '3', '4', '5', '6', '7']
|
23 | );
|
24 |
|
25 | assert.deepEqual(
|
26 | vm.flatten([1, 2, [3], [4, [5, 6], 7], [8, 9]]),
|
27 | ['1', '2', '3', '4', '5', '6', '7', '8', '9']
|
28 | );
|
29 |
|
30 | assert.deepEqual(
|
31 | vm.flatten([1, 2, [], [3, [4, 5, []], 6]]),
|
32 | ['1', '2', '3', '4', '5', '6']
|
33 | );
|
34 | done();
|
35 | });
|
36 |
|
37 | lab.test('.escape()', function(done) {
|
38 | assert.deepEqual(vm.escape(), '');
|
39 | assert.deepEqual(vm.escape(null), '');
|
40 | assert.deepEqual(vm.escape(' '), ' ');
|
41 | assert.deepEqual(vm.escape('<'), '<');
|
42 | assert.deepEqual(vm.escape('>'), '>');
|
43 | assert.deepEqual(vm.escape('"'), '"');
|
44 | assert.deepEqual(vm.escape('&'), '&');
|
45 | assert.deepEqual(vm.escape('<javascript>alert("alert!")</javascript>'), '<javascript>alert("alert!")</javascript>');
|
46 |
|
47 | done();
|
48 | });
|
49 |
|
50 | lab.test('.safe()', function(done) {
|
51 | assert.deepEqual(vm.escape(vm.safe('<javascript>alert("alert!")</javascript>')), '<javascript>alert("alert!")</javascript>');
|
52 | assert.deepEqual(vm.escape(vm.safe('')), '');
|
53 | assert.deepEqual(vm.escape(vm.safe()), '');
|
54 | assert.deepEqual(vm.escape(vm.safe(null)), '');
|
55 |
|
56 | done();
|
57 | });
|
58 | });
|