Skip to content

Parsing error: Unterminated string constant when string includes "<body> #141

Closed
@domenic

Description

@domenic

Description

When linting the following document:

<!DOCTYPE html>
<meta charset="utf-8">
<title>innerHTML to empty string</title>
<link rel="help" href="https://w3c.github.io/DOM-Parsing/#dom-element-innerhtml">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<script>
  "use strict";

  test(() => {
    const doc = document.createElement("html");
    doc.innerHTML = "<head><title>foo</title></head><body>";

    doc.innerHTML = "";

    assert_true(doc.getElementsByTagName("body")[0] instanceof HTMLBodyElement);

  }, "Setting innerHTML to empty string");
</script>

I get

  13:21  error  Parsing error: Unterminated string constant

This goes away if I modify line 13 from

    doc.innerHTML = "<head><title>foo</title></head><body>";

to

    doc.innerHTML = "<head><title>foo</title></head>";

Setup configuration

Aditional context

This is occuring trying to upgrade jsdom from its current version as of today to the latest versions of ESLint and eslint-plugin-html.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions