', 'javascript', ' return;\n foo(); ');
+ assertEmbeddedLanguageContent('', 'javascript', ['var i = 0;']);
+ assertEmbeddedLanguageContent('', 'javascript', ['var i = 0;']);
+ assertEmbeddedLanguageContent('', 'javascript', ['/* this comment should not give error */']);
+ assertEmbeddedLanguageContent('', 'javascript', ['/* this comment should not give error */ console.log("logging");']);
+
+ assertEmbeddedLanguageContent('', 'javascript', ['var data=100; /* this comment should not give error */ ']);
+ assertEmbeddedLanguageContent('
', 'javascript', ['foo();', 'bar();']);
+ assertEmbeddedLanguageContent('
', 'javascript', ['return;']);
+ assertEmbeddedLanguageContent('
', 'javascript', ['return;', 'foo();']);
});
-
});
diff --git a/extensions/html-language-features/server/src/test/folding.test.ts b/extensions/html-language-features/server/src/test/folding.test.ts
index ec33f7a5198f0..e70ca04e58ba5 100644
--- a/extensions/html-language-features/server/src/test/folding.test.ts
+++ b/extensions/html-language-features/server/src/test/folding.test.ts
@@ -3,12 +3,10 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-import 'mocha';
import * as assert from 'assert';
-import { getFoldingRanges } from '../modes/htmlFolding';
-import { TextDocument, getLanguageModes } from '../modes/languageModes';
-import { ClientCapabilities } from 'vscode-css-languageservice';
-import { getNodeFileFS } from '../node/nodeFs';
+import 'mocha';
+import { URI } from 'vscode-uri';
+import { getTestService } from './shared';
interface ExpectedIndentRange {
startLine: number;
@@ -17,13 +15,18 @@ interface ExpectedIndentRange {
}
async function assertRanges(lines: string[], expected: ExpectedIndentRange[], message?: string, nRanges?: number): Promise {
- const document = TextDocument.create('test://foo/bar.html', 'html', 1, lines.join('\n'));
- const workspace = {
- settings: {},
- folders: [{ name: 'foo', uri: 'test://foo' }]
- };
- const languageModes = getLanguageModes({ css: true, javascript: true }, workspace, ClientCapabilities.LATEST, getNodeFileFS());
- const actual = await getFoldingRanges(languageModes, document, nRanges, null);
+ const { languageService, document } = await getTestService({
+ content: lines.join('\n'),
+ clientCapabilities: nRanges ? {
+ textDocument: {
+ foldingRange: {
+ rangeLimit: nRanges,
+ },
+ },
+ } : undefined,
+ });
+ const actual = await languageService.getFoldingRanges(URI.parse(document.uri));
+ assert(!!actual);
let actualRanges = [];
for (let i = 0; i < actual.length; i++) {
@@ -50,7 +53,7 @@ suite('HTML Folding', () => {
/*6*/'',
/*7*/'