1
1
'use strict' ;
2
2
3
+ // Flags: --expose-internals
4
+
3
5
require ( '../common' ) ;
4
6
const assert = require ( 'assert' ) ;
7
+ const { getNavigatorPlatform } = require ( 'internal/navigator' ) ;
5
8
6
9
const is = {
7
10
number : ( value , key ) => {
@@ -15,3 +18,25 @@ is.number(navigator.hardwareConcurrency, 'hardwareConcurrency');
15
18
assert . ok ( navigator . hardwareConcurrency > 0 ) ;
16
19
assert . strictEqual ( typeof navigator . userAgent , 'string' ) ;
17
20
assert . match ( navigator . userAgent , / ^ N o d e \. j s \/ \d + $ / ) ;
21
+
22
+ assert . strictEqual ( typeof navigator . platform , 'string' ) ;
23
+ if ( process . platform === 'darwin' ) {
24
+ assert . strictEqual ( navigator . platform , 'MacIntel' ) ;
25
+ } else if ( process . platform === 'win32' ) {
26
+ assert . strictEqual ( navigator . platform , 'Win32' ) ;
27
+ } else if ( process . platform === 'linux' && process . arch === 'ia32' ) {
28
+ assert . strictEqual ( navigator . platform , 'Linux i686' ) ;
29
+ } else if ( process . platform === 'linux' && process . arch === 'x64' ) {
30
+ assert . strictEqual ( navigator . platform , 'Linux x86_64' ) ;
31
+ } else {
32
+ assert . strictEqual ( navigator . platform , `${ process . platform [ 0 ] . toUpperCase ( ) } ${ process . platform . slice ( 1 ) } ${ process . arch } ` ) ;
33
+ }
34
+
35
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'x64' , platform : 'darwin' } ) , 'MacIntel' ) ;
36
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'arm64' , platform : 'darwin' } ) , 'MacIntel' ) ;
37
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'ia32' , platform : 'linux' } ) , 'Linux i686' ) ;
38
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'x64' , platform : 'linux' } ) , 'Linux x86_64' ) ;
39
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'arm64' , platform : 'linux' } ) , 'Linux arm64' ) ;
40
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'x64' , platform : 'freebsd' } ) , 'Freebsd x64' ) ;
41
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'ia32' , platform : 'win32' } ) , 'Win32' ) ;
42
+ assert . strictEqual ( getNavigatorPlatform ( { arch : 'x64' , platform : 'win32' } ) , 'Win32' ) ;
0 commit comments