react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / request / node_modules / hawk / node_modules / hoek / test / escaper.js
81154 views// Load modules12var Code = require('code');3var Hoek = require('../lib');4var Lab = require('lab');567// Declare internals89var internals = {};101112// Test shortcuts1314var lab = exports.lab = Lab.script();15var describe = lab.experiment;16var it = lab.test;17var expect = Code.expect;181920describe('escapeJavaScript()', function () {2122it('encodes / characters', function (done) {2324var encoded = Hoek.escapeJavaScript('<script>alert(1)</script>');25expect(encoded).to.equal('\\x3cscript\\x3ealert\\x281\\x29\\x3c\\x2fscript\\x3e');26done();27});2829it('encodes \' characters', function (done) {3031var encoded = Hoek.escapeJavaScript('something(\'param\')');32expect(encoded).to.equal('something\\x28\\x27param\\x27\\x29');33done();34});3536it('encodes large unicode characters with the correct padding', function (done) {3738var encoded = Hoek.escapeJavaScript(String.fromCharCode(500) + String.fromCharCode(1000));39expect(encoded).to.equal('\\u0500\\u1000');40done();41});4243it('doesn\'t throw an exception when passed null', function (done) {4445var encoded = Hoek.escapeJavaScript(null);46expect(encoded).to.equal('');47done();48});49});5051describe('escapeHtml()', function () {5253it('encodes / characters', function (done) {5455var encoded = Hoek.escapeHtml('<script>alert(1)</script>');56expect(encoded).to.equal('<script>alert(1)</script>');57done();58});5960it('encodes < and > as named characters', function (done) {6162var encoded = Hoek.escapeHtml('<script><>');63expect(encoded).to.equal('<script><>');64done();65});6667it('encodes large unicode characters', function (done) {6869var encoded = Hoek.escapeHtml(String.fromCharCode(500) + String.fromCharCode(1000));70expect(encoded).to.equal('ǴϨ');71done();72});7374it('doesn\'t throw an exception when passed null', function (done) {7576var encoded = Hoek.escapeHtml(null);77expect(encoded).to.equal('');78done();79});8081it('encodes {} characters', function (done) {8283var encoded = Hoek.escapeHtml('{}');84expect(encoded).to.equal('{}');85done();86});87});888990