Skip to content

Commit 9b7c16e

Browse files
committed
debt - make test renderer use a correct baseUrl (and adopt tests using require.toUrl)
1 parent 9c19fe9 commit 9b7c16e

16 files changed

Lines changed: 82 additions & 59 deletions

File tree

src/vs/base/common/amd.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
'use strict';
7+
8+
import URI from 'vs/base/common/uri';
9+
10+
export function getPathFromAmdModule(requirefn: typeof require, relativePath: string): string {
11+
return URI.parse(requirefn.toUrl(relativePath)).fsPath;
12+
}

src/vs/base/parts/ipc/test/node/ipc.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
import * as assert from 'assert';
99
import { TPromise } from 'vs/base/common/winjs.base';
1010
import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
11-
import uri from 'vs/base/common/uri';
1211
import { always } from 'vs/base/common/async';
1312
import { isPromiseCanceledError } from 'vs/base/common/errors';
1413
import { ITestChannel, TestServiceClient } from './testService';
14+
import { getPathFromAmdModule } from 'vs/base/common/amd';
1515

1616
function createClient(): Client {
17-
return new Client(uri.parse(require.toUrl('bootstrap')).fsPath, {
17+
return new Client(getPathFromAmdModule(require, 'bootstrap'), {
1818
serverName: 'TestServer',
1919
env: { AMD_ENTRYPOINT: 'vs/base/parts/ipc/test/node/testApp', verbose: true }
2020
});
@@ -101,4 +101,4 @@ suite('IPC', () => {
101101
return always(result, () => client.dispose());
102102
});
103103
});
104-
});
104+
});

src/vs/base/test/node/encoding/encoding.test.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,42 +10,43 @@ import * as fs from 'fs';
1010
import * as encoding from 'vs/base/node/encoding';
1111
import { readExactlyByFile } from 'vs/base/node/stream';
1212
import { Readable } from 'stream';
13+
import { getPathFromAmdModule } from 'vs/base/common/amd';
1314

