react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / htmlparser2 / test / api.js
80684 viewsvar htmlparser2 = require(".."),1assert = require("assert");23describe("API", function(){45it("should load all modules", function(){6var Stream = require("../lib/Stream.js");7assert.strictEqual(htmlparser2.Stream, Stream, "should load module");8assert.strictEqual(htmlparser2.Stream, Stream, "should load it again (cache)");910var ProxyHandler = require("../lib/ProxyHandler.js");11assert.strictEqual(htmlparser2.ProxyHandler, ProxyHandler, "should load module");12assert.strictEqual(htmlparser2.ProxyHandler, ProxyHandler, "should load it again (cache)");13});1415it("should work without callbacks", function(){16var p = new htmlparser2.Parser(null, {xmlMode: true, lowerCaseAttributeNames: true});1718p.end("<a foo><bar></a><!-- --><![CDATA[]]]><?foo?><!bar><boo/>boohay");19p.write("foo");2021//check for an error22p.end();23var err = false;24p._cbs.onerror = function(){ err = true; };25p.write("foo");26assert(err);27err = false;28p.end();29assert(err);3031p.reset();3233//remove method34p._cbs.onopentag = function(){};35p.write("<a foo");36p._cbs.onopentag = null;37p.write(">");3839//pause/resume40var processed = false;41p._cbs.ontext = function(t){42assert.equal(t, "foo");43processed = true;44};45p.pause();46p.write("foo");47assert(!processed);48p.resume();49assert(processed);50processed = false;51p.pause();52assert(!processed);53p.resume();54assert(!processed);55p.pause();56p.end("foo");57assert(!processed);58p.resume();59assert(processed);6061});6263it("should update the position", function(){64var p = new htmlparser2.Parser(null);6566p.write("foo");6768assert.equal(p.startIndex, 0);6970p.write("<bar>");7172assert.equal(p.startIndex, 3);73});74});7576