diff --git a/packages/lit-analyzer/package.json b/packages/lit-analyzer/package.json index ffb5ddbf..19ba7d36 100644 --- a/packages/lit-analyzer/package.json +++ b/packages/lit-analyzer/package.json @@ -47,9 +47,9 @@ "fast-glob": "^2.2.6", "parse5": "5.1.0", "ts-simple-type": "~1.0.5", - "vscode-css-languageservice": "4.3.0", - "vscode-html-languageservice": "3.1.0", - "vscode-web-custom-data": "^0.3.0", + "vscode-css-languageservice": "4.4.0", + "vscode-html-languageservice": "3.2.0", + "vscode-web-custom-data": "^0.3.6", "web-component-analyzer": "~1.1.1" }, "devDependencies": { diff --git a/packages/lit-analyzer/src/test/rules/no-incompatible-type-binding.ts b/packages/lit-analyzer/src/test/rules/no-incompatible-type-binding.ts index c7cc6226..cdc11444 100644 --- a/packages/lit-analyzer/src/test/rules/no-incompatible-type-binding.ts +++ b/packages/lit-analyzer/src/test/rules/no-incompatible-type-binding.ts @@ -177,6 +177,16 @@ tsTest("Attribute binding: Boolean type expression (false) is assignable to 'tru hasNoDiagnostics(t, diagnostics); }); +tsTest("Attribute binding: Non boolean expression (dialog) is assignable to aria-haspopup", t => { + const { diagnostics } = getDiagnostics('html``'); + hasNoDiagnostics(t, diagnostics); +}); + +tsTest("Attribute binding: Random string literal is not assignable to aria-haspopup", t => { + const { diagnostics } = getDiagnostics('html``'); + hasDiagnostic(t, diagnostics, "no-incompatible-type-binding"); +}); + tsTest("Attribute binding: Union of 'string | Directive' type expression is assignable to string", t => { const { diagnostics } = getDiagnostics('type DirectiveFn = {}; html``'); hasNoDiagnostics(t, diagnostics);