svoid test_LeftArrowScriptAutoCompleter() { new GazelleV_LeftArrowScriptParser parser; LeftArrowScriptAutoCompleter completer = new(parser); // simple test for completing global function name completer.globalMethodNames = -> ll("add", "pat", "lol"); completer.importedPackages = -> ll(); // to suppress class names being returned completer.seek("a", 1); assertEqualsVerbose("a", completer.typedCharacters()); assertEqualsVerbose(ll("add", "pat", "false"), completer.getCompletions()); // test that completed word is not shown as suggestion completer.seek("add", 3); assertFalseVerbose(contains(completer.getCompletions(), "add")); // test for standard function arguments (untyped, will break when // we introduce typing) completer.seek("add ", 4); assertContainsAll(completer.getCompletions(), ll("true", "false", "null")); // complete class name completer = new LeftArrowScriptAutoCompleter(parser); // restore class finding completer.seek(print("Mat"), 0); var completions = completer.getCompletions(); pnl(reversed(completions)); assertContainsAll(completions, ll("Math")); }