sku-pg
Version:
Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!
64 lines (58 loc) • 2.03 kB
HTML
<!--
Copyright 2013 The Closure Library Authors. All Rights Reserved.
Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests - goog.i18n.collation</title>
<meta charset="utf-8">
<script src='../base.js'>
</script>
<script>
goog.require('goog.i18n.collation');
goog.require('goog.testing.ExpectedFailures')
goog.require('goog.testing.jsunit');
goog.require('goog.userAgent');
</script>
</head>
<body>
<script>
var expectedFailures = new goog.testing.ExpectedFailures();
function tearDown() {
expectedFailures.handleTearDown();
}
function testGetEnComparator() {
goog.LOCALE = 'en';
var compare = goog.i18n.collation.createComparator();
// The côte/coté comparison fails in FF/Linux (v19.0) because
// calling 'côte'.localeCompare('coté') gives a negative number (wrong)
// when the test is run but a positive number (correct) when calling
// it later in the web console. FF/OSX doesn't have this problem.
// Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=856115
expectedFailures.expectFailureFor(
goog.userAgent.GECKO && goog.userAgent.LINUX);
try {
assertTrue(compare('côte','coté') > 0)
} catch (e) {
expectedFailures.handleException(e);
}
}
function testGetFrComparator() {
goog.LOCALE = 'fr-CA';
var compare = goog.i18n.collation.createComparator();
if (!goog.i18n.collation.hasNativeComparator()) return;
assertTrue(compare('côte', 'coté') < 0);
}
function testGetComparatorForSpecificLocale() {
goog.LOCALE = 'en';
var compare = goog.i18n.collation.createComparator('fr-CA');
if (!goog.i18n.collation.hasNativeComparator('fr-CA')) return;
// 'côte' and 'coté' sort differently for en and fr-CA.
assertTrue(compare('côte', 'coté') < 0);
}
</script>
</body>
</html>