blob: fbbdcd197c6da27f29195441a01c0b8433eebe99 [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@TestOn("browser")
library find_default_locale_browser_test;
import 'package:intl/intl.dart';
import 'package:intl/intl_browser.dart';
import 'package:test/test.dart';
main() {
test("Find system locale in browser", () {
// TODO (alanknight): This only verifies that we found some locale. We
// should find a way to force the system locale before the test is run
// and then verify that it's actually the correct value.
Intl.systemLocale = 'xx_YY';
ThenArgument callback = expectAsync1(verifyLocale) as ThenArgument;
findSystemLocale().then(callback);
});
}
typedef ThenArgument(String _);
verifyLocale(_) {
expect(Intl.systemLocale, isNot(equals("xx_YY")));
// Allow either en_US or just en type locales. Windows in particular may
// give us just ru for ru_RU
var pattern = new RegExp(r"\w\w_[A-Z0-9]+");
var shortPattern = new RegExp(r"\w\w");
var match = pattern.hasMatch(Intl.systemLocale);
var shortMatch = shortPattern.hasMatch(Intl.systemLocale);
expect(match || shortMatch, isTrue);
}