summaryrefslogtreecommitdiffstats
path: root/parser/xml/test/unit/test_sanitizer.js
diff options
context:
space:
mode:
Diffstat (limited to 'parser/xml/test/unit/test_sanitizer.js')
-rw-r--r--parser/xml/test/unit/test_sanitizer.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/parser/xml/test/unit/test_sanitizer.js b/parser/xml/test/unit/test_sanitizer.js
new file mode 100644
index 000000000..b8aaa1e08
--- /dev/null
+++ b/parser/xml/test/unit/test_sanitizer.js
@@ -0,0 +1,21 @@
+function run_test() {
+ var Ci = Components.interfaces;
+ var Cc = Components.classes;
+
+ // vectors by the html5security project (https://code.google.com/p/html5security/ & Creative Commons 3.0 BY), see CC-BY-LICENSE for the full license
+ load("results.js"); // gives us a `vectors' array
+
+ var ParserUtils = Cc["@mozilla.org/parserutils;1"].getService(Ci.nsIParserUtils);
+ var sanitizeFlags = ParserUtils.SanitizerCidEmbedsOnly|ParserUtils.SanitizerDropForms|ParserUtils.SanitizerDropNonCSSPresentation;
+ // flags according to
+ // http://mxr.mozilla.org/comm-central/source/mailnews/mime/src/mimemoz2.cpp#2218
+ // and default settings
+
+
+ for (var item in vectors) {
+ var evil = vectors[item].data;
+ var sanitized = vectors[item].sanitized;
+ var out = ParserUtils.sanitize(evil, sanitizeFlags);
+ do_check_eq(sanitized, out);
+ }
+}