1415
suite('Encoding', () => {
1516
test('detectBOM UTF-8', () => {
16-
const file = require.toUrl('./fixtures/some_utf8.css');
17+
const file = getPathFromAmdModule(require, './fixtures/some_utf8.css');
1718

1819
return encoding.detectEncodingByBOM(file).then((encoding: string) => {
1920
assert.equal(encoding, 'utf8');
2021
});
2122
});
2223

2324
test('detectBOM UTF-16 LE', () => {
24-
const file = require.toUrl('./fixtures/some_utf16le.css');
25+
const file = getPathFromAmdModule(require, './fixtures/some_utf16le.css');
2526

2627
return encoding.detectEncodingByBOM(file).then((encoding: string) => {
2728
assert.equal(encoding, 'utf16le');
2829
});
2930
});
3031

3132
test('detectBOM UTF-16 BE', () => {
32-
const file = require.toUrl('./fixtures/some_utf16be.css');
33+
const file = getPathFromAmdModule(require, './fixtures/some_utf16be.css');
3334

3435
return encoding.detectEncodingByBOM(file).then((encoding: string) => {
3536
assert.equal(encoding, 'utf16be');
3637
});
3738
});
3839

3940
test('detectBOM ANSI', function () {
40-
const file = require.toUrl('./fixtures/some_ansi.css');
41+
const file = getPathFromAmdModule(require, './fixtures/some_ansi.css');
4142

4243
return encoding.detectEncodingByBOM(file).then((encoding: string) => {
4344
assert.equal(encoding, null);
4445
});
4546
});
4647

4748
test('detectBOM ANSI', function () {
48-
const file = require.toUrl('./fixtures/empty.txt');
49+
const file = getPathFromAmdModule(require, './fixtures/empty.txt');
4950

5051
return encoding.detectEncodingByBOM(file).then((encoding: string) => {
5152
assert.equal(encoding, null);
@@ -68,7 +69,7 @@ suite('Encoding', () => {
6869
});
6970

7071
test('detectEncodingFromBuffer (JSON saved as PNG)', function () {
71-
const file = require.toUrl('./fixtures/some.json.png');
72+
const file = getPathFromAmdModule(require, './fixtures/some.json.png');
7273

7374
return readExactlyByFile(file, 512).then(buffer => {
7475
const mimes = encoding.detectEncodingFromBuffer(buffer);
@@ -77,47 +78,47 @@ suite('Encoding', () => {
7778
});
7879

7980
test('detectEncodingFromBuffer (PNG saved as TXT)', function () {
80-
const file = require.toUrl('./fixtures/some.png.txt');
81+
const file = getPathFromAmdModule(require, './fixtures/some.png.txt');
8182
return readExactlyByFile(file, 512).then(buffer => {
8283
const mimes = encoding.detectEncodingFromBuffer(buffer);
8384
assert.equal(mimes.seemsBinary, true);
8485
});
8586
});
8687

8788
test('detectEncodingFromBuffer (XML saved as PNG)', function () {
88-
const file = require.toUrl('./fixtures/some.xml.png');
89+
const file = getPathFromAmdModule(require, './fixtures/some.xml.png');
8990
return readExactlyByFile(file, 512).then(buffer => {
9091
const mimes = encoding.detectEncodingFromBuffer(buffer);
9192
assert.equal(mimes.seemsBinary, false);
9293
});
9394
});
9495

9596
test('detectEncodingFromBuffer (QWOFF saved as TXT)', function () {
96-
const file = require.toUrl('./fixtures/some.qwoff.txt');
97+
const file = getPathFromAmdModule(require, './fixtures/some.qwoff.txt');
9798
return readExactlyByFile(file, 512).then(buffer => {
9899
const mimes = encoding.detectEncodingFromBuffer(buffer);
99100
assert.equal(mimes.seemsBinary, true);
100101
});
101102
});
102103

103104
test('detectEncodingFromBuffer (CSS saved as QWOFF)', function () {
104-
const file = require.toUrl('./fixtures/some.css.qwoff');
105+
const file = getPathFromAmdModule(require, './fixtures/some.css.qwoff');
105106
return readExactlyByFile(file, 512).then(buffer => {
106107
const mimes = encoding.detectEncodingFromBuffer(buffer);
107108
assert.equal(mimes.seemsBinary, false);
108109
});
109110
});
110111

111112
test('detectEncodingFromBuffer (PDF)', function () {
112-
const file = require.toUrl('./fixtures/some.pdf');
113+
const file = getPathFromAmdModule(require, './fixtures/some.pdf');
113114
return readExactlyByFile(file, 512).then(buffer => {
114115
const mimes = encoding.detectEncodingFromBuffer(buffer);
115116
assert.equal(mimes.seemsBinary, true);
116117
});
117118
});
118119

119120
test('detectEncodingFromBuffer (guess UTF-16 LE from content without BOM)', function () {
120-
const file = require.toUrl('./fixtures/utf16_le_nobom.txt');
121+
const file = getPathFromAmdModule(require, './fixtures/utf16_le_nobom.txt');
121122
return readExactlyByFile(file, 512).then(buffer => {
122123
const mimes = encoding.detectEncodingFromBuffer(buffer);
123124
assert.equal(mimes.encoding, encoding.UTF16le);
@@ -126,7 +127,7 @@ suite('Encoding', () => {
126127
});
127128

128129
test('detectEncodingFromBuffer (guess UTF-16 BE from content without BOM)', function () {
129-
const file = require.toUrl('./fixtures/utf16_be_nobom.txt');
130+
const file = getPathFromAmdModule(require, './fixtures/utf16_be_nobom.txt');
130131
return readExactlyByFile(file, 512).then(buffer => {
131132
const mimes = encoding.detectEncodingFromBuffer(buffer);
132133
assert.equal(mimes.encoding, encoding.UTF16be);
@@ -135,7 +136,7 @@ suite('Encoding', () => {
135136
});
136137

137138
test('autoGuessEncoding (ShiftJIS)', function () {
138-
const file = require.toUrl('./fixtures/some.shiftjis.txt');
139+
const file = getPathFromAmdModule(require, './fixtures/some.shiftjis.txt');
139140
return readExactlyByFile(file, 512 * 8).then(buffer => {
140141
return encoding.detectEncodingFromBuffer(buffer, true).then(mimes => {
141142
assert.equal(mimes.encoding, 'shiftjis');
@@ -144,7 +145,7 @@ suite('Encoding', () => {
144145
});
145146

146147
test('autoGuessEncoding (CP1252)', function () {
147-
const file = require.toUrl('./fixtures/some.cp1252.txt');
148+
const file = getPathFromAmdModule(require, './fixtures/some.cp1252.txt');
148149
return readExactlyByFile(file, 512 * 8).then(buffer => {
149150
return encoding.detectEncodingFromBuffer(buffer, true).then(mimes => {
150151
assert.equal(mimes.encoding, 'windows1252');
@@ -238,7 +239,7 @@ suite('Encoding', () => {
238239

239240
test('toDecodeStream - encoding, utf16be', async function () {
240241

241-
let path = require.toUrl('./fixtures/some_utf16be.css');
242+
let path = getPathFromAmdModule(require, './fixtures/some_utf16be.css');
242243
let source = fs.createReadStream(path);
243244

244245
let { detected, stream } = await encoding.toDecodeStream(source, { minBytesRequiredForDetection: 64 });
@@ -254,7 +255,7 @@ suite('Encoding', () => {
254255

255256
test('toDecodeStream - empty file', async function () {
256257

257-
let path = require.toUrl('./fixtures/empty.txt');
258+
let path = getPathFromAmdModule(require, './fixtures/empty.txt');
258259
let source = fs.createReadStream(path);
259260
let { detected, stream } = await encoding.toDecodeStream(source, {});
260261

src/vs/base/test/node/extfs/extfs.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { canNormalize } from 'vs/base/common/normalization';
1414
import { isLinux, isWindows } from 'vs/base/common/platform';
1515
import * as uuid from 'vs/base/common/uuid';
1616
import * as extfs from 'vs/base/node/extfs';
17+
import { getPathFromAmdModule } from 'vs/base/common/amd';
1718

1819

1920

@@ -169,7 +170,7 @@ suite('Extfs', () => {
169170
test('copy, move and delete', function (done) {
170171
const id = uuid.generateUuid();
171172
const id2 = uuid.generateUuid();
172-
const sourceDir = require.toUrl('./fixtures');
173+
const sourceDir = getPathFromAmdModule(require, './fixtures');
173174
const parentDir = path.join(os.tmpdir(), 'vsctests', 'extfs');
174175
const targetDir = path.join(parentDir, id);
175176
const targetDir2 = path.join(parentDir, id2);
@@ -320,7 +321,7 @@ suite('Extfs', () => {
320321
test('writeFileAndFlush (file stream)', function (done) {
321322
const id = uuid.generateUuid();
322323
const parentDir = path.join(os.tmpdir(), 'vsctests', id);
323-
const sourceFile = require.toUrl('./fixtures/index.html');
324+
const sourceFile = getPathFromAmdModule(require, './fixtures/index.html');
324325
const newDir = path.join(parentDir, 'extfs', id);
325326
const testFile = path.join(newDir, 'flushed.txt');
326327

@@ -453,7 +454,7 @@ suite('Extfs', () => {
453454
test('writeFileAndFlush (file stream, error handling)', function (done) {
454455
const id = uuid.generateUuid();
455456
const parentDir = path.join(os.tmpdir(), 'vsctests', id);
456-
const sourceFile = require.toUrl('./fixtures/index.html');
457+
const sourceFile = getPathFromAmdModule(require, './fixtures/index.html');
457458
const newDir = path.join(parentDir, 'extfs', id);
458459
const testFile = path.join(newDir, 'flushed.txt');
459460

src/vs/base/test/node/stream/stream.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
import * as assert from 'assert';
99

1010
import * as stream from 'vs/base/node/stream';
11+
import { getPathFromAmdModule } from 'vs/base/common/amd';
1112

1213
suite('Stream', () => {
1314
test('readExactlyByFile - ANSI', function () {
14-
const file = require.toUrl('./fixtures/file.css');
15+
const file = getPathFromAmdModule(require, './fixtures/file.css');
1516

1617
return stream.readExactlyByFile(file, 10).then(({ buffer, bytesRead }) => {
1718
assert.equal(bytesRead, 10);
@@ -20,15 +21,15 @@ suite('Stream', () => {
2021
});
2122

2223
test('readExactlyByFile - empty', function () {
23-
const file = require.toUrl('./fixtures/empty.txt');
24+
const file = getPathFromAmdModule(require, './fixtures/empty.txt');
2425

2526
return stream.readExactlyByFile(file, 10).then(({ bytesRead }) => {
2627
assert.equal(bytesRead, 0);
2728
});
2829
});
2930

3031
test('readToMatchingString - ANSI', function () {
31-
const file = require.toUrl('./fixtures/file.css');
32+
const file = getPathFromAmdModule(require, './fixtures/file.css');
3233

3334
return stream.readToMatchingString(file, '\n', 10, 100).then((result: string) => {
3435
// \r may be present on Windows
@@ -37,10 +38,10 @@ suite('Stream', () => {
3738
});
3839

3940
test('readToMatchingString - empty', function () {
40-
const file = require.toUrl('./fixtures/empty.txt');
41+
const file = getPathFromAmdModule(require, './fixtures/empty.txt');
4142

4243
return stream.readToMatchingString(file, '\n', 10, 100).then((result: string) => {
4344
assert.equal(result, null);
4445
});
4546
});
46-
});
47+
});

src/vs/base/test/node/zip/zip.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ suite('Zip', () => {
2727
.then(exists => assert(exists))
2828
.then(() => rimraf(target));
2929
});
30-
});
30+
});

src/vs/code/test/node/windowsFinder.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import { OpenContext } from 'vs/platform/windows/common/windows';
1111
import { IWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
1212
import { toWorkspaceFolders } from 'vs/platform/workspace/common/workspace';
1313
import URI from 'vs/base/common/uri';
14+
import { getPathFromAmdModule } from 'vs/base/common/amd';
1415

15-
const fixturesFolder = require.toUrl('./fixtures');
16+
const fixturesFolder = getPathFromAmdModule(require, './fixtures');
1617

1718
const testWorkspace: IWorkspaceIdentifier = {
1819
id: Date.now().toString(),

src/vs/platform/theme/test/electron-browser/colorRegistry.releaseTest.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { request, asText } from 'vs/base/node/request';
1818
import * as pfs from 'vs/base/node/pfs';
1919
import * as path from 'path';
2020
import * as assert from 'assert';
21+
import { getPathFromAmdModule } from 'vs/base/common/amd';
2122

2223

2324
interface ColorInfo {
@@ -103,7 +104,7 @@ function getDescription(color: ColorContribution) {
103104
}
104105

105106
async function getColorsFromExtension(): Promise<{ [id: string]: string }> {
106-
let extPath = require.toUrl('../../../../../../extensions');
107+
let extPath = getPathFromAmdModule(require, '../../../../../../extensions');
107108
let extFolders = await pfs.readDirsInDir(extPath);
108109
let result: { [id: string]: string } = Object.create(null);
109110
for (let folder of extFolders) {
@@ -127,4 +128,4 @@ async function getColorsFromExtension(): Promise<{ [id: string]: string }> {
127128

128129
}
129130
return result;
130-
}
131+
}

src/vs/workbench/parts/extensions/test/electron-browser/extensionsWorkbenchService.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ suite('ExtensionsWorkbenchServiceTest', () => {
218218
assert.equal('1.2.0', actual.version);
219219
assert.equal('1.2.0', actual.latestVersion);
220220
assert.equal('localDescription2', actual.description);
221-
assert.ok(fs.existsSync(actual.iconUrl));
221+
assert.ok(fs.existsSync(URI.parse(actual.iconUrl).fsPath));
222222
assert.equal(null, actual.licenseUrl);
223223
assert.equal(ExtensionState.Installed, actual.state);
224224
assert.equal(null, actual.installCount);
@@ -311,7 +311,7 @@ suite('ExtensionsWorkbenchServiceTest', () => {
311311
assert.equal('1.2.0', actual.version);
312312
assert.equal('1.2.0', actual.latestVersion);
313313
assert.equal('localDescription2', actual.description);
314-
assert.ok(fs.existsSync(actual.iconUrl));
314+
assert.ok(fs.existsSync(URI.parse(actual.iconUrl).fsPath));
315315
assert.equal(null, actual.licenseUrl);
316316
assert.equal(ExtensionState.Installed, actual.state);
317317
assert.equal(null, actual.installCount);
@@ -1282,4 +1282,4 @@ suite('ExtensionsWorkbenchServiceTest', () => {
12821282
});
12831283
});
12841284
}
1285-
});
1285+
});

src/vs/workbench/services/files/test/electron-browser/fileService.test.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { Workspace, toWorkspaceFolders } from 'vs/platform/workspace/common/work
2424
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
2525
import { TextModel } from 'vs/editor/common/model/textModel';
2626
import { IEncodingOverride } from 'vs/workbench/services/files/electron-browser/encoding';
27+
import { getPathFromAmdModule } from 'vs/base/common/amd';
2728

2829
suite('FileService', () => {
2930
let service: FileService;
@@ -33,7 +34,7 @@ suite('FileService', () => {
3334
setup(function () {
3435
const id = uuid.generateUuid();
3536
testDir = path.join(parentDir, id);
36-
const sourceDir = require.toUrl('./fixtures/service');
37+
const sourceDir = getPathFromAmdModule(require, './fixtures/service');
3738

3839
return pfs.copy(sourceDir, testDir).then(() => {
3940
service = new FileService(new TestContextService(new Workspace(testDir, testDir, toWorkspaceFolders([{ path: testDir }]))), TestEnvironmentService, new TestTextResourceConfigurationService(), new TestConfigurationService(), new TestLifecycleService(), new TestStorageService(), new TestNotificationService(), { disableWatcher: true });
@@ -837,7 +838,7 @@ suite('FileService', () => {
837838
// setup
838839
const _id = uuid.generateUuid();
839840
const _testDir = path.join(parentDir, _id);
840-
const _sourceDir = require.toUrl('./fixtures/service');
841+
const _sourceDir = getPathFromAmdModule(require, './fixtures/service');
841842

842843
return pfs.copy(_sourceDir, _testDir).then(() => {
843844
const encodingOverride: IEncodingOverride[] = [];
@@ -882,7 +883,7 @@ suite('FileService', () => {
882883
// setup
883884
const _id = uuid.generateUuid();
884885
const _testDir = path.join(parentDir, _id);
885-
const _sourceDir = require.toUrl('./fixtures/service');
886+
const _sourceDir = getPathFromAmdModule(require, './fixtures/service');
886887

887888
return pfs.copy(_sourceDir, _testDir).then(() => {
888889
const encodingOverride: IEncodingOverride[] = [];
@@ -927,7 +928,7 @@ suite('FileService', () => {
927928
// setup
928929
const _id = uuid.generateUuid();
929930
const _testDir = path.join(parentDir, _id);
930-
const _sourceDir = require.toUrl('./fixtures/service');
931+
const _sourceDir = getPathFromAmdModule(require, './fixtures/service');
931932
const resource = uri.file(path.join(testDir, 'index.html'));
932933

933934
const _service = new FileService(

0 commit comments

Comments
 (0)