diff options
author | Julius Härtl <jus@bitgrid.net> | 2019-03-01 17:06:48 +0100 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2019-03-07 10:45:47 +0100 |
commit | d7686346165bb63c04b2f087772c85354c205951 (patch) | |
tree | eaaf1a6ba053c5234db7a4580c6fe3f2d37e2f06 | |
parent | 067651b715fdce9aad5adb8fb89ebe73392d7f4f (diff) | |
download | nextcloud-server-d7686346165bb63c04b2f087772c85354c205951.tar.gz nextcloud-server-d7686346165bb63c04b2f087772c85354c205951.zip |
Fix domparser on phantomjs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | core/js/tests/html-domparser.js | 46 | ||||
-rw-r--r-- | tests/karma.config.js | 1 |
2 files changed, 47 insertions, 0 deletions
diff --git a/core/js/tests/html-domparser.js b/core/js/tests/html-domparser.js new file mode 100644 index 00000000000..ea22f9b8752 --- /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 e86f3d397bd..fb460ad850d 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'); |