mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 16:15:41 +01:00
Merge pull request #2770 from microsoft/expose_ts
Expose the TypeScript object inside the ts worker
This commit is contained in:
commit
d06ca7bfec
3 changed files with 20 additions and 4 deletions
|
|
@ -494,3 +494,6 @@ export function create(ctx: worker.IWorkerContext, createData: ICreateData): Typ
|
||||||
|
|
||||||
return new TSWorkerClass(ctx, createData);
|
return new TSWorkerClass(ctx, createData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Allows for clients to have access to the same version of TypeScript that the worker uses */
|
||||||
|
globalThis.ts = ts;
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,9 @@ yaserver
|
||||||
});
|
});
|
||||||
|
|
||||||
async function runTests() {
|
async function runTests() {
|
||||||
|
// uncomment to shortcircuit and run a specific combo
|
||||||
|
// await runTest('webpack', 'chromium'); return;
|
||||||
|
|
||||||
for (const type of ['amd', 'webpack']) {
|
for (const type of ['amd', 'webpack']) {
|
||||||
await runTest(type, 'chromium');
|
await runTest(type, 'chromium');
|
||||||
await runTest(type, 'firefox');
|
await runTest(type, 'firefox');
|
||||||
|
|
|
||||||
|
|
@ -64,10 +64,6 @@ afterEach(async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe(`Smoke Test '${TESTS_TYPE}'`, () => {
|
describe(`Smoke Test '${TESTS_TYPE}'`, () => {
|
||||||
it('`monacoAPI` is exposed as global', async () => {
|
|
||||||
assert.strictEqual(await page.evaluate(`typeof monacoAPI`), 'object');
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} text
|
* @param {string} text
|
||||||
* @param {string} language
|
* @param {string} language
|
||||||
|
|
@ -105,6 +101,10 @@ describe(`Smoke Test '${TESTS_TYPE}'`, () => {
|
||||||
await page.evaluate(`window.ed.focus();`);
|
await page.evaluate(`window.ed.focus();`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
it('`monacoAPI` is exposed as global', async () => {
|
||||||
|
assert.strictEqual(await page.evaluate(`typeof monacoAPI`), 'object');
|
||||||
|
});
|
||||||
|
|
||||||
it('should be able to create plaintext editor', async () => {
|
it('should be able to create plaintext editor', async () => {
|
||||||
await createEditor('hello world', 'plaintext');
|
await createEditor('hello world', 'plaintext');
|
||||||
|
|
||||||
|
|
@ -162,6 +162,16 @@ describe(`Smoke Test '${TESTS_TYPE}'`, () => {
|
||||||
|
|
||||||
// check that a suggestion item for `addEventListener` appears, which indicates that the language service is up and running
|
// check that a suggestion item for `addEventListener` appears, which indicates that the language service is up and running
|
||||||
await page.waitForSelector(`text=addEventListener`);
|
await page.waitForSelector(`text=addEventListener`);
|
||||||
|
|
||||||
|
// find the TypeScript worker
|
||||||
|
const tsWorker = page.workers().find((worker) => {
|
||||||
|
const url = worker.url();
|
||||||
|
return /ts\.worker\.js$/.test(url) || /workerMain.js#typescript$/.test(url);
|
||||||
|
});
|
||||||
|
assert.ok(!!tsWorker);
|
||||||
|
|
||||||
|
// check that the TypeScript worker exposes `ts` as a global
|
||||||
|
assert.strictEqual(await tsWorker.evaluate(`typeof ts`), 'object');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue