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",