|
2 | 2 |
|
3 | 3 | 'use strict';
|
4 | 4 |
|
5 |
| -const common = require('../common'); |
| 5 | +/* eslint node-core/require-common-first: 0 */ |
| 6 | + |
6 | 7 | const assert = require('assert');
|
| 8 | + |
| 9 | +{ |
| 10 | + |
| 11 | + // Ensures `navigator` has not been evaluated yet |
| 12 | + assert.strictEqual(require.resolve('../common') in require.cache, false); |
| 13 | + |
| 14 | + const { version, platform, arch } = process; |
| 15 | + try { |
| 16 | + let called = false; |
| 17 | + Object.defineProperty(process, 'arch', { get() { called += 'arch|'; return arch; } }); |
| 18 | + Object.defineProperty(process, 'platform', { get() { called = 'platform|'; return platform; } }); |
| 19 | + Object.defineProperty(process, 'version', { get() { called = 'version|'; return version; } }); |
| 20 | + |
| 21 | + navigator; // eslint-disable-line no-unused-expressions |
| 22 | + |
| 23 | + assert.strictEqual( |
| 24 | + called, |
| 25 | + false |
| 26 | + ); |
| 27 | + } finally { |
| 28 | + Object.defineProperty(process, 'arch', { value: arch }); |
| 29 | + Object.defineProperty(process, 'platform', { value: platform }); |
| 30 | + Object.defineProperty(process, 'version', { value: version }); |
| 31 | + } |
| 32 | +} |
| 33 | + |
| 34 | +const common = require('../common'); |
7 | 35 | const { getNavigatorPlatform } = require('internal/navigator');
|
8 | 36 | const { execFile } = require('child_process');
|
9 | 37 |
|
@@ -57,23 +85,23 @@ if (process.platform === 'darwin') {
|
57 | 85 | assert.strictEqual(navigator.platform, `${process.platform[0].toUpperCase()}${process.platform.slice(1)} ${process.arch}`);
|
58 | 86 | }
|
59 | 87 |
|
60 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'darwin' }), 'MacIntel'); |
61 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'arm64', platform: 'darwin' }), 'MacIntel'); |
62 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'ia32', platform: 'linux' }), 'Linux i686'); |
63 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'linux' }), 'Linux x86_64'); |
64 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'arm64', platform: 'linux' }), 'Linux arm64'); |
65 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'win32' }), 'Win32'); |
66 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'arm64', platform: 'win32' }), 'Win32'); |
67 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'ia32', platform: 'freebsd' }), 'FreeBSD i386'); |
68 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'freebsd' }), 'FreeBSD amd64'); |
69 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'arm64', platform: 'freebsd' }), 'FreeBSD arm64'); |
70 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'ia32', platform: 'openbsd' }), 'OpenBSD i386'); |
71 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'openbsd' }), 'OpenBSD amd64'); |
72 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'arm64', platform: 'openbsd' }), 'OpenBSD arm64'); |
73 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'ia32', platform: 'sunos' }), 'SunOS i86pc'); |
74 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'sunos' }), 'SunOS x64'); |
75 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'ppc', platform: 'aix' }), 'AIX'); |
76 |
| -assert.strictEqual(getNavigatorPlatform({ arch: 'x64', platform: 'reactos' }), 'Reactos x64'); |
| 88 | +assert.strictEqual(getNavigatorPlatform('x64', 'darwin'), 'MacIntel'); |
| 89 | +assert.strictEqual(getNavigatorPlatform('arm64', 'darwin'), 'MacIntel'); |
| 90 | +assert.strictEqual(getNavigatorPlatform('ia32', 'linux'), 'Linux i686'); |
| 91 | +assert.strictEqual(getNavigatorPlatform('x64', 'linux'), 'Linux x86_64'); |
| 92 | +assert.strictEqual(getNavigatorPlatform('arm64', 'linux'), 'Linux arm64'); |
| 93 | +assert.strictEqual(getNavigatorPlatform('x64', 'win32'), 'Win32'); |
| 94 | +assert.strictEqual(getNavigatorPlatform('arm64', 'win32'), 'Win32'); |
| 95 | +assert.strictEqual(getNavigatorPlatform('ia32', 'freebsd'), 'FreeBSD i386'); |
| 96 | +assert.strictEqual(getNavigatorPlatform('x64', 'freebsd'), 'FreeBSD amd64'); |
| 97 | +assert.strictEqual(getNavigatorPlatform('arm64', 'freebsd'), 'FreeBSD arm64'); |
| 98 | +assert.strictEqual(getNavigatorPlatform('ia32', 'openbsd'), 'OpenBSD i386'); |
| 99 | +assert.strictEqual(getNavigatorPlatform('x64', 'openbsd'), 'OpenBSD amd64'); |
| 100 | +assert.strictEqual(getNavigatorPlatform('arm64', 'openbsd'), 'OpenBSD arm64'); |
| 101 | +assert.strictEqual(getNavigatorPlatform('ia32', 'sunos'), 'SunOS i86pc'); |
| 102 | +assert.strictEqual(getNavigatorPlatform('x64', 'sunos'), 'SunOS x64'); |
| 103 | +assert.strictEqual(getNavigatorPlatform('ppc', 'aix'), 'AIX'); |
| 104 | +assert.strictEqual(getNavigatorPlatform('x64', 'reactos'), 'Reactos x64'); |
77 | 105 |
|
78 | 106 | assert.strictEqual(typeof navigator.language, 'string');
|
79 | 107 | assert.strictEqual(navigator.language.length !== 0, true);
|
|
0 commit comments