pax_global_header00006660000000000000000000000064123572650010014513gustar00rootroot0000000000000052 comment=3c8707bc39dfe9cfab0313ae47eb43db29d6bb54 node-htmlparser2-3.7.3/000077500000000000000000000000001235726500100147135ustar00rootroot00000000000000node-htmlparser2-3.7.3/.gitattributes000066400000000000000000000001031235726500100176000ustar00rootroot00000000000000# Auto detect text files and perform LF normalization * text eol=lfnode-htmlparser2-3.7.3/.travis.yml000066400000000000000000000001101235726500100170140ustar00rootroot00000000000000language: node_js node_js: - 0.10 - 0.11 script: npm run coveralls node-htmlparser2-3.7.3/LICENSE000066400000000000000000000021201235726500100157130ustar00rootroot00000000000000Copyright 2010, 2011, Chris Winberry . All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.node-htmlparser2-3.7.3/README.md000066400000000000000000000074671235726500100162100ustar00rootroot00000000000000#htmlparser2 [![NPM version](http://img.shields.io/npm/v/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Downloads](https://img.shields.io/npm/dm/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Build Status](http://img.shields.io/travis/fb55/htmlparser2/master.svg?style=flat)](http://travis-ci.org/fb55/htmlparser2) [![Coverage](http://img.shields.io/coveralls/fb55/htmlparser2.svg?style=flat)](https://coveralls.io/r/fb55/htmlparser2) A forgiving HTML/XML/RSS parser written in JS for NodeJS. The parser can handle streams (chunked data) and supports custom handlers for writing custom DOMs/output. ##Installing npm install htmlparser2 A live demo of htmlparser2 is available at http://demos.forbeslindesay.co.uk/htmlparser2/ ##Usage ```javascript var htmlparser = require("htmlparser2"); var parser = new htmlparser.Parser({ onopentag: function(name, attribs){ if(name === "script" && attribs.type === "text/javascript"){ console.log("JS! Hooray!"); } }, ontext: function(text){ console.log("-->", text); }, onclosetag: function(tagname){ if(tagname === "script"){ console.log("That's it?!"); } } }); parser.write("Xyz

", "expected": [ { "event": "opentagname", "data": [ "p" ] }, { "event": "opentag", "data": [ "p", {} ] }, { "event": "opentagname", "data": [ "script" ] }, { "event": "attribute", "data": [ "type", "text/template" ] }, { "event": "opentag", "data": [ "script", { "type": "text/template" } ] }, { "event": "text", "data": [ "

Heading1

" ] }, { "event": "closetag", "data": [ "script" ] }, { "event": "closetag", "data": [ "p" ] } ] }node-htmlparser2-3.7.3/test/Events/03-lowercase_tags.json000066400000000000000000000011651235726500100232560ustar00rootroot00000000000000{ "name": "Lowercase tags", "options": { "handler": {}, "parser": { "lowerCaseTags": true } }, "html": "

adsf

