diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/compile_tests.rs | 29 | ||||
-rw-r--r-- | tests/testdata/compile/compiler_options/deno.json | 5 | ||||
-rw-r--r-- | tests/testdata/compile/compiler_options/main.ts | 42 |
3 files changed, 76 insertions, 0 deletions
diff --git a/tests/integration/compile_tests.rs b/tests/integration/compile_tests.rs index fbf924fbb..b038819a7 100644 --- a/tests/integration/compile_tests.rs +++ b/tests/integration/compile_tests.rs @@ -1178,3 +1178,32 @@ fn dynamic_import_bad_data_uri() { "[WILDCARD]TypeError: Unable to decode data url.[WILDCARD]", ); } + +#[test] +fn standalone_config_file_respects_compiler_options() { + let context = TestContextBuilder::new().build(); + let dir = context.temp_dir(); + let exe = if cfg!(windows) { + dir.path().join("compiler_options.exe") + } else { + dir.path().join("compiler_options") + }; + context + .new_command() + .args_vec([ + "compile", + "--allow-read", + "--config", + "compile/compiler_options/deno.json", + "--output", + &exe.to_string_lossy(), + "./compile/compiler_options/main.ts", + ]) + .run() + .skip_output_check() + .assert_exit_code(0); + let output = context.new_command().name(&exe).run(); + + output.assert_exit_code(0); + output.assert_matches_text("[WILDCARD]C.test() called[WILDCARD]"); +} diff --git a/tests/testdata/compile/compiler_options/deno.json b/tests/testdata/compile/compiler_options/deno.json new file mode 100644 index 000000000..504cd646e --- /dev/null +++ b/tests/testdata/compile/compiler_options/deno.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "experimentalDecorators": true + } +} diff --git a/tests/testdata/compile/compiler_options/main.ts b/tests/testdata/compile/compiler_options/main.ts new file mode 100644 index 000000000..40a26bbd4 --- /dev/null +++ b/tests/testdata/compile/compiler_options/main.ts @@ -0,0 +1,42 @@ +// deno-lint-ignore-file +function a() { + console.log("@A evaluated"); + return function ( + target: any, + propertyKey: string, + descriptor: PropertyDescriptor, + ) { + console.log("@A called"); + const fn = descriptor.value; + descriptor.value = function () { + console.log("fn() called from @A"); + fn(); + }; + }; +} + +function b() { + console.log("@B evaluated"); + return function ( + target: any, + propertyKey: string, + descriptor: PropertyDescriptor, + ) { + console.log("@B called"); + const fn = descriptor.value; + descriptor.value = function () { + console.log("fn() called from @B"); + fn(); + }; + }; +} + +class C { + @a() + @b() + static test() { + console.log("C.test() called"); + } +} + +C.test(); |