testParser.parser.parse();
assert.isFalse(testParser.start.called);
assert.isFalse(testParser.end.called);
assert.isFalse(testParser.data.called);
var testParser = createTestParser();
testParser.parser.parse('<!-- foobar -->');
assert.isFalse(testParser.start.called);
assert.isFalse(testParser.end.called);
assert.isFalse(testParser.data.called);
assert.equal(testParser.start.callCount, 1);
assert.equal(testParser.end.callCount, 1);
assert.isTrue(testParser.start.calledWith('div'));
var testParser = createTestParser();
testParser.parser.parse('<div bar="foo" foo="bar" foobar></div>');
assert.equal(testParser.start.firstCall.args[1], 'bar="foo" foo="bar" foobar');
assert.equal(testParser.data.callCount, 1);
assert.equal(testParser.data.firstCall.args[0], 'foobar');
assert.isFalse(testParser.end.called);
assert.equal(testParser.start.callCount, tagNames.length);
var encounteredTags = testParser.start.args.map(function (args) {
return args[0];
});
assert.sameMembers(encounteredTags, tagNames);
testParser.parser.parse('<style>body{font-size:16px;}h1{color:red;}</style>');
assert.equal(testParser.data.firstCall.args[0], 'body{font-size:16px;}h1{color:red;}');
testParser.parser.parse('<script>var a="<p>test</p>";alert(a);</script>');
assert.equal(testParser.data.firstCall.args[0], 'var a="<p>test</p>";alert(a);');
var testParser = createTestParser({ parseAttributes: true });
testParser.parser.parse('<div id="foo" class="bar baz" foo-bar-baz="baz"></div>');
var attrs = {
id: 'foo',
class: 'bar baz',
fooBarBaz: 'baz'
};
assert.deepEqual(testParser.start.firstCall.args[1], attrs);