From d798a380f997b3af572efbbb23cb21bcc9b9c5a6 Mon Sep 17 00:00:00 2001 From: Wolfram Schneider Date: Thu, 22 Aug 2013 13:53:21 +0200 Subject: [PATCH] save --- test/spec/mkws-index-jsdom-remote.spec.js | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 test/spec/mkws-index-jsdom-remote.spec.js diff --git a/test/spec/mkws-index-jsdom-remote.spec.js b/test/spec/mkws-index-jsdom-remote.spec.js new file mode 100644 index 0000000..8106441 --- /dev/null +++ b/test/spec/mkws-index-jsdom-remote.spec.js @@ -0,0 +1,57 @@ +/* Copyright (c) 2013 IndexData ApS. http://indexdata.com + * + * jQuery test with DOM/windows object + * + */ + + +var fs = require("fs"); +var utils = require("./mkws_utils.js"); + +/* + * parse HTML data to DOM, and run jQuery request on it + * + */ + +function jsdom_check(file, tags_array, ignore_doctype) { + var html = fs.readFileSync(file, "utf-8"); + var tags = utils.flat_list(tags_array); + + describe("index-full.html jsdom + jquery for " + file, function () { + var window = require('jsdom').jsdom(html, null, { + FetchExternalResources: false, + ProcessExternalResources: false, + MutationEvents: false, + QuerySelector: false + }).createWindow(); + + /* apply jquery to the window */ + var $ = require('jquery').create(window); + + + it("html jquery test", function () { + expect(html).toBeDefined(); + + expect($("body").length == 0).toEqual(false); + expect($("body").length == 1).toEqual(true); + expect($("head").length == 1).toEqual(true); + + for (var i = 0; i < tags.length; i++) { + expect($("#" + tags[i]).length == 1).toEqual(true); + } + }); + + it("html jquery fail test", function () { + expect(html).toBeDefined(); + + expect($("body_does_not_exists").length == 1).toEqual(false); + expect($("#body_does_not_exists").length == 1).toEqual(false); + }); + }); +} + +jsdom_check('../examples/htdocs/index-full.html', [utils.tags.required, utils.tags.optional, utils.tags.optional2]); +jsdom_check('../examples/htdocs/index-mobile.html', [utils.tags.required, utils.tags.optional]); +jsdom_check('../examples/htdocs/index-popup.html', [], true); +jsdom_check('../examples/htdocs/index-jquery.html', []); +jsdom_check('../examples/htdocs/index-mike.html', [utils.tags.required, utils.tags.optional], true); -- 1.7.10.4