intl.html revision 6210c8ff54a22d109f944c4fddd5921a20f38db4
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen<script type="text/javascript" src="/build/yui/yui.js"></script>
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen #console .yui3-console-entry {
874934ea6b432d07fd1fd2050fbdfb56a4ff91b9Lubos Kosco #console .yui3-console-entry-fail .yui3-console-entry-cat {
874934ea6b432d07fd1fd2050fbdfb56a4ff91b9Lubos Kosco background-color:red;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen #console .yui3-console-entry-pass .yui3-console-entry-cat {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen background-color:green;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen #console .yui3-console-entry-perf .yui3-console-entry-cat {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen background-color:blue;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen position:static;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen<p><input type="button" value="Run Tests" id="btnRun" disabled=true></p>
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen useBrowserConsole:false
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen}).use("console", "test", "intl", function(Y) {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen // Set up the page
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen btnRun = Y.get("#btnRun"),
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen areObjectsReallyEqual = function (o1, o2) {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen verbose : false,
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen printTimeout: 0,
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen newestOnTop : false,
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen entryTemplate: '<pre class="{entry_class} {cat_class} {src_class}">'+
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen '<span class="{entry_cat_class}">{label}</span>'+
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen '<span class="{entry_content_class}">{message}</span>'+
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen btnRun.set("disabled", false);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.on("click", function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var testLookupBestLanguage = new Y.Test.Case({
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen name: "Lookup Best Language Tests",
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testArray: function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var language = Y.Intl.lookupBestLang(["de-DE", "en-SG", "ja-JP"], ["fr-FR", "en", "en-SG"]);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(language, "en-SG", "Expected en-SG.");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testString: function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var language = Y.Intl.lookupBestLang("de-DE,en-SG,ja-JP", ["fr-FR", "en", "en-SG"]);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(language, "en-SG", "Expected en-SG.");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testStar: function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var language = Y.Intl.lookupBestLang("de-DE,*,en-SG,ja-JP", ["fr-FR", "en", "en-SG"]);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(language, "en-SG", "Expected en-SG.");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testPrivate: function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var language = Y.Intl.lookupBestLang("de-DE,zh-Hant-CN-x-private1-private2", ["fr-FR", "zh-Hant-CN", "zh-Hant-CN-x"]);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(language, "zh-Hant-CN", "Expected zh-Hant-CN.");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var testStore = new Y.Test.Case({
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen name: "Basic Intl Language Store Tests",
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testAdd: function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var eventStack = [],
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco expectedEventStack = [
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco {module:"modA", newVal:"en-US", prevVal:undefined},
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco {module:"modA", newVal:"fr", prevVal:"en-US"},
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco {module:"modA", newVal:"ja-JP", prevVal:"fr"},
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco {module:"modA", newVal:"fr", prevVal:"ja-JP"}
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco Y.Intl.after("intl:langChange", function(e) {
be129181c479d0994742681b1513b15c4ff2d1e2Lubos Kosco eventStack.push({module:e.module, newVal:e.newVal, prevVal:e.prevVal});
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.Intl.add("modA", "en-US", {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modA").hello, "Hello");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.Intl.add("modA", "fr", {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen hello:"Bonjour"
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modA").hello, "Bonjour");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.Intl.add("modA", "ja-JP", {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen hello: "こんにちは"
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modA").hello, "こんにちは");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modA").hello, "Bonjour");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ARRAYASSERT.itemsAreEquivalent(expectedEventStack, eventStack, function(a, b) {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var equal = true;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen areObjectsReallyEqual(a, b);
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen equal = false;
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testRoot : function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.Intl.add("modB", "fr", {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen hello:"Bonjour"
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.getLang("modB"), "fr");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.getLang("modB"), "");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modB").hello, "HELLO");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.get("modB").hello, "Bonjour");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen ASSERT.areSame(Y.Intl.getLang("modB"), "fr");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen testGet : function() {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var origSet = {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen hello : "Hello",
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen world : "World"
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen Y.Intl.add("modC", "en", {
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen hello : "Hello",
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen world : "World"
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen var strs = Y.Intl.get("modC");
760394c2089a0f30086a50e53eca12feaa2f9be1Knut Anders Hatlen areObjectsReallyEqual(strs, origSet);
73100f4d1c412f00eb2568969d935cf3182b0d77Lubos Kosco ASSERT.areSame(Y.Intl.get("modC", "hello"), origSet.hello);
73100f4d1c412f00eb2568969d935cf3182b0d77Lubos Kosco ASSERT.areSame(Y.Intl.get("modC", "world"), origSet.world);
73100f4d1c412f00eb2568969d935cf3182b0d77Lubos Kosco Y.Test.Runner.add(testLookupBestLanguage);