isaacs / sax-js

A sax style parser for JS
Other
1.09k stars 325 forks source link

fix issue 261: parser.tag is containing tag in non-text nodes #263

Open jpilgrim opened 9 months ago

jpilgrim commented 9 months ago

This PR fixes issue #261.

According to the documentation, the parser object property "tag" reflects "The current tag being dealt with." What is the "current tag". I assume this is the containing tag (or element) in case of non-tag nodes such as comments or text.

This PR ensures that parser.tag always is the current node.

For some node types (e.g., comments) no tag has been available before. For other node types (text and processing instructions), in some cases the following node has been set. This is fixed now.

The PR contains a test file which (dynamically) generates 60 scenarios ensuring that the current tag is actually available.