diff --git a/packages/parse5/lib/common/html.ts b/packages/parse5/lib/common/html.ts index 48e27317f..190af7087 100644 --- a/packages/parse5/lib/common/html.ts +++ b/packages/parse5/lib/common/html.ts @@ -139,6 +139,7 @@ export enum TAG_NAMES { S = 's', SCRIPT = 'script', + SEARCH = 'search', SECTION = 'section', SELECT = 'select', SOURCE = 'source', @@ -292,6 +293,7 @@ export enum TAG_ID { S, SCRIPT, + SEARCH, SECTION, SELECT, SOURCE, @@ -423,6 +425,7 @@ const TAG_NAME_TO_ID = new Map([ [TAG_NAMES.RUBY, TAG_ID.RUBY], [TAG_NAMES.S, TAG_ID.S], [TAG_NAMES.SCRIPT, TAG_ID.SCRIPT], + [TAG_NAMES.SEARCH, TAG_ID.SEARCH], [TAG_NAMES.SECTION, TAG_ID.SECTION], [TAG_NAMES.SELECT, TAG_ID.SELECT], [TAG_NAMES.SOURCE, TAG_ID.SOURCE], diff --git a/packages/parse5/lib/parser/index.test.ts b/packages/parse5/lib/parser/index.test.ts index fefb9cc2e..9c66592f4 100644 --- a/packages/parse5/lib/parser/index.test.ts +++ b/packages/parse5/lib/parser/index.test.ts @@ -30,7 +30,6 @@ generateParsingTests( { withoutErrors: true, suitePath: new URL('../../../../test/data/html5lib-tests/tree-construction', import.meta.url), - expectErrors: ['0.search-element', '1.search-element'], }, (test, opts) => ({ node: test.fragmentContext ? parseFragment(test.fragmentContext, test.input, opts) : parse(test.input, opts), diff --git a/packages/parse5/lib/parser/index.ts b/packages/parse5/lib/parser/index.ts index 5624c4a7c..34a4c98e3 100644 --- a/packages/parse5/lib/parser/index.ts +++ b/packages/parse5/lib/parser/index.ts @@ -2253,6 +2253,7 @@ function startTagInBody(p: Parser, token: TagTo case $.DETAILS: case $.ADDRESS: case $.ARTICLE: + case $.SEARCH: case $.SECTION: case $.SUMMARY: case $.FIELDSET: @@ -2583,6 +2584,7 @@ function endTagInBody(p: Parser, token: TagToke case $.ADDRESS: case $.ARTICLE: case $.DETAILS: + case $.SEARCH: case $.SECTION: case $.SUMMARY: case $.LISTING: