Version 2.16.0-66.0.dev
Merge commit 'ae5def7b0d96043cd29115762afade0aba942f3c' into 'dev'
diff --git a/sdk/lib/io/platform.dart b/sdk/lib/io/platform.dart
index 06dd98f..296456f 100644
--- a/sdk/lib/io/platform.dart
+++ b/sdk/lib/io/platform.dart
@@ -75,9 +75,12 @@
/// Get the name of the current locale.
///
- /// The result should include a language and country code
- /// (e.g. "en_US", "de_AT") and may include a character set
- /// (e.g. "en_US.UTF-8").
+ /// The result usually consists of
+ /// - a language (e.g., "en"), or
+ /// - a language and country code (e.g. "en_US", "de_AT"), or
+ /// - a language, country code and character set (e.g. "en_US.UTF-8").
+ ///
+ /// On macOS and iOS, the locale is taken from CFLocaleGetIdentifier.
///
/// On Linux and Fushia, the locale is taken from the "LANG" environment
/// variable, which may be set to any value. For example:
diff --git a/tests/standalone/io/platform_locale_name_test.dart b/tests/standalone/io/platform_locale_name_test.dart
index 611623d..aa5c2b9 100644
--- a/tests/standalone/io/platform_locale_name_test.dart
+++ b/tests/standalone/io/platform_locale_name_test.dart
@@ -8,11 +8,12 @@
main() {
// Match patterns like:
- // "en-US" (Android, iOS, MacOS, Windows)
+ // "en" (MacOS)
+ // "en-US" (Android, iOS, Windows)
// "en_US", "en_US.UTF-8" (Linux)
// "ESP-USA" (theoretically possible)
// Assumes that the platform has a reasonably configured locale.
- var localePattern = RegExp(r"[A-Za-z]{2,4}[_-][A-Za-z]{2}");
+ var localePattern = RegExp(r"[A-Za-z]{2,4}([_-][A-Za-z]{2})?");
var localeName = Platform.localeName;
Expect.isNotNull(
localePattern.matchAsPrefix(localeName),
diff --git a/tests/standalone_2/io/platform_locale_name_test.dart b/tests/standalone_2/io/platform_locale_name_test.dart
index 5ad27ed..b615930 100644
--- a/tests/standalone_2/io/platform_locale_name_test.dart
+++ b/tests/standalone_2/io/platform_locale_name_test.dart
@@ -10,11 +10,12 @@
main() {
// Match patterns like:
- // "en-US" (Android, iOS, MacOS, Windows)
+ // "en" (MacOS)
+ // "en-US" (Android, iOS, Windows)
// "en_US", "en_US.UTF-8" (Linux)
// "ESP-USA" (theoretically possible)
// Assumes that the platform has a reasonably configured locale.
- var localePattern = RegExp(r"[A-Za-z]{2,4}[_-][A-Za-z]{2}");
+ var localePattern = RegExp(r"[A-Za-z]{2,4}([_-][A-Za-z]{2})?");
var localeName = Platform.localeName;
Expect.isNotNull(
localePattern.matchAsPrefix(localeName),
diff --git a/tools/VERSION b/tools/VERSION
index d0ff84a..7f0dce2 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 16
PATCH 0
-PRERELEASE 65
+PRERELEASE 66
PRERELEASE_PATCH 0
\ No newline at end of file