From 6c324acf2363e88293ab94cf3de6c9d7a264b55d Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 15 Dec 2021 13:23:43 -0500 Subject: feat: REPL import specifier auto-completions (#13078) --- cli/tests/integration/repl_tests.rs | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'cli/tests') diff --git a/cli/tests/integration/repl_tests.rs b/cli/tests/integration/repl_tests.rs index 18e022cfe..c98afd6d5 100644 --- a/cli/tests/integration/repl_tests.rs +++ b/cli/tests/integration/repl_tests.rs @@ -122,6 +122,44 @@ fn pty_complete_primitives() { }); } +#[test] +fn pty_complete_imports() { + util::with_pty(&["repl"], |mut console| { + // single quotes + console.write_line("import './001_hel\t'"); + // double quotes + console.write_line("import { output } from \"./045_out\t\""); + console.write_line("output('testing output');"); + console.write_line("close();"); + + let output = console.read_all_output(); + assert!(output.contains("Hello World")); + assert!(output.contains("\ntesting output")); + }); + + // ensure when the directory changes that the suggestions come from the cwd + util::with_pty(&["repl"], |mut console| { + console.write_line("Deno.chdir('./subdir');"); + console.write_line("import '../001_hel\t'"); + console.write_line("close();"); + + let output = console.read_all_output(); + assert!(output.contains("Hello World")); + }); + + // ensure nothing too bad happens when deleting the cwd + util::with_pty(&["repl"], |mut console| { + console.write_line("Deno.mkdirSync('./temp-repl-lsp-dir');"); + console.write_line("Deno.chdir('./temp-repl-lsp-dir');"); + console.write_line("Deno.removeSync('../temp-repl-lsp-dir');"); + console.write_line("import '../001_hello\t'"); + console.write_line("close();"); + + let output = console.read_all_output(); + assert!(output.contains("Hello World")); + }); +} + #[test] fn pty_ignore_symbols() { util::with_pty(&["repl"], |mut console| { -- cgit v1.2.3