parser/xml/test/unit/test_sanitizer.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/parser/xml/test/unit/test_sanitizer.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,21 @@
     1.4 +function run_test() {
     1.5 +  var Ci = Components.interfaces;
     1.6 +  var Cc = Components.classes;
     1.7 +
     1.8 +  // vectors by the html5security project (https://code.google.com/p/html5security/ & Creative Commons 3.0 BY), see CC-BY-LICENSE for the full license
     1.9 +  load("results.js");   // gives us a `vectors' array
    1.10 +
    1.11 +  var ParserUtils =  Cc["@mozilla.org/parserutils;1"].getService(Ci.nsIParserUtils);
    1.12 +  var sanitizeFlags = ParserUtils.SanitizerCidEmbedsOnly|ParserUtils.SanitizerDropForms|ParserUtils.SanitizerDropNonCSSPresentation;
    1.13 +  // flags according to 
    1.14 +  // http://mxr.mozilla.org/comm-central/source/mailnews/mime/src/mimemoz2.cpp#2218
    1.15 +  // and default settings
    1.16 +
    1.17 +
    1.18 +  for (var item in vectors) {
    1.19 +    var evil = vectors[item].data;
    1.20 +    var sanitized = vectors[item].sanitized;
    1.21 +    var out = ParserUtils.sanitize(evil, sanitizeFlags);
    1.22 +    do_check_eq(sanitized, out);
    1.23 +  }
    1.24 +}

mercurial