all files / test/base/module/ Codeview.spec.js

100% Statements 35/35
100% Branches 0/0
100% Functions 7/7
100% Lines 34/34
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48                            
(function(global){global.wrappers['/Users/lqez/Dev/summernote/test/base/module/Codeview.spec.js']=[function(require,module,exports,__dirname,__filename){ "use strict";
exports.__esModule = true;
/**
 * Codeview.spec.js
 * (c) 2015~ Summernote Team
 * summernote may be freely distributed under the MIT license./
 */
var chai_1 = require("chai");
var jquery_1 = require("jquery");
var Context_1 = require("../../../src/js/base/Context");
var Codeview_1 = require("../../../src/js/base/module/Codeview");
require("../../../src/js/bs4/settings");
describe('Codeview', function () {
    var expect = chai_1["default"].expect;
    var options, codeview, context;
    beforeEach(function () {
        options = jquery_1["default"].extend({}, jquery_1["default"].summernote.options);
        options.codeviewFilter = true;
        context = new Context_1["default"](jquery_1["default"]('<div><p>hello</p></div>'), options);
        codeview = new Codeview_1["default"](context);
    });
    it('should toggle codeview mode', function () {
        expect(codeview.isActivated()).to.be["false"];
        codeview.toggle();
        expect(codeview.isActivated()).to.be["true"];
        codeview.toggle();
        expect(codeview.isActivated()).to.be["false"];
    });
    it('should purify malicious codes', function () {
        expect(codeview.purify('<script>alert("summernote");</script>')).to.equalsIgnoreCase('alert("summernote");');
        expect(codeview.purify('<iframe frameborder="0" src="//www.youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip"></iframe>')).to.equalsIgnoreCase('<iframe frameborder="0" src="//www.youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip"></iframe>');
        expect(codeview.purify('<iframe frameborder="0" src="//www.fake-youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip">')).to.equalsIgnoreCase('');
        expect(codeview.purify('<iframe frameborder="0" src="//www.youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip"  src  =  "//www.fake-youtube.com/embed/CXgsA98krxA"/>')).to.equalsIgnoreCase('');
    });
    it('should purify can be customized', function () {
        codeview.options = options;
        codeview.options.codeviewIframeFilter = false;
        expect(codeview.purify('<iframe frameborder="0" src="//www.fake-youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip">')).to.equalsIgnoreCase('<iframe frameborder="0" src="//www.fake-youtube.com/embed/CXgsA98krxA" width="640" height="360" class="note-video-clip">');
        codeview.options = options;
        codeview.options.codeviewFilterRegex = /\d+/;
        expect(codeview.purify('<script>alert("summernote");</script>')).to.equalsIgnoreCase('<script>alert("summernote");</script>');
        expect(codeview.purify('<span>Tel: 012345678</span>')).to.equalsIgnoreCase('<span>Tel: </span>');
    });
});
 
},'test/base/module/Codeview.spec.js',{"chai":"/Users/lqez/Dev/summernote/node_modules/chai/index.js","jquery":"/Users/lqez/Dev/summernote/node_modules/jquery/dist/jquery.js","../../../src/js/base/Context":"/Users/lqez/Dev/summernote/src/js/base/Context.js","../../../src/js/base/module/Codeview":"/Users/lqez/Dev/summernote/src/js/base/module/Codeview.js","../../../src/js/bs4/settings":"/Users/lqez/Dev/summernote/src/js/bs4/settings.js"}];})(this);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZXZpZXcuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNvZGV2aWV3LnNwZWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7OztHQUlHO0FBQ0gsNkJBQXdCO0FBQ3hCLGlDQUF1QjtBQUN2Qix3REFBbUQ7QUFDbkQsaUVBQTREO0FBQzVELHdDQUFzQztBQUV0QyxRQUFRLENBQUMsVUFBVSxFQUFFO0lBQ25CLElBQUksTUFBTSxHQUFHLGlCQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3pCLElBQUksT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7SUFFL0IsVUFBVSxDQUFDO1FBQ1QsT0FBTyxHQUFHLG1CQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxtQkFBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM5QixPQUFPLEdBQUcsSUFBSSxvQkFBTyxDQUFDLG1CQUFDLENBQUMseUJBQXlCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RCxRQUFRLEdBQUcsSUFBSSxxQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1FBQ2hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQUssQ0FBQSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFJLENBQUEsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBSyxDQUFBLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUU7UUFDbEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDbEYsc0JBQXNCLENBQ3ZCLENBQUM7UUFDRixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyw4SEFBOEgsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUN6Syw4SEFBOEgsQ0FDL0gsQ0FBQztRQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLDBIQUEwSCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQ3JLLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsMEtBQTBLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDck4sRUFBRSxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtRQUNwQyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQixRQUFRLENBQUMsT0FBTyxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQywwSEFBMEgsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUNySywwSEFBMEgsQ0FDM0gsQ0FBQztRQUNGLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQ2xGLHVDQUF1QyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDeEUsb0JBQW9CLENBQ3JCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb2Rldmlldy5zcGVjLmpzXG4gKiAoYykgMjAxNX4gU3VtbWVybm90ZSBUZWFtXG4gKiBzdW1tZXJub3RlIG1heSBiZSBmcmVlbHkgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLi9cbiAqL1xuaW1wb3J0IGNoYWkgZnJvbSAnY2hhaSc7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IENvbnRleHQgZnJvbSAnLi4vLi4vLi4vc3JjL2pzL2Jhc2UvQ29udGV4dCc7XG5pbXBvcnQgQ29kZXZpZXcgZnJvbSAnLi4vLi4vLi4vc3JjL2pzL2Jhc2UvbW9kdWxlL0NvZGV2aWV3JztcbmltcG9ydCAnLi4vLi4vLi4vc3JjL2pzL2JzNC9zZXR0aW5ncyc7XG5cbmRlc2NyaWJlKCdDb2RldmlldycsICgpID0+IHtcbiAgdmFyIGV4cGVjdCA9IGNoYWkuZXhwZWN0O1xuICB2YXIgb3B0aW9ucywgY29kZXZpZXcsIGNvbnRleHQ7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLnN1bW1lcm5vdGUub3B0aW9ucyk7XG4gICAgb3B0aW9ucy5jb2Rldmlld0ZpbHRlciA9IHRydWU7XG4gICAgY29udGV4dCA9IG5ldyBDb250ZXh0KCQoJzxkaXY+PHA+aGVsbG88L3A+PC9kaXY+JyksIG9wdGlvbnMpO1xuICAgIGNvZGV2aWV3ID0gbmV3IENvZGV2aWV3KGNvbnRleHQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRvZ2dsZSBjb2RldmlldyBtb2RlJywgKCkgPT4ge1xuICAgIGV4cGVjdChjb2Rldmlldy5pc0FjdGl2YXRlZCgpKS50by5iZS5mYWxzZTtcbiAgICBjb2Rldmlldy50b2dnbGUoKTtcbiAgICBleHBlY3QoY29kZXZpZXcuaXNBY3RpdmF0ZWQoKSkudG8uYmUudHJ1ZTtcbiAgICBjb2Rldmlldy50b2dnbGUoKTtcbiAgICBleHBlY3QoY29kZXZpZXcuaXNBY3RpdmF0ZWQoKSkudG8uYmUuZmFsc2U7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHVyaWZ5IG1hbGljaW91cyBjb2RlcycsICgpID0+IHtcbiAgICBleHBlY3QoY29kZXZpZXcucHVyaWZ5KCc8c2NyaXB0PmFsZXJ0KFwic3VtbWVybm90ZVwiKTs8L3NjcmlwdD4nKSkudG8uZXF1YWxzSWdub3JlQ2FzZShcbiAgICAgICdhbGVydChcInN1bW1lcm5vdGVcIik7J1xuICAgICk7XG4gICAgZXhwZWN0KGNvZGV2aWV3LnB1cmlmeSgnPGlmcmFtZSBmcmFtZWJvcmRlcj1cIjBcIiBzcmM9XCIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9DWGdzQTk4a3J4QVwiIHdpZHRoPVwiNjQwXCIgaGVpZ2h0PVwiMzYwXCIgY2xhc3M9XCJub3RlLXZpZGVvLWNsaXBcIj48L2lmcmFtZT4nKSkudG8uZXF1YWxzSWdub3JlQ2FzZShcbiAgICAgICc8aWZyYW1lIGZyYW1lYm9yZGVyPVwiMFwiIHNyYz1cIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0NYZ3NBOThrcnhBXCIgd2lkdGg9XCI2NDBcIiBoZWlnaHQ9XCIzNjBcIiBjbGFzcz1cIm5vdGUtdmlkZW8tY2xpcFwiPjwvaWZyYW1lPidcbiAgICApO1xuICAgIGV4cGVjdChjb2Rldmlldy5wdXJpZnkoJzxpZnJhbWUgZnJhbWVib3JkZXI9XCIwXCIgc3JjPVwiLy93d3cuZmFrZS15b3V0dWJlLmNvbS9lbWJlZC9DWGdzQTk4a3J4QVwiIHdpZHRoPVwiNjQwXCIgaGVpZ2h0PVwiMzYwXCIgY2xhc3M9XCJub3RlLXZpZGVvLWNsaXBcIj4nKSkudG8uZXF1YWxzSWdub3JlQ2FzZShcbiAgICAgICcnXG4gICAgKTtcbiAgICBleHBlY3QoY29kZXZpZXcucHVyaWZ5KCc8aWZyYW1lIGZyYW1lYm9yZGVyPVwiMFwiIHNyYz1cIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0NYZ3NBOThrcnhBXCIgd2lkdGg9XCI2NDBcIiBoZWlnaHQ9XCIzNjBcIiBjbGFzcz1cIm5vdGUtdmlkZW8tY2xpcFwiICBzcmMgID0gIFwiLy93d3cuZmFrZS15b3V0dWJlLmNvbS9lbWJlZC9DWGdzQTk4a3J4QVwiLz4nKSkudG8uZXF1YWxzSWdub3JlQ2FzZShcbiAgICAgICcnXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwdXJpZnkgY2FuIGJlIGN1c3RvbWl6ZWQnLCAoKSA9PiB7XG4gICAgY29kZXZpZXcub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgY29kZXZpZXcub3B0aW9ucy5jb2Rldmlld0lmcmFtZUZpbHRlciA9IGZhbHNlO1xuICAgIGV4cGVjdChjb2Rldmlldy5wdXJpZnkoJzxpZnJhbWUgZnJhbWVib3JkZXI9XCIwXCIgc3JjPVwiLy93d3cuZmFrZS15b3V0dWJlLmNvbS9lbWJlZC9DWGdzQTk4a3J4QVwiIHdpZHRoPVwiNjQwXCIgaGVpZ2h0PVwiMzYwXCIgY2xhc3M9XCJub3RlLXZpZGVvLWNsaXBcIj4nKSkudG8uZXF1YWxzSWdub3JlQ2FzZShcbiAgICAgICc8aWZyYW1lIGZyYW1lYm9yZGVyPVwiMFwiIHNyYz1cIi8vd3d3LmZha2UteW91dHViZS5jb20vZW1iZWQvQ1hnc0E5OGtyeEFcIiB3aWR0aD1cIjY0MFwiIGhlaWdodD1cIjM2MFwiIGNsYXNzPVwibm90ZS12aWRlby1jbGlwXCI+J1xuICAgICk7XG4gICAgY29kZXZpZXcub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgY29kZXZpZXcub3B0aW9ucy5jb2Rldmlld0ZpbHRlclJlZ2V4ID0gL1xcZCsvO1xuICAgIGV4cGVjdChjb2Rldmlldy5wdXJpZnkoJzxzY3JpcHQ+YWxlcnQoXCJzdW1tZXJub3RlXCIpOzwvc2NyaXB0PicpKS50by5lcXVhbHNJZ25vcmVDYXNlKFxuICAgICAgJzxzY3JpcHQ+YWxlcnQoXCJzdW1tZXJub3RlXCIpOzwvc2NyaXB0PidcbiAgICApO1xuICAgIGV4cGVjdChjb2Rldmlldy5wdXJpZnkoJzxzcGFuPlRlbDogMDEyMzQ1Njc4PC9zcGFuPicpKS50by5lcXVhbHNJZ25vcmVDYXNlKFxuICAgICAgJzxzcGFuPlRlbDogPC9zcGFuPidcbiAgICApO1xuICB9KTtcbn0pO1xuIl19