chg: replaced ant with gradle
This commit is contained in:
parent
cee0be52e0
commit
5cbeb9f01d
609 changed files with 87626 additions and 638 deletions
136
modules/jala/tests/I18n.js
Normal file
136
modules/jala/tests/I18n.js
Normal file
|
@ -0,0 +1,136 @@
|
|||
//
|
||||
// Jala Project [http://opensvn.csie.org/traccgi/jala]
|
||||
//
|
||||
// Copyright 2004 ORF Online und Teletext GmbH
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the ``License'');
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an ``AS IS'' BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// $Revision$
|
||||
// $LastChangedBy$
|
||||
// $LastChangedDate$
|
||||
// $HeadURL$
|
||||
//
|
||||
|
||||
|
||||
/**
|
||||
* Declare which test methods should be run in which order
|
||||
* @type Array
|
||||
* @final
|
||||
*/
|
||||
|
||||
var oldMessages;
|
||||
|
||||
/**
|
||||
* Called before running the tests
|
||||
*/
|
||||
var setup = function() {
|
||||
// save any currently used message bundle before
|
||||
// creating the one for this test
|
||||
oldMessages = jala.i18n.getMessages();
|
||||
// setup the test message bundle
|
||||
var messages = {};
|
||||
messages.de_AT = {
|
||||
"Hello, World!": "Hallo, Welt!",
|
||||
"This is {0}.": "Das ist {0}.",
|
||||
"You've got one new mail.": "Du hast eine neue E-Mail.",
|
||||
"You've got {0} new mails.": "Du hast {0} neue E-Mails."
|
||||
};
|
||||
// tell jala where to find the messages
|
||||
jala.i18n.setMessages(messages);
|
||||
// assign a method for retrieving the locale for translation
|
||||
jala.i18n.setLocaleGetter(new Function("return res.meta.locale;"));
|
||||
// set the locale to use by jala.i18n
|
||||
res.meta.locale = new java.util.Locale("de", "AT");
|
||||
return;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Called after tests have finished. This method will be called
|
||||
* regarless whether the test succeeded or failed.
|
||||
*/
|
||||
var cleanup = function() {
|
||||
// restore any previous message set
|
||||
jala.i18n.setMessages(oldMessages);
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests for formatMessage
|
||||
*/
|
||||
var testFormatMessage = function() {
|
||||
var msg = "Es ist jetzt {0,date,EEEE, dd. MMMM yyyy, HH:mm} Uhr.";
|
||||
var args = [new Date(2007, 1, 8, 17, 58)];
|
||||
var result = jala.i18n.formatMessage(msg, args);
|
||||
var expected = "Es ist jetzt Donnerstag, 08. Februar 2007, 17:58 Uhr.";
|
||||
assertEqual(expected, result);
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests for gettext()
|
||||
*/
|
||||
var testGettext = function() {
|
||||
assertEqual("Hallo, Welt!", gettext("Hello, World!"));
|
||||
// test not found message key
|
||||
assertEqual("Hello You!", gettext("Hello You!"));
|
||||
// test gettext with additional replacement value
|
||||
assertEqual("Das ist Jala I18n.", gettext("This is {0}.", "Jala I18n"));
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests for ngettext()
|
||||
*/
|
||||
var testNgettext = function() {
|
||||
// zero
|
||||
assertEqual("Du hast 0 neue E-Mails.",
|
||||
ngettext("You've got one new mail.",
|
||||
"You've got {0} new mails.",
|
||||
0));
|
||||
// one
|
||||
assertEqual("Du hast eine neue E-Mail.",
|
||||
ngettext("You've got one new mail.",
|
||||
"You've got {0} new mails.",
|
||||
1));
|
||||
// more
|
||||
assertEqual("Du hast 23 neue E-Mails.",
|
||||
ngettext("You've got one new mail.",
|
||||
"You've got {0} new mails.",
|
||||
23));
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* Tests for message macro
|
||||
*/
|
||||
var testMessageMacro = function() {
|
||||
// singular
|
||||
var skin = createSkin('<% message text="You\'ve got one new mail." %>');
|
||||
assertEqual("Du hast eine neue E-Mail.", renderSkinAsString(skin));
|
||||
|
||||
res.handlers.testHandler = {value: 0};
|
||||
// value replacement using testHandler
|
||||
skin = createSkin('<% message text="You\'ve got {0} new mails." values="testHandler.value" %>');
|
||||
assertEqual("Du hast 0 neue E-Mails.", renderSkinAsString(skin));
|
||||
// plural including replacement using testHandler
|
||||
res.handlers.testHandler.value = 23;
|
||||
skin = createSkin('<% message text="You\'ve got one new mail." plural="You\'ve got {0} new mails." values="testHandler.value" %>');
|
||||
assertEqual("Du hast 23 neue E-Mails.", renderSkinAsString(skin));
|
||||
// using a value of the param object passed to the skin
|
||||
// FIXME: appearently this doesn't work, but why?
|
||||
/*
|
||||
skin = createSkin('<% message text="You\'ve got one new mail." plural="You\'ve got {0} new mails." values="param.spam" %>');
|
||||
assertEqual("Du hast 45 neue E-Mails.", renderSkinAsString(skin, {spam: 45}));
|
||||
*/
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue