diff --git a/src/Parser.ts b/src/Parser.ts
index aa0c33df2..5d0bda411 100644
--- a/src/Parser.ts
+++ b/src/Parser.ts
@@ -330,7 +330,7 @@ export class Parser {
let count = this.stack.length - pos;
while (count--) {
// We know the stack has sufficient elements.
- this.cbs.onclosetag(this.stack.pop()!, pos !== 0);
+ this.cbs.onclosetag(this.stack.pop()!, count !== 0);
}
} else this.stack.length = pos;
} else if (!this.options.xmlMode && name === "p") {
diff --git a/src/__fixtures__/Events/02-template.json b/src/__fixtures__/Events/02-template.json
index 29e06ba83..06c817a57 100644
--- a/src/__fixtures__/Events/02-template.json
+++ b/src/__fixtures__/Events/02-template.json
@@ -48,7 +48,7 @@
"event": "closetag",
"startIndex": 49,
"endIndex": 57,
- "data": ["script", true]
+ "data": ["script", false]
},
{
"event": "closetag",
diff --git a/src/__fixtures__/Events/08-implicit-close-tags.json b/src/__fixtures__/Events/08-implicit-close-tags.json
index 51944a233..a7d4f44ac 100644
--- a/src/__fixtures__/Events/08-implicit-close-tags.json
+++ b/src/__fixtures__/Events/08-implicit-close-tags.json
@@ -156,7 +156,7 @@
"event": "closetag",
"startIndex": 83,
"endIndex": 87,
- "data": ["h3", true]
+ "data": ["h3", false]
},
{
"event": "closetag",
@@ -216,7 +216,7 @@
"event": "closetag",
"startIndex": 104,
"endIndex": 109,
- "data": ["div", true]
+ "data": ["div", false]
},
{
"event": "closetag",
@@ -258,7 +258,7 @@
"event": "closetag",
"startIndex": 123,
"endIndex": 128,
- "data": ["div", true]
+ "data": ["div", false]
},
{
"event": "closetag",
@@ -276,13 +276,13 @@
"event": "closetag",
"startIndex": 129,
"endIndex": 136,
- "data": ["table", true]
+ "data": ["table", false]
},
{
"event": "closetag",
"startIndex": 137,
"endIndex": 142,
- "data": ["div", true]
+ "data": ["div", false]
},
{
"event": "closetag",
@@ -336,19 +336,19 @@
"event": "closetag",
"startIndex": 165,
"endIndex": 169,
- "data": ["h3", true]
+ "data": ["h3", false]
},
{
"event": "closetag",
"startIndex": 170,
"endIndex": 175,
- "data": ["div", true]
+ "data": ["div", false]
},
{
"event": "closetag",
"startIndex": 176,
"endIndex": 180,
- "data": ["li", true]
+ "data": ["li", false]
},
{
"event": "closetag",
@@ -480,7 +480,7 @@
"event": "closetag",
"startIndex": 231,
"endIndex": 235,
- "data": ["li", false]
+ "data": ["li", true]
},
{
"event": "closetag",
diff --git a/src/__fixtures__/Events/11-script_in_script.json b/src/__fixtures__/Events/11-script_in_script.json
index 5f439a223..f88262b71 100644
--- a/src/__fixtures__/Events/11-script_in_script.json
+++ b/src/__fixtures__/Events/11-script_in_script.json
@@ -36,7 +36,7 @@
"event": "closetag",
"startIndex": 44,
"endIndex": 52,
- "data": ["script", true]
+ "data": ["script", false]
},
{
"event": "closetag",
diff --git a/src/__fixtures__/Events/24-special_special.json b/src/__fixtures__/Events/24-special_special.json
index 0d422bf79..137a35ca4 100644
--- a/src/__fixtures__/Events/24-special_special.json
+++ b/src/__fixtures__/Events/24-special_special.json
@@ -54,7 +54,7 @@
"event": "closetag",
"startIndex": 42,
"endIndex": 45,
- "data": ["b", true]
+ "data": ["b", false]
},
{
"event": "closetag",
@@ -90,7 +90,7 @@
"event": "closetag",
"startIndex": 64,
"endIndex": 67,
- "data": ["b", true]
+ "data": ["b", false]
},
{
"event": "closetag",
diff --git a/src/__fixtures__/Events/44-indices.json b/src/__fixtures__/Events/44-indices.json
index 0054e7958..1df1cef04 100644
--- a/src/__fixtures__/Events/44-indices.json
+++ b/src/__fixtures__/Events/44-indices.json
@@ -54,7 +54,7 @@
"event": "closetag",
"startIndex": 39,
"endIndex": 46,
- "data": ["title", true]
+ "data": ["title", false]
},
{
"event": "text",
@@ -108,13 +108,13 @@
"event": "closetag",
"startIndex": 81,
"endIndex": 84,
- "data": ["p", true]
+ "data": ["p", false]
},
{
"event": "closetag",
"startIndex": 85,
"endIndex": 91,
- "data": ["body", true]
+ "data": ["body", false]
},
{
"event": "text",
diff --git a/src/__snapshots__/WritableStream.spec.ts.snap b/src/__snapshots__/WritableStream.spec.ts.snap
index f35de7e2e..901aa5197 100644
--- a/src/__snapshots__/WritableStream.spec.ts.snap
+++ b/src/__snapshots__/WritableStream.spec.ts.snap
@@ -111,7 +111,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 167,
"event": "closetag",
@@ -155,7 +155,7 @@ Array [
Object {
"data": Array [
"subtitle",
- true,
+ false,
],
"endIndex": 201,
"event": "closetag",
@@ -306,7 +306,7 @@ Array [
Object {
"data": Array [
"id",
- true,
+ false,
],
"endIndex": 347,
"event": "closetag",
@@ -350,7 +350,7 @@ Array [
Object {
"data": Array [
"updated",
- true,
+ false,
],
"endIndex": 388,
"event": "closetag",
@@ -421,7 +421,7 @@ Array [
Object {
"data": Array [
"name",
- true,
+ false,
],
"endIndex": 422,
"event": "closetag",
@@ -465,7 +465,7 @@ Array [
Object {
"data": Array [
"email",
- true,
+ false,
],
"endIndex": 459,
"event": "closetag",
@@ -483,7 +483,7 @@ Array [
Object {
"data": Array [
"author",
- true,
+ false,
],
"endIndex": 470,
"event": "closetag",
@@ -555,7 +555,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 526,
"event": "closetag",
@@ -776,7 +776,7 @@ Array [
Object {
"data": Array [
"id",
- true,
+ false,
],
"endIndex": 800,
"event": "closetag",
@@ -820,7 +820,7 @@ Array [
Object {
"data": Array [
"updated",
- true,
+ false,
],
"endIndex": 842,
"event": "closetag",
@@ -894,7 +894,7 @@ Array [
Object {
"data": Array [
"p",
- true,
+ false,
],
"endIndex": 886,
"event": "closetag",
@@ -903,7 +903,7 @@ Array [
Object {
"data": Array [
"content",
- true,
+ false,
],
"endIndex": 896,
"event": "closetag",
@@ -921,7 +921,7 @@ Array [
Object {
"data": Array [
"entry",
- true,
+ false,
],
"endIndex": 906,
"event": "closetag",
@@ -1098,7 +1098,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 60,
"event": "closetag",
@@ -1116,7 +1116,7 @@ Array [
Object {
"data": Array [
"head",
- true,
+ false,
],
"endIndex": 68,
"event": "closetag",
@@ -1244,7 +1244,7 @@ Array [
Object {
"data": Array [
"button",
- true,
+ false,
],
"endIndex": 192,
"event": "closetag",
@@ -1345,7 +1345,7 @@ Array [
Object {
"data": Array [
"button",
- true,
+ false,
],
"endIndex": 311,
"event": "closetag",
@@ -1447,7 +1447,7 @@ Array [
Object {
"data": Array [
"button",
- true,
+ false,
],
"endIndex": 486,
"event": "closetag",
@@ -1465,7 +1465,7 @@ Array [
Object {
"data": Array [
"body",
- true,
+ false,
],
"endIndex": 494,
"event": "closetag",
@@ -1550,7 +1550,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 44,
"event": "closetag",
@@ -1585,7 +1585,7 @@ Array [
Object {
"data": Array [
"body",
- true,
+ false,
],
"endIndex": 68,
"event": "closetag",
@@ -1818,7 +1818,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 585,
"event": "closetag",
@@ -1862,7 +1862,7 @@ Array [
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 637,
"event": "closetag",
@@ -1942,7 +1942,7 @@ Array [
Object {
"data": Array [
"dc:language",
- true,
+ false,
],
"endIndex": 689,
"event": "closetag",
@@ -1986,7 +1986,7 @@ Array [
Object {
"data": Array [
"dc:rights",
- true,
+ false,
],
"endIndex": 741,
"event": "closetag",
@@ -2030,7 +2030,7 @@ Array [
Object {
"data": Array [
"dc:publisher",
- true,
+ false,
],
"endIndex": 801,
"event": "closetag",
@@ -2074,7 +2074,7 @@ Array [
Object {
"data": Array [
"dc:creator",
- true,
+ false,
],
"endIndex": 857,
"event": "closetag",
@@ -2118,7 +2118,7 @@ Array [
Object {
"data": Array [
"dc:source",
- true,
+ false,
],
"endIndex": 919,
"event": "closetag",
@@ -2162,7 +2162,7 @@ Array [
Object {
"data": Array [
"dc:title",
- true,
+ false,
],
"endIndex": 972,
"event": "closetag",
@@ -2206,7 +2206,7 @@ Array [
Object {
"data": Array [
"dc:type",
- true,
+ false,
],
"endIndex": 1004,
"event": "closetag",
@@ -2250,7 +2250,7 @@ Array [
Object {
"data": Array [
"syn:updateBase",
- true,
+ false,
],
"endIndex": 1065,
"event": "closetag",
@@ -2294,7 +2294,7 @@ Array [
Object {
"data": Array [
"syn:updateFrequency",
- true,
+ false,
],
"endIndex": 1112,
"event": "closetag",
@@ -2338,7 +2338,7 @@ Array [
Object {
"data": Array [
"syn:updatePeriod",
- true,
+ false,
],
"endIndex": 1158,
"event": "closetag",
@@ -2458,7 +2458,7 @@ Array [
Object {
"data": Array [
"rdf:Seq",
- true,
+ false,
],
"endIndex": 1267,
"event": "closetag",
@@ -2476,7 +2476,7 @@ Array [
Object {
"data": Array [
"items",
- true,
+ false,
],
"endIndex": 1278,
"event": "closetag",
@@ -2494,7 +2494,7 @@ Array [
Object {
"data": Array [
"channel",
- true,
+ false,
],
"endIndex": 1290,
"event": "closetag",
@@ -2589,7 +2589,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 1402,
"event": "closetag",
@@ -2635,7 +2635,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 1462,
"event": "closetag",
@@ -2693,7 +2693,7 @@ Great test content
A link: Github
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 1574,
"event": "closetag",
@@ -2737,7 +2737,7 @@ Great test content
A link: Github
Object {
"data": Array [
"dc:date",
- true,
+ false,
],
"endIndex": 1621,
"event": "closetag",
@@ -2781,7 +2781,7 @@ Great test content
A link: Github
Object {
"data": Array [
"dc:language",
- true,
+ false,
],
"endIndex": 1656,
"event": "closetag",
@@ -2825,7 +2825,7 @@ Great test content
A link: Github
Object {
"data": Array [
"dc:rights",
- true,
+ false,
],
"endIndex": 1708,
"event": "closetag",
@@ -2871,7 +2871,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"dc:source",
- true,
+ false,
],
"endIndex": 1778,
"event": "closetag",
@@ -2927,7 +2927,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"dc:title",
- true,
+ false,
],
"endIndex": 1833,
"event": "closetag",
@@ -2971,7 +2971,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"dc:type",
- true,
+ false,
],
"endIndex": 1859,
"event": "closetag",
@@ -3015,7 +3015,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"dcterms:issued",
- true,
+ false,
],
"endIndex": 1920,
"event": "closetag",
@@ -3033,7 +3033,7 @@ http://somefakesite/path/to/something.html
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 1929,
"event": "closetag",
@@ -3130,7 +3130,7 @@ This space intentionally left blank
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 2064,
"event": "closetag",
@@ -3176,7 +3176,7 @@ http://somefakesite/path/to/something-else.html
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 2129,
"event": "closetag",
@@ -3234,7 +3234,7 @@ The early bird gets the worm
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 2201,
"event": "closetag",
@@ -3278,7 +3278,7 @@ The early bird gets the worm
Object {
"data": Array [
"dc:date",
- true,
+ false,
],
"endIndex": 2248,
"event": "closetag",
@@ -3322,7 +3322,7 @@ The early bird gets the worm
Object {
"data": Array [
"dc:language",
- true,
+ false,
],
"endIndex": 2283,
"event": "closetag",
@@ -3366,7 +3366,7 @@ The early bird gets the worm
Object {
"data": Array [
"dc:rights",
- true,
+ false,
],
"endIndex": 2335,
"event": "closetag",
@@ -3412,7 +3412,7 @@ http://somefakesite/path/to/something-else.html
Object {
"data": Array [
"dc:source",
- true,
+ false,
],
"endIndex": 2410,
"event": "closetag",
@@ -3470,7 +3470,7 @@ This space intentionally left blank
Object {
"data": Array [
"dc:title",
- true,
+ false,
],
"endIndex": 2483,
"event": "closetag",
@@ -3514,7 +3514,7 @@ This space intentionally left blank
Object {
"data": Array [
"dc:type",
- true,
+ false,
],
"endIndex": 2509,
"event": "closetag",
@@ -3558,7 +3558,7 @@ This space intentionally left blank
Object {
"data": Array [
"dcterms:issued",
- true,
+ false,
],
"endIndex": 2570,
"event": "closetag",
@@ -3576,7 +3576,7 @@ This space intentionally left blank
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 2579,
"event": "closetag",
@@ -3741,7 +3741,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 153,
"event": "closetag",
@@ -3785,7 +3785,7 @@ Array [
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 202,
"event": "closetag",
@@ -3829,7 +3829,7 @@ Array [
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 265,
"event": "closetag",
@@ -3873,7 +3873,7 @@ Array [
Object {
"data": Array [
"language",
- true,
+ false,
],
"endIndex": 298,
"event": "closetag",
@@ -3917,7 +3917,7 @@ Array [
Object {
"data": Array [
"pubDate",
- true,
+ false,
],
"endIndex": 353,
"event": "closetag",
@@ -3962,7 +3962,7 @@ Array [
Object {
"data": Array [
"lastBuildDate",
- true,
+ false,
],
"endIndex": 421,
"event": "closetag",
@@ -4006,7 +4006,7 @@ Array [
Object {
"data": Array [
"docs",
- true,
+ false,
],
"endIndex": 478,
"event": "closetag",
@@ -4050,7 +4050,7 @@ Array [
Object {
"data": Array [
"generator",
- true,
+ false,
],
"endIndex": 525,
"event": "closetag",
@@ -4094,7 +4094,7 @@ Array [
Object {
"data": Array [
"managingEditor",
- true,
+ false,
],
"endIndex": 583,
"event": "closetag",
@@ -4138,7 +4138,7 @@ Array [
Object {
"data": Array [
"webMaster",
- true,
+ false,
],
"endIndex": 634,
"event": "closetag",
@@ -4210,7 +4210,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 682,
"event": "closetag",
@@ -4254,7 +4254,7 @@ Array [
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 761,
"event": "closetag",
@@ -4298,7 +4298,7 @@ Array [
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 1034,
"event": "closetag",
@@ -4342,7 +4342,7 @@ Array [
Object {
"data": Array [
"pubDate",
- true,
+ false,
],
"endIndex": 1092,
"event": "closetag",
@@ -4386,7 +4386,7 @@ Array [
Object {
"data": Array [
"guid",
- true,
+ false,
],
"endIndex": 1167,
"event": "closetag",
@@ -4405,7 +4405,7 @@ Array [
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 1182,
"event": "closetag",
@@ -4476,7 +4476,7 @@ Array [
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 1449,
"event": "closetag",
@@ -4520,7 +4520,7 @@ Array [
Object {
"data": Array [
"pubDate",
- true,
+ false,
],
"endIndex": 1507,
"event": "closetag",
@@ -4564,7 +4564,7 @@ Array [
Object {
"data": Array [
"guid",
- true,
+ false,
],
"endIndex": 1582,
"event": "closetag",
@@ -4583,7 +4583,7 @@ Array [
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 1597,
"event": "closetag",
@@ -4654,7 +4654,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 1660,
"event": "closetag",
@@ -4698,7 +4698,7 @@ Array [
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 1737,
"event": "closetag",
@@ -4742,7 +4742,7 @@ Array [
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 1937,
"event": "closetag",
@@ -4786,7 +4786,7 @@ Array [
Object {
"data": Array [
"pubDate",
- true,
+ false,
],
"endIndex": 1995,
"event": "closetag",
@@ -4830,7 +4830,7 @@ Array [
Object {
"data": Array [
"guid",
- true,
+ false,
],
"endIndex": 2070,
"event": "closetag",
@@ -4849,7 +4849,7 @@ Array [
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 2085,
"event": "closetag",
@@ -4920,7 +4920,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 2148,
"event": "closetag",
@@ -4964,7 +4964,7 @@ Array [
Object {
"data": Array [
"link",
- true,
+ false,
],
"endIndex": 2226,
"event": "closetag",
@@ -5008,7 +5008,7 @@ Array [
Object {
"data": Array [
"description",
- true,
+ false,
],
"endIndex": 2430,
"event": "closetag",
@@ -5052,7 +5052,7 @@ Array [
Object {
"data": Array [
"pubDate",
- true,
+ false,
],
"endIndex": 2488,
"event": "closetag",
@@ -5096,7 +5096,7 @@ Array [
Object {
"data": Array [
"guid",
- true,
+ false,
],
"endIndex": 2563,
"event": "closetag",
@@ -5196,7 +5196,7 @@ Array [
Object {
"data": Array [
"item",
- true,
+ false,
],
"endIndex": 2676,
"event": "closetag",
@@ -5214,7 +5214,7 @@ Array [
Object {
"data": Array [
"channel",
- true,
+ false,
],
"endIndex": 2690,
"event": "closetag",
@@ -5344,7 +5344,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 53,
"event": "closetag",
@@ -5362,7 +5362,7 @@ Array [
Object {
"data": Array [
"head",
- true,
+ false,
],
"endIndex": 61,
"event": "closetag",
@@ -5494,7 +5494,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 189,
"event": "closetag",
@@ -5664,7 +5664,7 @@ Array [
Object {
"data": Array [
"title",
- true,
+ false,
],
"endIndex": 254,
"event": "closetag",
@@ -5718,7 +5718,7 @@ Array [
Object {
"data": Array [
"path",
- true,
+ false,
],
"endIndex": 281,
"event": "closetag",
@@ -5736,7 +5736,7 @@ Array [
Object {
"data": Array [
"g",
- true,
+ false,
],
"endIndex": 288,
"event": "closetag",
@@ -5754,7 +5754,7 @@ Array [
Object {
"data": Array [
"svg",
- true,
+ false,
],
"endIndex": 296,
"event": "closetag",
@@ -5772,7 +5772,7 @@ Array [
Object {
"data": Array [
"body",
- true,
+ false,
],
"endIndex": 304,
"event": "closetag",