Repository: i18next/i18next-parser
Pull request #379 (2021-07-26 04:16:21)

Bump codecov/codecov-action from 1 to 2.0.2
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 2.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/codecov/codecov-action/releases">codecov/codecov-action's releases</a>.</em></p>
<blockquote>
<h2>v2.0.2</h2>
<h3>Fixes</h3>
<ul>
<li>Underlying uploader fixes issues with tokens not being sent properly for users seeing
<code>Error!: Error: Error uploading to https://codecov.io: Error: Error uploading to Codecov: Error: Not Found</code></li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/432">#432</a> fix: use import to destructure package.json</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/434">#434</a> fix: openpgp and asn1.js</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/440">#440</a> 2.0.2 token fixes</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/420">#420</a> Bump eslint from 7.30.0 to 7.31.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/433">#433</a> build(deps-dev): bump <code>@​types/node</code> from 16.3.3 to 16.4.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/425">#425</a> build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code> from 4.28.3 to 4.28.4</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/426">#426</a> build(deps-dev): bump <code>@​typescript-eslint/parser</code> from 4.28.3 to 4.28.4</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/438">#438</a> Set up Dependabot for github-actions dependencies</li>
</ul>
<h2>v2.0.1</h2>
<h3>Fixes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/424">#424</a> fix: Issue in building all deep dependencies</li>
</ul>
<h2>v2.0.0</h2>
<p>On February 1, 2022, the <code>v1</code> uploader will be full sunset and no longer function. This is due
to the deprecation of the underlying bash uploader. This version uses the new <a href="https://github.com/codecov/uploader">uploader</a>.</p>
<p>The <code>v2</code> Action downloads, verifies, and runs the Codecov binary.</p>
<h3>Breaking Changes</h3>
<ul>
<li>Multiple fields have not been transferred from the bash uploader or have been deprecated. Notably
many of the <code>functionalities</code> and <code>gcov_</code> arguments have been removed. Please check the documentation
for the full list.</li>
</ul>
<h3>Features</h3>
<ul>
<li><code>dry-run</code> argument allows Codecov flow without uploading reports to Codecov</li>
<li>(Enterprise only) <code>slug</code> allows specifying the repository slug manually</li>
<li>(Enterprise only) <code>url</code> allows changing the upload host</li>
</ul>
<h2>v1.5.2</h2>
<h2>1.5.2</h2>
<h3>Fixes</h3>
<ul>
<li>
<h1>fix: Import version properly as string not object</h1>
</li>
</ul>
<h2>v1.5.1</h2>
<h2>1.5.1</h2>
<h3>Fixes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/320">#320</a> doc: add github actions badge</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/336">#336</a> Update bash uploader to 1.0.3</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/339">#339</a> fix: Add action version</li>
</ul>
<h3>Dependencies</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md">codecov/codecov-action's changelog</a>.</em></p>
<blockquote>
<h2>2.0.2</h2>
<h3>Fixes</h3>
<ul>
<li>Underlying uploader fixes issues with tokens not being sent properly for users seeing
<code>Error!: Error: Error uploading to https://codecov.io: Error: Error uploading to Codecov: Error: Not Found</code></li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/440">#440</a> fix: Validation ordering</li>
</ul>
<h2>2.0.1</h2>
<h3>Fixes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/424">#424</a> fix: Issue in building all deep dependencies</li>
</ul>
<h2>2.0.0</h2>
<p>On February 1, 2022, the <code>v1</code> uploader will be full sunset and no longer function. This is due
to the deprecation of the underlying bash uploader. This version uses the new <a href="https://github.com/codecov/uploader">uploader</a>.</p>
<p>The <code>v2</code> Action downloads, verifies, and runs the Codecov binary.</p>
<h3>Breaking Changes</h3>
<ul>
<li>Multiple fields have not been transferred from the bash uploader or have been deprecated. Notably
many of the <code>functionalities</code> and <code>gcov_</code> arguments have been removed. Please check the documentation
for the full list.</li>
</ul>
<h3>Features</h3>
<ul>
<li><code>dry-run</code> argument allows Codecov flow without uploading reports to Codecov</li>
<li>(Enterprise only) <code>slug</code> allows specifying the repository slug manually</li>
<li>(Enterprise only) <code>url</code> allows changing the upload host</li>
</ul>
<h2>1.5.2</h2>
<h3>Fixes</h3>
<ul>
<li>
<h1>fix: Import version properly as string not object</h1>
</li>
</ul>
<h2>1.5.1</h2>
<h3>Fixes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/320">#320</a> doc: add github actions badge</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/336">#336</a> Update bash uploader to 1.0.3</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/339">#339</a> fix: Add action version</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/302">#302</a> Bump <code>@​typescript-eslint/eslint-plugin</code> from 4.22.0 to 4.22.1</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/303">#303</a> Bump <code>@​typescript-eslint/parser</code> from 4.22.0 to 4.22.1</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/304">#304</a> Bump ts-jest from 26.5.5 to 26.5.6</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/309">#309</a> Bump lodash from 4.17.19 to 4.17.21</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/310">#310</a> Bump hosted-git-info from 2.8.8 to 2.8.9</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/311">#311</a> Bump <code>@​actions/github</code> from 4.0.0 to 5.0.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/314">#314</a> Bump eslint from 7.25.0 to 7.27.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/315">#315</a> Bump <code>@​actions/core</code> from 1.2.7 to 1.3.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/316">#316</a> Bump <code>@​typescript-eslint/parser</code> from 4.22.1 to 4.25.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/317">#317</a> Bump <code>@​typescript-eslint/eslint-plugin</code> from 4.22.1 to 4.25.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/319">#319</a> Bump jest-junit from 12.0.0 to 12.1.0</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/321">#321</a> Bump typescript from 4.2.4 to 4.3.2</li>
<li><a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/323">#323</a> Bump ws from 7.3.1 to 7.4.6</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/codecov/codecov-action/commit/51d810878be5422784e86451c0e7c14e5860ec47"><code>51d8108</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/440">#440</a> from codecov/2.0.2-token-fixes</li>
<li><a href="https://github.com/codecov/codecov-action/commit/88c796db184decd9587ce608896441b1c96fb3d9"><code>88c796d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/438">#438</a> from mmorel-35/chore/dependabot</li>
<li><a href="https://github.com/codecov/codecov-action/commit/0bbb08247af9376cc8aa170281fce5b5e48bfde4"><code>0bbb082</code></a> fix: Update validation</li>
<li><a href="https://github.com/codecov/codecov-action/commit/53f686aaf8540352482d0bea7b92248ef1e2cb0a"><code>53f686a</code></a> fix: Update validation</li>
<li><a href="https://github.com/codecov/codecov-action/commit/6ab08a75e2ef9b04e5402468f88c8f08039017c0"><code>6ab08a7</code></a> Bump to 2.0.2</li>
<li><a href="https://github.com/codecov/codecov-action/commit/f2242e1815c6a47d64639e34b6aad38aef3fc4e1"><code>f2242e1</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/425">#425</a> from codecov/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a href="https://github.com/codecov/codecov-action/commit/fc2878a5309ea34776e2a8fb3853258d64710d6d"><code>fc2878a</code></a> build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code></li>
<li><a href="https://github.com/codecov/codecov-action/commit/e00e953908be2880a844c7917679fe2adc0f6c83"><code>e00e953</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/426">#426</a> from codecov/dependabot/npm_and_yarn/typescript-eslin...</li>
<li><a href="https://github.com/codecov/codecov-action/commit/8dcb1d2117f92afad705f41f41974505a1ed3fd8"><code>8dcb1d2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/433">#433</a> from codecov/dependabot/npm_and_yarn/types/node-16.4.0</li>
<li><a href="https://github.com/codecov/codecov-action/commit/c5857ba40cc009e8157219891e3a99dbc86718ba"><code>c5857ba</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/codecov/codecov-action/issues/434">#434</a> from RA80533/fix/openpgp</li>
<li>Additional commits viewable in <a href="https://github.com/codecov/codecov-action/compare/v1...v2.0.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=1&new-version=2.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

