From f167a71c8093f368b33c5fe53b68f9c7fbbc9eb6 Mon Sep 17 00:00:00 2001 From: Jeffrey Yasskin Date: Tue, 11 Jun 2024 17:33:28 +0000 Subject: [PATCH 1/2] Add a test that the no-nullable-attribute-binding fix suggestion actually works. --- .../src/test/rules/no-nullable-attribute-binding.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts b/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts index 1cccbb70..1c1bf867 100644 --- a/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts +++ b/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts @@ -21,6 +21,16 @@ tsTest("Cannot assign 'null' in attribute binding", t => { hasDiagnostic(t, diagnostics, "no-nullable-attribute-binding"); }); +tsTest("Can pass 'null' through ifDefined in attribute binding", t => { + const { diagnostics } = getDiagnostics('import {ifDefined} from "lit/directives/if-defined.js";\nhtml``'); + hasNoDiagnostics(t, diagnostics); +}); + +tsTest("Can pass 'null' through ??nothing in attribute binding", t => { + const { diagnostics } = getDiagnostics('html``'); + hasNoDiagnostics(t, diagnostics); +}); + tsTest("Can assign 'null' in property binding", t => { const { diagnostics } = getDiagnostics('html``'); hasNoDiagnostics(t, diagnostics); From 8a29e441661c8155e9c167a52f6bbab7e3dbe841 Mon Sep 17 00:00:00 2001 From: Jeffrey Yasskin Date: Tue, 11 Jun 2024 23:11:03 +0000 Subject: [PATCH 2/2] Run Prettier. --- .../src/test/rules/no-nullable-attribute-binding.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts b/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts index 1c1bf867..5bd324a4 100644 --- a/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts +++ b/packages/lit-analyzer/src/test/rules/no-nullable-attribute-binding.ts @@ -22,7 +22,9 @@ tsTest("Cannot assign 'null' in attribute binding", t => { }); tsTest("Can pass 'null' through ifDefined in attribute binding", t => { - const { diagnostics } = getDiagnostics('import {ifDefined} from "lit/directives/if-defined.js";\nhtml``'); + const { diagnostics } = getDiagnostics( + 'import {ifDefined} from "lit/directives/if-defined.js";\nhtml``' + ); hasNoDiagnostics(t, diagnostics); });