test(generator): restore locale after float formatting test

master
韩天峰 6 days ago
parent d0ff8c5e4f
commit b906bfce1a
  1. 9
      phpunit/src/OperatorTest.php

@ -148,8 +148,13 @@ class OperatorTest extends \BaseTest
public function testFloatLiteralEmissionIsLocaleIndependent(): void public function testFloatLiteralEmissionIsLocaleIndependent(): void
{ {
$previousLocale = setlocale(LC_ALL, 'de_DE.UTF-8', 'da_DK.UTF-8', 'en_DK.utf8'); $previousLocale = setlocale(LC_NUMERIC, 0);
try { try {
$selectedLocale = setlocale(LC_NUMERIC, 'de_DE.UTF-8', 'da_DK.UTF-8', 'en_DK.utf8');
if ($selectedLocale === false || localeconv()['decimal_point'] !== ',') {
$this->markTestSkipped('No comma-decimal locale is available');
}
global $translator; global $translator;
$compiler = \TypePhp\CompilerTest::create(TYPEPHP_ROOT_PATH); $compiler = \TypePhp\CompilerTest::create(TYPEPHP_ROOT_PATH);
$translator = $compiler; $translator = $compiler;
@ -158,7 +163,7 @@ class OperatorTest extends \BaseTest
$this->assertStringNotContainsString(',', $result); $this->assertStringNotContainsString(',', $result);
} finally { } finally {
if ($previousLocale !== false) { if ($previousLocale !== false) {
setlocale(LC_ALL, $previousLocale); setlocale(LC_NUMERIC, $previousLocale);
} }
} }
} }

Loading…
Cancel
Save