diff --git a/tests/cases/fourslash/navbarFunctionExpressions.ts b/tests/cases/fourslash/navbarFunctionExpressions.ts new file mode 100644 index 00000000000..cb7e258f251 --- /dev/null +++ b/tests/cases/fourslash/navbarFunctionExpressions.ts @@ -0,0 +1,80 @@ +/// + +// @allowJs: true +// @Filename: test.js +//// // Should return NavigateTo items for foo & bar functions +//// var bar = (function foo(a){ +//// let bar = function (){ +//// return true; +//// } +//// return bar; +//// })(this); +//// function dummy(){} + +var expected = [ + { + "text": "", + "kind": "module", + "kindModifiers": "", + "spans": [ + { + "start": 0, + "length": 184 + } + ], + "childItems": [ + { + "text": "bar", + "kind": "var", + "kindModifiers": "", + "spans": [ + { + "start": 62, + "length": 102 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "dummy", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 166, + "length": 18 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "dummy", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 166, + "length": 18 + } + ], + "childItems": [], + "indent": 1, + "bolded": false, + "grayed": false + } +]; + +debug.printScriptLexicalStructureItems(); +debug.printNavigationItems(); +verify.getScriptLexicalStructureListContains("bar", "function"); diff --git a/tests/cases/fourslash/navbarTsNamespace.ts b/tests/cases/fourslash/navbarTsNamespace.ts new file mode 100644 index 00000000000..3a3ae6d7399 --- /dev/null +++ b/tests/cases/fourslash/navbarTsNamespace.ts @@ -0,0 +1,261 @@ +/// + +// @Filename: test.ts +//// let v1 = true; +//// var v2 = false; +//// const c1 = true; +//// +//// namespace N1 { +//// var v3 = 10; +//// export var v4 = true; +//// +//// export function f1() { +//// const v5 = 42; +//// function inner1(){} +//// } +//// +//// function f2() { +//// function inner2(){ +//// function inner3(){} +//// } +//// } +//// } + + + +debug.printScriptLexicalStructureItems(); +debug.printNavigationItems(); +verify.getScriptLexicalStructureListContains("N", "module"); + +var priorResult = [ + { + "text": "", + "kind": "module", + "kindModifiers": "", + "spans": [ + { + "start": 0, + "length": 297 + } + ], + "childItems": [ + { + "text": "c1", + "kind": "const", + "kindModifiers": "", + "spans": [ + { + "start": 37, + "length": 9 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "v1", + "kind": "let", + "kindModifiers": "", + "spans": [ + { + "start": 4, + "length": 9 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "v2", + "kind": "var", + "kindModifiers": "", + "spans": [ + { + "start": 19, + "length": 10 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "N1", + "kind": "module", + "kindModifiers": "", + "spans": [ + { + "start": 49, + "length": 248 + } + ], + "childItems": [ + { + "text": "f1", + "kind": "function", + "kindModifiers": "export", + "spans": [ + { + "start": 116, + "length": 79 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "f2", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 205, + "length": 90 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "v3", + "kind": "var", + "kindModifiers": "", + "spans": [ + { + "start": 72, + "length": 7 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + }, + { + "text": "v4", + "kind": "var", + "kindModifiers": "export", + "spans": [ + { + "start": 96, + "length": 9 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 1, + "bolded": false, + "grayed": false + }, + { + "text": "f1", + "kind": "function", + "kindModifiers": "export", + "spans": [ + { + "start": 116, + "length": 79 + } + ], + "childItems": [ + { + "text": "inner1", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 170, + "length": 19 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 2, + "bolded": false, + "grayed": false + }, + { + "text": "f2", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 205, + "length": 90 + } + ], + "childItems": [ + { + "text": "inner2", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 229, + "length": 60 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 2, + "bolded": false, + "grayed": false + }, + { + "text": "inner2", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 229, + "length": 60 + } + ], + "childItems": [ + { + "text": "inner3", + "kind": "function", + "kindModifiers": "", + "spans": [ + { + "start": 260, + "length": 19 + } + ], + "childItems": [], + "indent": 0, + "bolded": false, + "grayed": false + } + ], + "indent": 3, + "bolded": false, + "grayed": false + } +]; \ No newline at end of file