", "expected": [ { "event": "opentagname", "data": [ "h1" ] }, { "event": "attribute", "data": [ "class", "test" ] }, { "event": "opentag", "data": [ "h1", { "class": "test" } ] }, { "event": "text", "data": [ "adsf" ] }, { "event": "closetag", "data": [ "h1" ] } ] }node-htmlparser2-3.7.3/test/Events/04-cdata.json000066400000000000000000000013541235726500100213310ustar00rootroot00000000000000{ "name": "CDATA", "options": { "handler": {}, "parser": {"xmlMode": true} }, "html": "<> fo]]>", "expected": [ { "event": "opentagname", "data": [ "tag" ] }, { "event": "opentag", "data": [ "tag", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ " asdf ><> fo" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "tag" ] }, { "event": "processinginstruction", "data": [ "![CD", "![CD" ] } ] }node-htmlparser2-3.7.3/test/Events/05-cdata-special.json000066400000000000000000000010641235726500100227460ustar00rootroot00000000000000{ "name": "CDATA (inside special)", "options": { "handler": {}, "parser": {} }, "html": "", "expected": [ { "event": "opentagname", "data": [ "script" ] }, { "event": "opentag", "data": [ "script", {} ] }, { "event": "text", "data": [ "/*<> fo/*]]>*/" ] }, { "event": "closetag", "data": [ "script" ] } ] } node-htmlparser2-3.7.3/test/Events/06-leading-lt.json000066400000000000000000000003011235726500100222660ustar00rootroot00000000000000{ "name": "leading lt", "options": { "handler": {}, "parser": {} }, "html": ">a>", "expected": [ { "event": "text", "data": [ ">a>" ] } ] }node-htmlparser2-3.7.3/test/Events/07-self-closing.json000066400000000000000000000013751235726500100226500ustar00rootroot00000000000000{ "name": "Self-closing tags", "options": { "handler": { }, "parser": { } }, "html": "Foo
", "expected": [ { "event": "opentagname", "data": [ "a" ] }, { "event": "attribute", "data": [ "href", "http://test.com/" ] }, { "event": "opentag", "data": [ "a", { "href": "http://test.com/" } ] }, { "event": "text", "data": [ "Foo" ] }, { "event": "closetag", "data": [ "a" ] }, { "event": "opentagname", "data": [ "hr" ] }, { "event": "opentag", "data": [ "hr", {} ] }, { "event": "closetag", "data": [ "hr" ] } ] }node-htmlparser2-3.7.3/test/Events/08-implicit-close-tags.json000066400000000000000000000055451235726500100241400ustar00rootroot00000000000000{ "name": "Implicit close tags", "options": {}, "html": "
  1. Heading

    Div
    Div2
  2. Heading 2

", "expected": [ { "event": "opentagname", "data": [ "ol" ] }, { "event": "opentag", "data": [ "ol", {} ] }, { "event": "opentagname", "data": [ "li" ] }, { "event": "attribute", "data": [ "class", "test" ] }, { "event": "opentag", "data": [ "li", { "class": "test" } ] }, { "event": "opentagname", "data": [ "div" ] }, { "event": "opentag", "data": [ "div", {} ] }, { "event": "opentagname", "data": [ "table" ] }, { "event": "attribute", "data": [ "style", "width:100%" ] }, { "event": "opentag", "data": [ "table", { "style": "width:100%" } ] }, { "event": "opentagname", "data": [ "tr" ] }, { "event": "opentag", "data": [ "tr", {} ] }, { "event": "opentagname", "data": [ "td" ] }, { "event": "attribute", "data": [ "colspan", "2" ] }, { "event": "opentag", "data": [ "td", { "colspan": "2" } ] }, { "event": "opentagname", "data": [ "h3" ] }, { "event": "opentag", "data": [ "h3", {} ] }, { "event": "text", "data": [ "Heading" ] }, { "event": "closetag", "data": [ "h3" ] }, { "event": "closetag", "data": [ "td" ] }, { "event": "closetag", "data": [ "tr" ] }, { "event": "opentagname", "data": [ "tr" ] }, { "event": "opentag", "data": [ "tr", {} ] }, { "event": "opentagname", "data": [ "td" ] }, { "event": "opentag", "data": [ "td", {} ] }, { "event": "opentagname", "data": [ "div" ] }, { "event": "opentag", "data": [ "div", {} ] }, { "event": "text", "data": [ "Div" ] }, { "event": "closetag", "data": [ "div" ] }, { "event": "closetag", "data": [ "td" ] }, { "event": "opentagname", "data": [ "td" ] }, { "event": "opentag", "data": [ "td", {} ] }, { "event": "opentagname", "data": [ "div" ] }, { "event": "opentag", "data": [ "div", {} ] }, { "event": "text", "data": [ "Div2" ] }, { "event": "closetag", "data": [ "div" ] }, { "event": "closetag", "data": [ "td" ] }, { "event": "closetag", "data": [ "tr" ] }, { "event": "closetag", "data": [ "table" ] }, { "event": "closetag", "data": [ "div" ] }, { "event": "closetag", "data": [ "li" ] }, { "event": "opentagname", "data": [ "li" ] }, { "event": "opentag", "data": [ "li", {} ] }, { "event": "opentagname", "data": [ "div" ] }, { "event": "opentag", "data": [ "div", {} ] }, { "event": "opentagname", "data": [ "h3" ] }, { "event": "opentag", "data": [ "h3", {} ] }, { "event": "text", "data": [ "Heading 2" ] }, { "event": "closetag", "data": [ "h3" ] }, { "event": "closetag", "data": [ "div" ] }, { "event": "closetag", "data": [ "li" ] }, { "event": "closetag", "data": [ "ol" ] } ] }node-htmlparser2-3.7.3/test/Events/09-attributes.json000066400000000000000000000020531235726500100224450ustar00rootroot00000000000000{ "name": "attributes (no white space, no value, no quotes)", "options": { "handler": {}, "parser": {} }, "html": "", "expected": [ { "event": "opentagname", "data": [ "button" ] }, { "event": "attribute", "data": [ "class", "test0" ] }, { "event": "attribute", "data": [ "title", "test1" ] }, { "event": "attribute", "data": [ "disabled", "" ] }, { "event": "attribute", "data": [ "value", "test2" ] }, { "event": "opentag", "data": [ "button", { "class": "test0", "title": "test1", "disabled": "", "value": "test2" } ] }, { "event": "text", "data": [ "adsf" ] }, { "event": "closetag", "data": [ "button" ] } ] }node-htmlparser2-3.7.3/test/Events/10-crazy-attrib.json000066400000000000000000000012671235726500100226700ustar00rootroot00000000000000{ "name": "crazy attribute", "options": { "handler": {}, "parser": {} }, "html": "

stuff

", "expected": [ { "event": "opentagname", "data": [ "p" ] }, { "event": "opentag", "data": [ "p", {} ] }, { "event": "opentagname", "data": [ "script" ] }, { "event": "opentag", "data": [ "script", {} ] }, { "event": "text", "data": [ "var str = '", "expected": [ { "event": "opentagname", "data": [ "script" ] }, { "event": "opentag", "data": [ "script", {} ] }, { "event": "text", "data": [ "", "expected": [ { "event": "text", "data": [ "< >" ] } ] } node-htmlparser2-3.7.3/test/Events/26-not-quite-closed.json000066400000000000000000000007301235726500100234520ustar00rootroot00000000000000{ "name": "Not quite closed", "options": {}, "html": "", "expected": [ { "event": "opentagname", "data": [ "foo" ] }, { "event": "attribute", "data": [ "bar", "" ] }, { "event": "opentag", "data": [ "foo", { "bar": "" } ] }, { "event": "closetag", "data": [ "foo" ] } ] } node-htmlparser2-3.7.3/test/Events/27-entities_in_attributes.json000066400000000000000000000016131235726500100250400ustar00rootroot00000000000000{ "name": "Entities in attributes", "options": { "handler": {}, "parser": {"decodeEntities": true} }, "html": "", "expected": [ { "event": "opentagname", "data": [ "foo" ] }, { "event": "attribute", "data": [ "bar", "&" ] }, { "event": "attribute", "data": [ "baz", "&" ] }, { "event": "attribute", "data": [ "boo", "&" ] }, { "event": "attribute", "data": [ "noo", "" ] }, { "event": "opentag", "data": [ "foo", { "bar": "&", "baz": "&", "boo": "&", "noo": "" } ] }, { "event": "closetag", "data": [ "foo" ] } ] } node-htmlparser2-3.7.3/test/Events/28-cdata_in_html.json000066400000000000000000000003131235726500100230430ustar00rootroot00000000000000{ "name": "CDATA in HTML", "options": {}, "html": "", "expected": [ { "event": "comment", "data": [ "[CDATA[ foo ]]" ] }, { "event": "commentend", "data": [] } ] }node-htmlparser2-3.7.3/test/Events/29-comment_edge-cases.json000066400000000000000000000006351235726500100240070ustar00rootroot00000000000000{ "name": "Comment edge-cases", "options": {}, "html": "", "expected": [ { "event": "comment", "data": [ " a-b-> " ] }, { "event": "commentend", "data": [] } ] } node-htmlparser2-3.7.3/test/Feeds/000077500000000000000000000000001235726500100167205ustar00rootroot00000000000000node-htmlparser2-3.7.3/test/Feeds/01-rss.js000066400000000000000000000036471235726500100203150ustar00rootroot00000000000000exports.name = "RSS (2.0)"; exports.file = "/RSS_Example.xml"; exports.expected = { type: "rss", id: "", title: "Liftoff News", link: "http://liftoff.msfc.nasa.gov/", description: "Liftoff to Space Exploration.", updated: new Date("Tue, 10 Jun 2003 09:41:01 GMT"), author: "editor@example.com", items: [{ id: "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573", title: "Star City", link: "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp", description: "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>.", pubDate: new Date("Tue, 03 Jun 2003 09:39:21 GMT") }, { id: "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572", description: "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\">partial eclipse of the Sun</a> on Saturday, May 31st.", pubDate: new Date("Fri, 30 May 2003 11:06:42 GMT") }, { id: "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571", title: "The Engine That Does More", link: "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp", description: "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.", pubDate: new Date("Tue, 27 May 2003 08:37:32 GMT") }, { id: "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570", title: "Astronauts' Dirty Laundry", link: "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp", description: "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.", pubDate: new Date("Tue, 20 May 2003 08:56:02 GMT") }] };node-htmlparser2-3.7.3/test/Feeds/02-atom.js000066400000000000000000000010511235726500100204320ustar00rootroot00000000000000exports.name = "Atom (1.0)"; exports.file = "/Atom_Example.xml"; exports.expected = { type: "atom", id: "urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6", title: "Example Feed", link: "http://example.org/feed/", description: "A subtitle.", updated: new Date("2003-12-13T18:30:02Z"), author: "johndoe@example.com", items: [{ id: "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a", title: "Atom-Powered Robots Run Amok", link: "http://example.org/2003/12/13/atom03", description: "Some text.", pubDate: new Date("2003-12-13T18:30:02Z") }] };node-htmlparser2-3.7.3/test/Feeds/03-rdf.js000066400000000000000000000030711235726500100202520ustar00rootroot00000000000000exports.name = "RDF test"; exports.file = "/RDF_Example.xml"; exports.expected = { "type": "rdf", "id": "", "title": "craigslist | all community in SF bay area", "link": "http://sfbay.craigslist.org/ccc/", "items": [ { "title": "Music Equipment Repair and Consignment", "link": "http://sfbay.craigslist.org/sby/muc/2681301534.html", "description": "San Jose Rock Shop offers musical instrument repair and consignment! (408) 215-2065

We are pleased to announce our NEW LOCATION: 1199 N 5th st. San Jose, ca 95112. Please call ahead, by appointment only.

Recently featured by Metro Newspaper in their 2011 Best of the Silicon Valley edition see it online here:
http://www.metroactive.com/best-of-silicon-valley/2011/music-nightlife/editor-picks.html

Guitar Set up (acoustic and electronic) $40!" }, { "title": "Ride Offered - Oakland/BART to LA/SFV - TODAY 3PM 11/04 (oakland north / temescal)", "link": "http://sfbay.craigslist.org/eby/rid/2685010755.html", "description": "Im offering a lift for up to two people from Oakland (or near any BART station in the East Bay/580/880 Corridor, or San Jose/Morgan Hill, Gilroy) to the San Fernando Valley / Los Angeles area. Specifically, Im leaving from Oakland between 2:30 and 3:00pm (this is flexible, but if I leave too late my girlfriend will kill me), and heading to Woodland Hills via the 580, I-5, 405, and 101." } ] }; node-htmlparser2-3.7.3/test/Stream/000077500000000000000000000000001235726500100171255ustar00rootroot00000000000000node-htmlparser2-3.7.3/test/Stream/01-basic.json000066400000000000000000000021461235726500100213220ustar00rootroot00000000000000{ "name": "Basic html", "options": {}, "file": "Basic.html", "expected": [ { "event": "processinginstruction", "data": [ "!doctype", "!DOCTYPE html" ] }, { "event": "opentagname", "data": [ "html" ] }, { "event": "opentag", "data": [ "html", {} ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "The Title" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "opentagname", "data": [ "body" ] }, { "event": "opentag", "data": [ "body", {} ] }, { "event": "text", "data": [ "Hello world" ] }, { "event": "closetag", "data": [ "body" ] }, { "event": "closetag", "data": [ "html" ] } ] }node-htmlparser2-3.7.3/test/Stream/02-RSS.json000066400000000000000000000374721235726500100207230ustar00rootroot00000000000000{ "name": "RSS feed", "options": {"xmlMode": true}, "file": "RSS_Example.xml", "expected": [ { "event": "processinginstruction", "data": [ "?xml", "?xml version=\"1.0\"?" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "comment", "data": [ " http://cyber.law.harvard.edu/rss/examples/rss2sample.xml " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "rss" ] }, { "event": "attribute", "data": [ "version", "2.0" ] }, { "event": "opentag", "data": [ "rss", { "version": "2.0" } ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "channel" ] }, { "event": "opentag", "data": [ "channel", {} ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Liftoff News" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "text", "data": [ "Liftoff to Space Exploration." ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "language" ] }, { "event": "opentag", "data": [ "language", {} ] }, { "event": "text", "data": [ "en-us" ] }, { "event": "closetag", "data": [ "language" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "pubDate" ] }, { "event": "opentag", "data": [ "pubDate", {} ] }, { "event": "text", "data": [ "Tue, 10 Jun 2003 04:00:00 GMT" ] }, { "event": "closetag", "data": [ "pubDate" ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "opentagname", "data": [ "lastBuildDate" ] }, { "event": "opentag", "data": [ "lastBuildDate", {} ] }, { "event": "text", "data": [ "Tue, 10 Jun 2003 09:41:01 GMT" ] }, { "event": "closetag", "data": [ "lastBuildDate" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "docs" ] }, { "event": "opentag", "data": [ "docs", {} ] }, { "event": "text", "data": [ "http://blogs.law.harvard.edu/tech/rss" ] }, { "event": "closetag", "data": [ "docs" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "generator" ] }, { "event": "opentag", "data": [ "generator", {} ] }, { "event": "text", "data": [ "Weblog Editor 2.0" ] }, { "event": "closetag", "data": [ "generator" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "managingEditor" ] }, { "event": "opentag", "data": [ "managingEditor", {} ] }, { "event": "text", "data": [ "editor@example.com" ] }, { "event": "closetag", "data": [ "managingEditor" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "webMaster" ] }, { "event": "opentag", "data": [ "webMaster", {} ] }, { "event": "text", "data": [ "webmaster@example.com" ] }, { "event": "closetag", "data": [ "webMaster" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "opentag", "data": [ "item", {} ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Star City" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "text", "data": [ "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>." ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "pubDate" ] }, { "event": "opentag", "data": [ "pubDate", {} ] }, { "event": "text", "data": [ "Tue, 03 Jun 2003 09:39:21 GMT" ] }, { "event": "closetag", "data": [ "pubDate" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "guid" ] }, { "event": "opentag", "data": [ "guid", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573" ] }, { "event": "closetag", "data": [ "guid" ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "opentag", "data": [ "item", {} ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "text", "data": [ "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\">partial eclipse of the Sun</a> on Saturday, May 31st." ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "pubDate" ] }, { "event": "opentag", "data": [ "pubDate", {} ] }, { "event": "text", "data": [ "Fri, 30 May 2003 11:06:42 GMT" ] }, { "event": "closetag", "data": [ "pubDate" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "guid" ] }, { "event": "opentag", "data": [ "guid", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572" ] }, { "event": "closetag", "data": [ "guid" ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "opentag", "data": [ "item", {} ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "The Engine That Does More" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "text", "data": [ "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that." ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "pubDate" ] }, { "event": "opentag", "data": [ "pubDate", {} ] }, { "event": "text", "data": [ "Tue, 27 May 2003 08:37:32 GMT" ] }, { "event": "closetag", "data": [ "pubDate" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "guid" ] }, { "event": "opentag", "data": [ "guid", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571" ] }, { "event": "closetag", "data": [ "guid" ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "opentag", "data": [ "item", {} ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Astronauts' Dirty Laundry" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "text", "data": [ "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options." ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "pubDate" ] }, { "event": "opentag", "data": [ "pubDate", {} ] }, { "event": "text", "data": [ "Tue, 20 May 2003 08:56:02 GMT" ] }, { "event": "closetag", "data": [ "pubDate" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "opentagname", "data": [ "guid" ] }, { "event": "opentag", "data": [ "guid", {} ] }, { "event": "text", "data": [ "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570" ] }, { "event": "closetag", "data": [ "guid" ] }, { "event": "text", "data": [ "\n\n " ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n " ] }, { "event": "closetag", "data": [ "channel" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "closetag", "data": [ "rss" ] } ] }node-htmlparser2-3.7.3/test/Stream/03-Atom.json000066400000000000000000000217631235726500100211510ustar00rootroot00000000000000{ "name": "Atom feed", "options": {"xmlMode": true}, "file": "Atom_Example.xml", "expected": [ { "event": "processinginstruction", "data": [ "?xml", "?xml version=\"1.0\" encoding=\"utf-8\"?" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "comment", "data": [ " http://en.wikipedia.org/wiki/Atom_%28standard%29 " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "feed" ] }, { "event": "attribute", "data": [ "xmlns", "http://www.w3.org/2005/Atom" ] }, { "event": "opentag", "data": [ "feed", { "xmlns": "http://www.w3.org/2005/Atom" } ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Example Feed" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "subtitle" ] }, { "event": "opentag", "data": [ "subtitle", {} ] }, { "event": "text", "data": [ "A subtitle." ] }, { "event": "closetag", "data": [ "subtitle" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "attribute", "data": [ "href", "http://example.org/feed/" ] }, { "event": "attribute", "data": [ "rel", "self" ] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/feed/", "rel": "self" } ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "attribute", "data": [ "href", "http://example.org/" ] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/" } ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "id" ] }, { "event": "opentag", "data": [ "id", {} ] }, { "event": "text", "data": [ "urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6" ] }, { "event": "closetag", "data": [ "id" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "updated" ] }, { "event": "opentag", "data": [ "updated", {} ] }, { "event": "text", "data": [ "2003-12-13T18:30:02Z" ] }, { "event": "closetag", "data": [ "updated" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "author" ] }, { "event": "opentag", "data": [ "author", {} ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "name" ] }, { "event": "opentag", "data": [ "name", {} ] }, { "event": "text", "data": [ "John Doe" ] }, { "event": "closetag", "data": [ "name" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "email" ] }, { "event": "opentag", "data": [ "email", {} ] }, { "event": "text", "data": [ "johndoe@example.com" ] }, { "event": "closetag", "data": [ "email" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "closetag", "data": [ "author" ] }, { "event": "text", "data": [ "\n\n\t" ] }, { "event": "opentagname", "data": [ "entry" ] }, { "event": "opentag", "data": [ "entry", {} ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Atom-Powered Robots Run Amok" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "attribute", "data": [ "href", "http://example.org/2003/12/13/atom03" ] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/2003/12/13/atom03" } ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "attribute", "data": [ "rel", "alternate" ] }, { "event": "attribute", "data": [ "type", "text/html" ] }, { "event": "attribute", "data": [ "href", "http://example.org/2003/12/13/atom03.html" ] }, { "event": "opentag", "data": [ "link", { "rel": "alternate", "type": "text/html", "href": "http://example.org/2003/12/13/atom03.html" } ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "attribute", "data": [ "rel", "edit" ] }, { "event": "attribute", "data": [ "href", "http://example.org/2003/12/13/atom03/edit" ] }, { "event": "opentag", "data": [ "link", { "rel": "edit", "href": "http://example.org/2003/12/13/atom03/edit" } ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "id" ] }, { "event": "opentag", "data": [ "id", {} ] }, { "event": "text", "data": [ "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a" ] }, { "event": "closetag", "data": [ "id" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "updated" ] }, { "event": "opentag", "data": [ "updated", {} ] }, { "event": "text", "data": [ "2003-12-13T18:30:02Z" ] }, { "event": "closetag", "data": [ "updated" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "summary" ] }, { "event": "opentag", "data": [ "summary", {} ] }, { "event": "text", "data": [ "Some text." ] }, { "event": "closetag", "data": [ "summary" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "closetag", "data": [ "entry" ] }, { "event": "text", "data": [ "\n\n" ] }, { "event": "closetag", "data": [ "feed" ] } ] }node-htmlparser2-3.7.3/test/Stream/04-RDF.json000066400000000000000000000527011235726500100206610ustar00rootroot00000000000000{ "name": "RDF feed", "options": {"xmlMode": true}, "file": "RDF_Example.xml", "expected": [ { "event": "processinginstruction", "data": [ "?xml", "?xml version=\"1.0\" encoding=\"UTF-8\"?" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "rdf:RDF" ] }, { "event": "attribute", "data": [ "xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ] }, { "event": "attribute", "data": [ "xmlns", "http://purl.org/rss/1.0/" ] }, { "event": "attribute", "data": [ "xmlns:ev", "http://purl.org/rss/1.0/modules/event/" ] }, { "event": "attribute", "data": [ "xmlns:content", "http://purl.org/rss/1.0/modules/content/" ] }, { "event": "attribute", "data": [ "xmlns:taxo", "http://purl.org/rss/1.0/modules/taxonomy/" ] }, { "event": "attribute", "data": [ "xmlns:dc", "http://purl.org/dc/elements/1.1/" ] }, { "event": "attribute", "data": [ "xmlns:syn", "http://purl.org/rss/1.0/modules/syndication/" ] }, { "event": "attribute", "data": [ "xmlns:dcterms", "http://purl.org/dc/terms/" ] }, { "event": "attribute", "data": [ "xmlns:admin", "http://webns.net/mvcb/" ] }, { "event": "opentag", "data": [ "rdf:RDF", { "xmlns:rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "xmlns": "http://purl.org/rss/1.0/", "xmlns:ev": "http://purl.org/rss/1.0/modules/event/", "xmlns:content": "http://purl.org/rss/1.0/modules/content/", "xmlns:taxo": "http://purl.org/rss/1.0/modules/taxonomy/", "xmlns:dc": "http://purl.org/dc/elements/1.1/", "xmlns:syn": "http://purl.org/rss/1.0/modules/syndication/", "xmlns:dcterms": "http://purl.org/dc/terms/", "xmlns:admin": "http://webns.net/mvcb/" } ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "channel" ] }, { "event": "attribute", "data": [ "rdf:about", "http://sfbay.craigslist.org/ccc/" ] }, { "event": "opentag", "data": [ "channel", { "rdf:about": "http://sfbay.craigslist.org/ccc/" } ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "craigslist | all community in SF bay area" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "http://sfbay.craigslist.org/ccc/" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:language" ] }, { "event": "opentag", "data": [ "dc:language", {} ] }, { "event": "text", "data": [ "en-us" ] }, { "event": "closetag", "data": [ "dc:language" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:rights" ] }, { "event": "opentag", "data": [ "dc:rights", {} ] }, { "event": "text", "data": [ "Copyright 2011 craigslist, inc." ] }, { "event": "closetag", "data": [ "dc:rights" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:publisher" ] }, { "event": "opentag", "data": [ "dc:publisher", {} ] }, { "event": "text", "data": [ "webmaster@craigslist.org" ] }, { "event": "closetag", "data": [ "dc:publisher" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:creator" ] }, { "event": "opentag", "data": [ "dc:creator", {} ] }, { "event": "text", "data": [ "webmaster@craigslist.org" ] }, { "event": "closetag", "data": [ "dc:creator" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:source" ] }, { "event": "opentag", "data": [ "dc:source", {} ] }, { "event": "text", "data": [ "http://sfbay.craigslist.org/ccc//" ] }, { "event": "closetag", "data": [ "dc:source" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:title" ] }, { "event": "opentag", "data": [ "dc:title", {} ] }, { "event": "text", "data": [ "craigslist | all community in SF bay area" ] }, { "event": "closetag", "data": [ "dc:title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:type" ] }, { "event": "opentag", "data": [ "dc:type", {} ] }, { "event": "text", "data": [ "Collection" ] }, { "event": "closetag", "data": [ "dc:type" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "syn:updateBase" ] }, { "event": "opentag", "data": [ "syn:updateBase", {} ] }, { "event": "text", "data": [ "2011-11-04T09:39:10-07:00" ] }, { "event": "closetag", "data": [ "syn:updateBase" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "syn:updateFrequency" ] }, { "event": "opentag", "data": [ "syn:updateFrequency", {} ] }, { "event": "text", "data": [ "4" ] }, { "event": "closetag", "data": [ "syn:updateFrequency" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "syn:updatePeriod" ] }, { "event": "opentag", "data": [ "syn:updatePeriod", {} ] }, { "event": "text", "data": [ "hourly" ] }, { "event": "closetag", "data": [ "syn:updatePeriod" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "items" ] }, { "event": "opentag", "data": [ "items", {} ] }, { "event": "text", "data": [ "\n\t\t\t" ] }, { "event": "opentagname", "data": [ "rdf:Seq" ] }, { "event": "opentag", "data": [ "rdf:Seq", {} ] }, { "event": "text", "data": [ "\n\t\t\t\t" ] }, { "event": "opentagname", "data": [ "rdf:li" ] }, { "event": "attribute", "data": [ "rdf:resource", "http://sfbay.craigslist.org/sby/muc/2681301534.html" ] }, { "event": "opentag", "data": [ "rdf:li", { "rdf:resource": "http://sfbay.craigslist.org/sby/muc/2681301534.html" } ] }, { "event": "closetag", "data": [ "rdf:li" ] }, { "event": "text", "data": [ "\n\t\t\t" ] }, { "event": "closetag", "data": [ "rdf:Seq" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "closetag", "data": [ "items" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "closetag", "data": [ "channel" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "attribute", "data": [ "rdf:about", "http://sfbay.craigslist.org/sby/muc/2681301534.html" ] }, { "event": "opentag", "data": [ "item", { "rdf:about": "http://sfbay.craigslist.org/sby/muc/2681301534.html" } ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ " Music Equipment Repair and Consignment " ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "\nhttp://sfbay.craigslist.org/sby/muc/2681301534.html\n" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ "\nSan Jose Rock Shop offers musical instrument repair and consignment! (408) 215-2065

We are pleased to announce our NEW LOCATION: 1199 N 5th st. San Jose, ca 95112. Please call ahead, by appointment only.

Recently featured by Metro Newspaper in their 2011 Best of the Silicon Valley edition see it online here:
http://www.metroactive.com/best-of-silicon-valley/2011/music-nightlife/editor-picks.html

Guitar Set up (acoustic and electronic) $40!\n" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:date" ] }, { "event": "opentag", "data": [ "dc:date", {} ] }, { "event": "text", "data": [ "2011-11-04T09:35:17-07:00" ] }, { "event": "closetag", "data": [ "dc:date" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:language" ] }, { "event": "opentag", "data": [ "dc:language", {} ] }, { "event": "text", "data": [ "en-us" ] }, { "event": "closetag", "data": [ "dc:language" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:rights" ] }, { "event": "opentag", "data": [ "dc:rights", {} ] }, { "event": "text", "data": [ "Copyright 2011 craigslist, inc." ] }, { "event": "closetag", "data": [ "dc:rights" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:source" ] }, { "event": "opentag", "data": [ "dc:source", {} ] }, { "event": "text", "data": [ "\nhttp://sfbay.craigslist.org/sby/muc/2681301534.html\n" ] }, { "event": "closetag", "data": [ "dc:source" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:title" ] }, { "event": "opentag", "data": [ "dc:title", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ " Music Equipment Repair and Consignment " ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "dc:title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:type" ] }, { "event": "opentag", "data": [ "dc:type", {} ] }, { "event": "text", "data": [ "text" ] }, { "event": "closetag", "data": [ "dc:type" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dcterms:issued" ] }, { "event": "opentag", "data": [ "dcterms:issued", {} ] }, { "event": "text", "data": [ "2011-11-04T09:35:17-07:00" ] }, { "event": "closetag", "data": [ "dcterms:issued" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "item" ] }, { "event": "attribute", "data": [ "rdf:about", "http://sfbay.craigslist.org/eby/rid/2685010755.html" ] }, { "event": "opentag", "data": [ "item", { "rdf:about": "http://sfbay.craigslist.org/eby/rid/2685010755.html" } ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ "\nRide Offered - Oakland/BART to LA/SFV - TODAY 3PM 11/04 (oakland north / temescal)\n" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "link" ] }, { "event": "opentag", "data": [ "link", {} ] }, { "event": "text", "data": [ "\nhttp://sfbay.craigslist.org/eby/rid/2685010755.html\n" ] }, { "event": "closetag", "data": [ "link" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "description" ] }, { "event": "opentag", "data": [ "description", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ "\nIm offering a lift for up to two people from Oakland (or near any BART station in the East Bay/580/880 Corridor, or San Jose/Morgan Hill, Gilroy) to the San Fernando Valley / Los Angeles area. Specifically, Im leaving from Oakland between 2:30 and 3:00pm (this is flexible, but if I leave too late my girlfriend will kill me), and heading to Woodland Hills via the 580, I-5, 405, and 101.\n" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "description" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:date" ] }, { "event": "opentag", "data": [ "dc:date", {} ] }, { "event": "text", "data": [ "2011-11-04T09:34:54-07:00" ] }, { "event": "closetag", "data": [ "dc:date" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:language" ] }, { "event": "opentag", "data": [ "dc:language", {} ] }, { "event": "text", "data": [ "en-us" ] }, { "event": "closetag", "data": [ "dc:language" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:rights" ] }, { "event": "opentag", "data": [ "dc:rights", {} ] }, { "event": "text", "data": [ "Copyright 2011 craigslist, inc." ] }, { "event": "closetag", "data": [ "dc:rights" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:source" ] }, { "event": "opentag", "data": [ "dc:source", {} ] }, { "event": "text", "data": [ "\nhttp://sfbay.craigslist.org/eby/rid/2685010755.html\n" ] }, { "event": "closetag", "data": [ "dc:source" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:title" ] }, { "event": "opentag", "data": [ "dc:title", {} ] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ "\nRide Offered - Oakland/BART to LA/SFV - TODAY 3PM 11/04 (oakland north / temescal)\n" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": [ "dc:title" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dc:type" ] }, { "event": "opentag", "data": [ "dc:type", {} ] }, { "event": "text", "data": [ "text" ] }, { "event": "closetag", "data": [ "dc:type" ] }, { "event": "text", "data": [ "\n\t\t" ] }, { "event": "opentagname", "data": [ "dcterms:issued" ] }, { "event": "opentag", "data": [ "dcterms:issued", {} ] }, { "event": "text", "data": [ "2011-11-04T09:34:54-07:00" ] }, { "event": "closetag", "data": [ "dcterms:issued" ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "closetag", "data": [ "item" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "closetag", "data": [ "rdf:RDF" ] } ] }node-htmlparser2-3.7.3/test/Stream/05-Attributes.json000066400000000000000000000116351235726500100223760ustar00rootroot00000000000000{ "name": "Attributes", "options": {}, "file": "Attributes.html", "expected": [ { "event": "processinginstruction", "data": [ "!doctype", "!doctype html" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "html" ] }, { "event": "opentag", "data": [ "html", {} ] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "head" ] }, { "event": "opentag", "data": [ "head", {} ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "title" ] }, { "event": "opentag", "data": [ "title", {} ] }, { "event": "text", "data": [ "Attributes test" ] }, { "event": "closetag", "data": [ "title" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "closetag", "data": [ "head" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "opentagname", "data": [ "body" ] }, { "event": "opentag", "data": [ "body", {} ] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "comment", "data": [ " Normal attributes " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "button" ] }, { "event": "attribute", "data": [ "id", "test0" ] }, { "event": "attribute", "data": [ "class", "value0" ] }, { "event": "attribute", "data": [ "title", "value1" ] }, { "event": "opentag", "data": [ "button", { "id": "test0", "class": "value0", "title": "value1" } ] }, { "event": "text", "data": [ "class=\"value0\" title=\"value1\"" ] }, { "event": "closetag", "data": [ "button" ] }, { "event": "text", "data": [ "\n\n\t" ] }, { "event": "comment", "data": [ " Attributes with no quotes or value " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "button" ] }, { "event": "attribute", "data": [ "id", "test1" ] }, { "event": "attribute", "data": [ "class", "value2" ] }, { "event": "attribute", "data": [ "disabled", "" ] }, { "event": "opentag", "data": [ "button", { "id": "test1", "class": "value2", "disabled": "" } ] }, { "event": "text", "data": [ "class=value2 disabled" ] }, { "event": "closetag", "data": [ "button" ] }, { "event": "text", "data": [ "\n\n\t" ] }, { "event": "comment", "data": [ " Attributes with no space between them. No valid, but accepted by the browser " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": [ "\n\t" ] }, { "event": "opentagname", "data": [ "button" ] }, { "event": "attribute", "data": [ "id", "test2" ] }, { "event": "attribute", "data": [ "class", "value4" ] }, { "event": "attribute", "data": [ "title", "value5" ] }, { "event": "opentag", "data": [ "button", { "id": "test2", "class": "value4", "title": "value5" } ] }, { "event": "text", "data": [ "class=\"value4\"title=\"value5\"" ] }, { "event": "closetag", "data": [ "button" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "closetag", "data": [ "body" ] }, { "event": "text", "data": [ "\n" ] }, { "event": "closetag", "data": [ "html" ] } ] }node-htmlparser2-3.7.3/test/api.js000066400000000000000000000027541235726500100170110ustar00rootroot00000000000000var htmlparser2 = require(".."), assert = require("assert"); describe("API", function(){ it("should load all modules", function(){ var Stream = require("../lib/Stream.js"); assert.strictEqual(htmlparser2.Stream, Stream, "should load module"); assert.strictEqual(htmlparser2.Stream, Stream, "should load it again (cache)"); var ProxyHandler = require("../lib/ProxyHandler.js"); assert.strictEqual(htmlparser2.ProxyHandler, ProxyHandler, "should load module"); assert.strictEqual(htmlparser2.ProxyHandler, ProxyHandler, "should load it again (cache)"); }); it("should work without callbacks", function(){ var p = new htmlparser2.Parser(null, {xmlMode: true, lowerCaseAttributeNames: true}); p.end("boohay"); p.write("foo"); //check for an error p.end(); var err = false; p._cbs.onerror = function(){ err = true; }; p.write("foo"); assert(err); err = false; p.end(); assert(err); p.reset(); //remove method p._cbs.onopentag = function(){}; p.write(""); //pause/resume var processed = false; p._cbs.ontext = function(t){ assert.equal(t, "foo"); processed = true; }; p.pause(); p.write("foo"); assert(!processed); p.resume(); assert(processed); processed = false; p.pause(); assert(!processed); p.resume(); assert(!processed); p.pause(); p.end("foo"); assert(!processed); p.resume(); assert(processed); }); });node-htmlparser2-3.7.3/test/test-helper.js000066400000000000000000000035531235726500100204720ustar00rootroot00000000000000var htmlparser2 = require(".."), fs = require("fs"), path = require("path"), assert = require("assert"), Parser = htmlparser2.Parser, CollectingHandler = htmlparser2.CollectingHandler; exports.writeToParser = function(handler, options, data){ var parser = new Parser(handler, options); //first, try to run the test via chunks for(var i = 0; i < data.length; i++){ parser.write(data.charAt(i)); } parser.end(); //then parse everything parser.parseComplete(data); }; //returns a tree structure exports.getEventCollector = function(cb){ var handler = new CollectingHandler({onerror: cb, onend: onend}); return handler; function onend(){ cb(null, handler.events.reduce(eventReducer, [])); } }; function eventReducer(events, arr){ if(arr[0] === "onerror" || arr[0] === "onend"); else if(arr[0] === "ontext" && events.length && events[events.length-1].event === "text"){ events[events.length-1].data[0] += arr[1]; } else { events.push({ event: arr[0].substr(2), data: arr.slice(1) }); } return events; } function getCallback(expected, done){ var repeated = false; return function(err, actual){ assert.ifError(err); try { assert.deepEqual(expected, actual, "didn't get expected output"); } catch(e){ e.expected = JSON.stringify(expected, null, 2); e.actual = JSON.stringify(actual, null, 2); throw e; } if(repeated) done(); else repeated = true; }; } exports.mochaTest = function(name, root, test){ describe(name, readDir); function readDir(){ var dir = path.join(root, name); fs .readdirSync(dir) .filter(RegExp.prototype.test, /^[^\._]/) //ignore all files with a leading dot or underscore .map(function(name){ return path.join(dir, name); }) .map(require) .forEach(runTest); } function runTest(file){ it(file.name, function(done){ test(file, getCallback(file.expected, done)); }); } };