codecov-commenter: # [Codecov](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next) Report
> Merging [#379](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next) (42846f0) into [master](https://codecov.io/gh/i18next/i18next-parser/commit/f71086a1ddfcf6540744ca19e34cc35439cf0b39?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next) (f71086a) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/i18next/i18next-parser/pull/379/graphs/tree.svg?width=650&height=150&src=pr&token=CJ74Vps41L&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next)](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next)

```diff
@@           Coverage Diff           @@
##           master     #379   +/-   ##
=======================================
  Coverage   93.26%   93.26%           
=======================================
  Files           9        9           
  Lines         594      594           
=======================================
  Hits          554      554           
  Misses         40       40           
```



------

[Continue to review full report at Codecov](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next). Last update [f71086a...42846f0](https://codecov.io/gh/i18next/i18next-parser/pull/379?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=i18next).


Patch:
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index 4140e53..f7fb359 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -27,7 +27,7 @@ jobs:
     - run: npm install
     - run: npm run build
     - run: npm run coverage
-    - uses: codecov/codecov-action@v1
+    - uses: codecov/codecov-action@v2.0.2
       with: 
         name: node-${{ matrix.node-version }}
         fail_ci_if_error: false
diff --git a/dist/lexers/javascript-lexer.js b/dist/lexers/javascript-lexer.js
index 4c98bf0..919f9c9 100644
--- a/dist/lexers/javascript-lexer.js
+++ b/dist/lexers/javascript-lexer.js
@@ -57,6 +57,10 @@ JavascriptLexer = /*#__PURE__*/function (_BaseLexer) {(0, _inherits2["default"])
 
         parseCommentNode(keys, node, content);
 
+        if (node.kind === ts.SyntaxKind.TaggedTemplateExpression) {
+          entry = _this4.taggedTemplateExpressionExtractor.call(_this4, node);
+        }
+
         if (node.kind === ts.SyntaxKind.CallExpression) {
           entry = _this4.expressionExtractor.call(_this4, node);
         }
@@ -76,6 +80,30 @@ JavascriptLexer = /*#__PURE__*/function (_BaseLexer) {(0, _inherits2["default"])
       parseTree(sourceFile);
 
       return this.setNamespaces(keys);
+    } }, { key: "taggedTemplateExpressionExtractor", value:
+
+    function taggedTemplateExpressionExtractor(node) {
+      var entry = {};
+
+      var tag = node.tag,template = node.template;
+
+      var isTranslationFunction =
+      tag.text && this.functions.includes(tag.text) ||
+      tag.name && this.functions.includes(tag.name.text);
+
+      if (!isTranslationFunction) return null;
+
+      if (template.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral) {
+        entry.key = template.text;
+      } else if (template.kind === ts.SyntaxKind.TemplateExpression) {
+        this.emit(
+        'warning',
+        'A key that is a template string must not have any interpolations.');
+
+        return null;
+      }
+
+      return entry;
     } }, { key: "expressionExtractor", value:
 
     function expressionExtractor(node) {
diff --git a/dist/lexers/jsx-lexer.js b/dist/lexers/jsx-lexer.js
index 6fd8fda..56b9973 100644
--- a/dist/lexers/jsx-lexer.js
+++ b/dist/lexers/jsx-lexer.js
@@ -30,6 +30,9 @@ JsxLexer = /*#__PURE__*/function (_JavascriptLexer) {(0, _inherits2["default"])(
           case ts.SyntaxKind.CallExpression:
             entry = _this2.expressionExtractor.call(_this2, node);
             break;
+          case ts.SyntaxKind.TaggedTemplateExpression:
+            entry = _this2.taggedTemplateExpressionExtractor(node);
+            break;
           case ts.SyntaxKind.JsxElement:
             entry = _this2.jsxExtractor.call(_this2, node, content);
             break;
diff --git a/package.json b/package.json
index 152f988..3703e73 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
     "broccoli-plugin": "^4.0.5",
     "cheerio": "^1.0.0-rc.2",
     "colors": "~1.4.0",
-    "commander": "~7.2.0",
+    "commander": "~8.1.0",
     "concat-stream": "~2.0.0",
     "eol": "^0.9.1",
     "fs-extra": "^10.0.0",
diff --git a/src/lexers/javascript-lexer.js b/src/lexers/javascript-lexer.js
index cfef1f2..480e2de 100644
--- a/src/lexers/javascript-lexer.js
+++ b/src/lexers/javascript-lexer.js
@@ -57,6 +57,10 @@ export default class JavascriptLexer extends BaseLexer {
 
       parseCommentNode(keys, node, content)
 
+      if (node.kind === ts.SyntaxKind.TaggedTemplateExpression) {
+        entry = this.taggedTemplateExpressionExtractor.call(this, node)
+      }
+
       if (node.kind === ts.SyntaxKind.CallExpression) {
         entry = this.expressionExtractor.call(this, node)
       }
@@ -78,6 +82,30 @@ export default class JavascriptLexer extends BaseLexer {
     return this.setNamespaces(keys)
   }
 
+  taggedTemplateExpressionExtractor(node) {
+    const entry = {}
+
+    const { tag, template } = node
+
+    const isTranslationFunction =
+      (tag.text && this.functions.includes(tag.text)) ||
+      (tag.name && this.functions.includes(tag.name.text))
+
+    if (!isTranslationFunction) return null
+
+    if (template.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral) {
+      entry.key = template.text
+    } else if (template.kind === ts.SyntaxKind.TemplateExpression) {
+      this.emit(
+        'warning',
+        'A key that is a template string must not have any interpolations.'
+      )
+      return null
+    }
+
+    return entry
+  }
+
   expressionExtractor(node) {
     const entry = {}
 
diff --git a/src/lexers/jsx-lexer.js b/src/lexers/jsx-lexer.js
index 9d19ef0..e5c6933 100644
--- a/src/lexers/jsx-lexer.js
+++ b/src/lexers/jsx-lexer.js
@@ -30,6 +30,9 @@ export default class JsxLexer extends JavascriptLexer {
         case ts.SyntaxKind.CallExpression:
           entry = this.expressionExtractor.call(this, node)
           break
+        case ts.SyntaxKind.TaggedTemplateExpression:
+          entry = this.taggedTemplateExpressionExtractor.call(this, node)
+          break
         case ts.SyntaxKind.JsxElement:
           entry = this.jsxExtractor.call(this, node, content)
           break
diff --git a/yarn.lock b/yarn.lock
index 5f33348..1a883c1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1870,10 +1870,10 @@ commander@~2.20.3:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
   integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
 
-commander@~7.2.0:
-  version "7.2.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
-  integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+commander@~8.1.0:
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-8.1.0.tgz#db36e3e66edf24ff591d639862c6ab2c52664362"
+  integrity sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==
 
 commondir@^1.0.1:
   version "1.0.1"


Test patch:
diff --git a/test/lexers/javascript-lexer.test.js b/test/lexers/javascript-lexer.test.js
index 1f2ec02..057c34f 100644
--- a/test/lexers/javascript-lexer.test.js
+++ b/test/lexers/javascript-lexer.test.js
@@ -259,4 +259,34 @@ describe('JavascriptLexer', () => {
     ])
     assert.strictEqual(warningCount, 2)
   })
+
+  it('extracts non-interpolated tagged templates', () => {
+    const Lexer = new JavascriptLexer()
+    const content = 'i18n.t`some-key`'
+    assert.deepEqual(Lexer.extract(content), [
+      {
+        key: 'some-key',
+      },
+    ])
+  })
+
+  it('emits warnings on interpolated tagged templates', () => {
+    const Lexer = new JavascriptLexer()
+    const content = 'i18n.t`some-key${someVar}keykey`'
+
+    let warningCount = 0
+    Lexer.on('warning', (warning) => {
+      if (
+        warning.indexOf(
+          'A key that is a template string must not have any interpolations.'
+        ) === 0
+      ) {
+        warningCount++
+      }
+    })
+
+    Lexer.extract(content)
+
+    assert.equal(warningCount, 1)
+  })
 })