|
2 | 2 |
|
3 | 3 | 'use strict'; |
4 | 4 |
|
5 | | -constcommon=require('../common'); |
| 5 | +/* eslint node-core/require-common-first: 0 */ |
| 6 | + |
6 | 7 | constassert=require('assert'); |
| 8 | + |
| 9 | +{ |
| 10 | + |
| 11 | +// Ensures `navigator` has not been evaluated yet |
| 12 | +assert.strictEqual(require.resolve('../common')inrequire.cache,false); |
| 13 | + |
| 14 | +const{ version, platform, arch }=process; |
| 15 | +try{ |
| 16 | +letcalled=false; |
| 17 | +Object.defineProperty(process,'arch',{get(){called+='arch|';returnarch;}}); |
| 18 | +Object.defineProperty(process,'platform',{get(){called='platform|';returnplatform;}}); |
| 19 | +Object.defineProperty(process,'version',{get(){called='version|';returnversion;}}); |
| 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 | +constcommon=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(typeofnavigator.language,'string'); |
79 | 107 | assert.strictEqual(navigator.language.length!==0,true); |
|
0 commit comments