Comparing version 0.3.4 to 0.3.5
@@ -237,2 +237,3 @@ // wrapper for non-node envs | ||
, entity = number+letter+"#" | ||
, attribEnd = whitespace + ">" | ||
, CDATA = "[CDATA[" | ||
@@ -244,5 +245,27 @@ , DOCTYPE = "DOCTYPE" | ||
function is (charclass, c) { return charclass.indexOf(c) !== -1 } | ||
function not (charclass, c) { return !is(charclass, c) } | ||
// turn all the string character sets into character class objects. | ||
whitespace = charClass(whitespace) | ||
number = charClass(number) | ||
letter = charClass(letter) | ||
nameStart = charClass(nameStart) | ||
nameBody = charClass(nameBody) | ||
quote = charClass(quote) | ||
entity = charClass(entity) | ||
attribEnd = charClass(attribEnd) | ||
function charClass (str) { | ||
return str.split("").reduce(function (s, c) { | ||
s[c] = true | ||
return s | ||
}, {}) | ||
} | ||
function is (charclass, c) { | ||
return charclass[c] | ||
} | ||
function not (charclass, c) { | ||
return !charclass[c] | ||
} | ||
var S = 0 | ||
@@ -910,3 +933,3 @@ sax.STATE = | ||
case S.ATTRIB_VALUE_UNQUOTED: | ||
if (not(whitespace+">",c)) { | ||
if (not(attribEnd,c)) { | ||
if (c === "&") parser.state = S.ATTRIB_VALUE_ENTITY_U | ||
@@ -913,0 +936,0 @@ else parser.attribValue += c |
{ "name" : "sax" | ||
, "description": "An evented streaming XML parser in JavaScript" | ||
, "author" : "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)" | ||
, "version" : "0.3.4" | ||
, "version" : "0.3.5" | ||
, "main" : "lib/sax.js" | ||
@@ -6,0 +6,0 @@ , "license" : { "type": "MIT" |
@@ -1,3 +0,3 @@ | ||
var util = require("util") | ||
var globalsBefore = JSON.stringify(Object.keys(global)) | ||
, util = require("util") | ||
, assert = require("assert") | ||
@@ -50,3 +50,3 @@ , fs = require("fs") | ||
var running = true | ||
, failures = 0 | ||
, failures = 0 | ||
@@ -70,2 +70,10 @@ function fail (file, er) { | ||
require(path.resolve(__dirname, file)) | ||
var globalsAfter = JSON.stringify(Object.keys(global)) | ||
if (globalsAfter !== globalsBefore) { | ||
var er = new Error("new globals introduced\n"+ | ||
"expected: "+globalsBefore+"\n"+ | ||
"actual: "+globalsAfter) | ||
globalsBefore = globalsAfter | ||
throw er | ||
} | ||
console.log("ok " + (++i) + " - " + file) | ||
@@ -72,0 +80,0 @@ } catch (er) { |
436256
1831