diff --git a/core/js/tests/html-domparser.js b/core/js/tests/html-domparser.js
new file mode 100644
index 0000000000000000000000000000000000000000..ea22f9b875226f429e9b5421bc49315b0c4080af
--- /dev/null
+++ b/core/js/tests/html-domparser.js
@@ -0,0 +1,46 @@
+/*
+ * DOMParser HTML extension
+ * 2012-09-04
+ * 
+ * By Eli Grey, http://eligrey.com
+ * Public domain.
+ * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+ */
+
+/*! @source https://gist.github.com/1129031 */
+/*global document, DOMParser*/
+
+(function(DOMParser) {
+	"use strict";
+
+	var
+	  DOMParser_proto = DOMParser.prototype
+	, real_parseFromString = DOMParser_proto.parseFromString
+	;
+
+	// Firefox/Opera/IE throw errors on unsupported types
+	try {
+		// WebKit returns null on unsupported types
+		if ((new DOMParser).parseFromString("", "text/html")) {
+			// text/html parsing is natively supported
+			return;
+		}
+	} catch (ex) {}
+
+	DOMParser_proto.parseFromString = function(markup, type) {
+		if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
+			var
+			  doc = document.implementation.createHTMLDocument("")
+			;
+	      		if (markup.toLowerCase().indexOf('<!doctype') > -1) {
+        			doc.documentElement.innerHTML = markup;
+      			}
+      			else {
+        			doc.body.innerHTML = markup;
+      			}
+			return doc;
+		} else {
+			return real_parseFromString.apply(this, arguments);
+		}
+	};
+}(DOMParser));
diff --git a/tests/karma.config.js b/tests/karma.config.js
index e86f3d397bd962da24b93267a30fb1a35b588920..fb460ad850d5217b0553671dcee2303c0eaec02c 100644
--- a/tests/karma.config.js
+++ b/tests/karma.config.js
@@ -127,6 +127,7 @@ module.exports = function(config) {
 		testCore = true;
 	}
 
+	files.push(corePath + 'tests/html-domparser.js');
 	files.push('core/js/dist/main.js');
 	// core mocks
 	files.push(corePath + 'tests/specHelper.js');