From eb02db51852ebe7996c80d2d005514c20d0945eb Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 14:47:42 +0200 Subject: [PATCH] test: add TS smoke test for electron/utility (#47976) chore: add TS smoke test for electron/utility Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: David Sanders --- spec/ts-smoke/electron/utility.ts | 67 +++++++++++++++++++++++++++++++ spec/ts-smoke/tsconfig.json | 1 + 2 files changed, 68 insertions(+) create mode 100644 spec/ts-smoke/electron/utility.ts diff --git a/spec/ts-smoke/electron/utility.ts b/spec/ts-smoke/electron/utility.ts new file mode 100644 index 000000000000..090e1131e3b3 --- /dev/null +++ b/spec/ts-smoke/electron/utility.ts @@ -0,0 +1,67 @@ +/* eslint-disable */ + +import { net, systemPreferences } from 'electron/utility'; + +process.parentPort.on('message', (e) => { + if (e.data === 'Hello from parent!') { + process.parentPort.postMessage('Hello from child!'); + } +}); + +// net +// https://github.com/electron/electron/blob/main/docs/api/net.md + +const request = net.request('https://github.com'); +request.setHeader('Some-Custom-Header-Name', 'Some-Custom-Header-Value'); +const header = request.getHeader('Some-Custom-Header-Name'); +console.log('header', header); +request.removeHeader('Some-Custom-Header-Name'); +request.on('response', (response) => { + console.log(`Status code: ${response.statusCode}`); + console.log(`Status message: ${response.statusMessage}`); + console.log(`Headers: ${JSON.stringify(response.headers)}`); + console.log(`Http version: ${response.httpVersion}`); + console.log(`Major Http version: ${response.httpVersionMajor}`); + console.log(`Minor Http version: ${response.httpVersionMinor}`); + response.on('data', (chunk) => { + console.log(`BODY: ${chunk}`); + }); + response.on('end', () => { + console.log('No more data in response.'); + }); + response.on('error', () => { + console.log('"error" event emitted'); + }); + response.on('aborted', () => { + console.log('"aborted" event emitted'); + }); +}); +request.on('login', (authInfo, callback) => { + callback('username', 'password'); +}); +request.on('finish', () => { + console.log('"finish" event emitted'); +}); +request.on('abort', () => { + console.log('"abort" event emitted'); +}); +request.on('error', () => { + console.log('"error" event emitted'); +}); +request.write('Hello World!', 'utf-8'); +request.end('Hello World!', 'utf-8'); +request.abort(); + +// systemPreferences +// https://github.com/electron/electron/blob/main/docs/api/system-preferences.md + +if (process.platform === 'win32') { + systemPreferences.on('color-changed', () => { console.log('color changed'); }); +} + +if (process.platform === 'darwin') { + const value = systemPreferences.getUserDefault('Foo', 'string'); + console.log(value); + const value2 = systemPreferences.getUserDefault('Foo', 'boolean'); + console.log(value2); +} diff --git a/spec/ts-smoke/tsconfig.json b/spec/ts-smoke/tsconfig.json index 35f95b765351..2e19b963c1a9 100644 --- a/spec/ts-smoke/tsconfig.json +++ b/spec/ts-smoke/tsconfig.json @@ -15,6 +15,7 @@ "files": [ "electron/main.ts", "electron/renderer.ts", + "electron/utility.ts", "../../electron.d.ts" ] } \ No newline at end of file