@@ -6750,24 +6750,24 @@ def test_bad_locale(self):
6750
6750
self.assertContained('locale set to waka: waka',
6751
6751
self.run_js('a.out.js', args=['waka']))
6752
6752
6753
+ @with_env_modify({'LC_ALL': 'en_US'})
6753
6754
def test_browser_language_detection(self):
6754
6755
# Test HTTP Accept-Language parsing by simulating navigator.languages #8751
6755
6756
self.run_process([EMCC,
6756
6757
test_file('test_browser_language_detection.c')])
6757
- self.assertContained('C.UTF-8', self.run_js('a.out.js'))
6758
+ # We support both "C" and "en_US" here since older versions of node do
6759
+ # not expose navigator.languages.
6760
+ self.assertContained('LANG=(C|en_US).UTF-8', self.run_js('a.out.js'), regex=True)
6758
6761
6759
6762
# Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
6760
- create_file('preamble.js', r'''navigator = {};
6761
- navigator.languages = [ "fr", "fr-FR", "en-US", "en" ];''')
6762
- self.run_process([EMCC, '--pre-js', 'preamble.js',
6763
- test_file('test_browser_language_detection.c')])
6764
- self.assertContained('fr.UTF-8', self.run_js('a.out.js'))
6763
+ create_file('pre.js', 'var navigator = { languages: [ "fr", "fr-FR", "en-US", "en" ] };')
6764
+ self.run_process([EMCC, '--pre-js', 'pre.js', test_file('test_browser_language_detection.c')])
6765
+ self.assertContained('LANG=fr.UTF-8', self.run_js('a.out.js'))
6765
6766
6766
6767
# Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.5,en;q=0.3
6767
- create_file('preamble.js', r'''navigator = {};
6768
- navigator.languages = [ "fr-FR", "fr", "en-US", "en" ];''')
6769
- self.emcc_args += ['--pre-js', 'preamble.js']
6770
- self.do_runf('test_browser_language_detection.c', 'fr_FR.UTF-8')
6768
+ create_file('pre.js', r'var navigator = { languages: [ "fr-FR", "fr", "en-US", "en" ] };')
6769
+ self.emcc_args += ['--pre-js', 'pre.js']
6770
+ self.do_runf('test_browser_language_detection.c', 'LANG=fr_FR.UTF-8')
6771
6771
6772
6772
def test_js_main(self):
6773
6773
# try to add a main() from JS, at runtime. this is not supported (the
@@ -13374,7 +13374,7 @@ def test_split_module(self, customLoader, jspi, opt):
13374
13374
self.emcc_args += ['-g', '-sJSPI_EXPORTS=say_hello']
13375
13375
self.emcc_args += ['-sEXPORTED_FUNCTIONS=_malloc,_free']
13376
13376
output = self.do_other_test('test_split_module.c')
13377
- if jspi :
13377
+ if self.js_engines == [config.V8_ENGINE] :
13378
13378
# TODO remove this when https://chromium-review.googlesource.com/c/v8/v8/+/4159854
13379
13379
# lands.
13380
13380
# d8 doesn't support writing a file yet, so extract it from the output.
@@ -14939,8 +14939,8 @@ def test_parseTools_legacy(self):
14939
14939
def test_min_node_version(self):
14940
14940
node_version = shared.get_node_version(self.get_nodejs())
14941
14941
node_version = '.'.join(str(x) for x in node_version)
14942
- self.set_setting('MIN_NODE_VERSION', 210000 )
14943
- expected = 'This emscripten-generated code requires node v21 .0.0 (detected v%s' % node_version
14942
+ self.set_setting('MIN_NODE_VERSION', 300000 )
14943
+ expected = 'This emscripten-generated code requires node v30 .0.0 (detected v%s' % node_version
14944
14944
self.do_runf('hello_world.c', expected, assert_returncode=NON_ZERO)
14945
14945
14946
14946
def test_deprecated_macros(self):
0 commit comments