diff --git a/crates/biome_cli/tests/cases/handle_astro_files.rs b/crates/biome_cli/tests/cases/handle_astro_files.rs index 60f773b5df0e..1064e1577f64 100644 --- a/crates/biome_cli/tests/cases/handle_astro_files.rs +++ b/crates/biome_cli/tests/cases/handle_astro_files.rs @@ -913,3 +913,53 @@ fn use_import_type_not_triggered_for_enum_in_template() { result, )); } + +#[test] +fn use_import_type_not_triggered_for_enum_in_template_v2() { + let fs = MemoryFileSystem::default(); + let mut console = BufferConsole::default(); + + fs.insert( + "biome.json".into(), + r#"{ "html": { "linter": {"enabled": true}, "experimentalFullSupportEnabled": true } }"# + .as_bytes(), + ); + + let file = Utf8Path::new("file.astro"); + fs.insert( + file.into(), + r#"--- +import { Avatar as AvatarPrimitive } from "bits-ui"; +import { cn } from "$lib/utils.js"; + +let { + ref = $bindable(null), + class: className, +}: AvatarPrimitive.FallbackProps = $props(); +--- + + + +"# + .as_bytes(), + ); + + let (fs, result) = run_cli( + fs, + &mut console, + Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()), + ); + + assert!(result.is_ok(), "run_cli returned {result:?}"); + + assert_cli_snapshot(SnapshotPayload::new( + module_path!(), + "use_import_type_not_triggered_for_enum_in_template_v2", + fs, + console, + result, + )); +} diff --git a/crates/biome_cli/tests/cases/handle_svelte_files.rs b/crates/biome_cli/tests/cases/handle_svelte_files.rs index 1d6f0bf37aa8..fd31ae5e23c5 100644 --- a/crates/biome_cli/tests/cases/handle_svelte_files.rs +++ b/crates/biome_cli/tests/cases/handle_svelte_files.rs @@ -705,3 +705,53 @@ fn use_import_type_not_triggered_for_enum_in_template() { result, )); } + +#[test] +fn use_import_type_not_triggered_for_enum_in_template_v2() { + let fs = MemoryFileSystem::default(); + let mut console = BufferConsole::default(); + + fs.insert( + "biome.json".into(), + r#"{ "html": { "linter": {"enabled": true}, "experimentalFullSupportEnabled": true } }"# + .as_bytes(), + ); + + let file = Utf8Path::new("file.svelte"); + fs.insert( + file.into(), + r#" + + + +"# + .as_bytes(), + ); + + let (fs, result) = run_cli( + fs, + &mut console, + Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()), + ); + + assert!(result.is_ok(), "run_cli returned {result:?}"); + + assert_cli_snapshot(SnapshotPayload::new( + module_path!(), + "use_import_type_not_triggered_for_enum_in_template_v2", + fs, + console, + result, + )); +} diff --git a/crates/biome_cli/tests/cases/handle_vue_files.rs b/crates/biome_cli/tests/cases/handle_vue_files.rs index bc6db8f15d0d..881bc9694aca 100644 --- a/crates/biome_cli/tests/cases/handle_vue_files.rs +++ b/crates/biome_cli/tests/cases/handle_vue_files.rs @@ -1140,33 +1140,90 @@ import Component from "./Component.vue" )); } -const VUE_ENUM_IN_TEMPLATE: &str = r#" "#; +"# + .as_bytes(), + ); + + let (fs, result) = run_cli( + fs, + &mut console, + Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()), + ); + + assert!(result.is_ok(), "run_cli returned {result:?}"); + + assert_cli_snapshot(SnapshotPayload::new( + module_path!(), + "use_import_type_not_triggered_for_enum_in_template", + fs, + console, + result, + )); +} #[test] -fn use_import_type_not_triggered_for_enum_in_template() { +fn use_import_type_not_triggered_for_enum_in_template_v2() { let fs = MemoryFileSystem::default(); let mut console = BufferConsole::default(); + fs.insert( + "biome.json".into(), + r#"{ "html": { "linter": {"enabled": true}, "experimentalFullSupportEnabled": true } }"# + .as_bytes(), + ); + let file = Utf8Path::new("file.vue"); - fs.insert(file.into(), VUE_ENUM_IN_TEMPLATE.as_bytes()); + fs.insert( + file.into(), + r#" + + + +"# + .as_bytes(), + ); let (fs, result) = run_cli( fs, &mut console, Args::from(["lint", "--only=useImportType", file.as_str()].as_slice()), ); - assert!(result.is_ok(), "run_cli returned {result:?}"); assert_cli_snapshot(SnapshotPayload::new( module_path!(), - "use_import_type_not_triggered_for_enum_in_template", + "use_import_type_not_triggered_for_enum_in_template_v2", fs, console, result, diff --git a/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap new file mode 100644 index 000000000000..fad449ed7772 --- /dev/null +++ b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_import_type_not_triggered_for_enum_in_template_v2.snap @@ -0,0 +1,41 @@ +--- +source: crates/biome_cli/tests/snap_test.rs +expression: redactor(content) +--- +## `biome.json` + +```json +{ + "html": { + "linter": { "enabled": true }, + "experimentalFullSupportEnabled": true + } +} +``` + +## `file.astro` + +```astro +--- +import { Avatar as AvatarPrimitive } from "bits-ui"; +import { cn } from "$lib/utils.js"; + +let { + ref = $bindable(null), + class: className, +}: AvatarPrimitive.FallbackProps = $props(); +--- + + + + +``` + +# Emitted Messages + +```block +Checked 1 file in