diff --git a/crates/biome_cli/tests/cases/handle_astro_files.rs b/crates/biome_cli/tests/cases/handle_astro_files.rs index c3c0adefabaf..337860055d22 100644 --- a/crates/biome_cli/tests/cases/handle_astro_files.rs +++ b/crates/biome_cli/tests/cases/handle_astro_files.rs @@ -75,6 +75,13 @@ const title = "My Page"; "#; +const ASTRO_FILE_USE_JSX_KEY_IN_ITERABLE: &str = r#"--- +const items = ["one", "two", "three"]; +--- +"#; + #[test] fn format_astro_files() { let fs = MemoryFileSystem::default(); @@ -291,6 +298,52 @@ schema + sure() )); } +#[test] +fn use_jsx_key_in_iterable_is_ignored_for_astro_files() { + let fs = MemoryFileSystem::default(); + let mut console = BufferConsole::default(); + + fs.insert( + "biome.json".into(), + r#"{ + "linter": { + "domains": { + "react": "recommended" + } + }, + "html": { + "linter": { + "enabled": true + }, + "experimentalFullSupportEnabled": true + } +}"# + .as_bytes(), + ); + + let astro_file_path = Utf8Path::new("file.astro"); + fs.insert( + astro_file_path.into(), + ASTRO_FILE_USE_JSX_KEY_IN_ITERABLE.as_bytes(), + ); + + let (fs, result) = run_cli( + fs, + &mut console, + Args::from(["lint", astro_file_path.as_str()].as_slice()), + ); + + assert!(result.is_ok(), "run_cli returned {result:?}"); + + assert_cli_snapshot(SnapshotPayload::new( + module_path!(), + "use_jsx_key_in_iterable_is_ignored_for_astro_files", + fs, + console, + result, + )); +} + #[test] fn lint_and_fix_astro_files() { let fs = MemoryFileSystem::default(); diff --git a/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_jsx_key_in_iterable_is_ignored_for_astro_files.snap b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_jsx_key_in_iterable_is_ignored_for_astro_files.snap new file mode 100644 index 000000000000..a695f05af4d6 --- /dev/null +++ b/crates/biome_cli/tests/snapshots/main_cases_handle_astro_files/use_jsx_key_in_iterable_is_ignored_for_astro_files.snap @@ -0,0 +1,36 @@ +--- +source: crates/biome_cli/tests/snap_test.rs +expression: redactor(content) +--- +## `biome.json` + +```json +{ + "linter": { + "domains": { + "react": "recommended" + } + }, + "html": { + "linter": { "enabled": true }, + "experimentalFullSupportEnabled": true + } +} +``` + +## `file.astro` + +```astro +--- +const items = ["one", "two", "three"]; +--- + +``` + +# Emitted Messages + +```block +Checked 1 file in