javacommons/utils/tsrc/localisation/javasrc/com/nokia/mj/impl/utils/LocalisationTest.java
author hgs
Fri, 15 Oct 2010 12:29:39 +0300
changeset 80 d6dafc5d983f
parent 67 63b81d807542
permissions -rw-r--r--
v2.2.19_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     1
/*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     3
* All rights reserved.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     8
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    11
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    12
* Contributors:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    13
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    14
* Description:
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    15
*
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    16
*/
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    17
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    18
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    19
package com.nokia.mj.impl.utils;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    20
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    21
import java.util.Date;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    22
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    23
import com.nokia.mj.impl.utils.ResourceLoader;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    24
import com.nokia.mj.impl.utils.Formatter;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    25
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    26
import com.nokia.mj.impl.utils.Logger;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    27
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    28
import com.nokia.mj.impl.installer.utils.InstallerMain;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    29
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    30
import j2meunit.framework.Test;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    31
import j2meunit.framework.TestCase;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    32
import j2meunit.framework.TestMethod;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    33
import j2meunit.framework.TestSuite;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    34
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    35
public class LocalisationTest extends TestCase implements InstallerMain
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    36
{
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    37
    // Must have no-argument constructor for Class.forname()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    38
    public LocalisationTest()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    39
    {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    40
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    41
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    42
    public LocalisationTest(String sTestName, TestMethod rTestMethod)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    43
    {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    44
        super(sTestName, rTestMethod);
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    45
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    46
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    47
    // Begin j2meunit test framework setup
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    48
    public void installerMain(String[] args)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    49
    {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    50
        com.nokia.mj.impl.utils.OmjTestRunner.run(suite());
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    51
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    52
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    53
    public Test suite()
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    54
    {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    55
        // TestSuite aSuite = new TestSuite();
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    56
        TestSuite aSuite = new TestSuite(this.getClass().getName());
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    57
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    58
        aSuite.addTest(new LocalisationTest("testFormatDigits", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    59
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    60
            public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    61
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    62
                ((LocalisationTest) tc).testFormatDigits();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    63
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    64
        }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    65
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    66
        aSuite.addTest(new LocalisationTest("testFormatterAvkon", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    67
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    68
            public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    69
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    70
                ((LocalisationTest) tc).testFormatterAvkon();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    71
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    72
        }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    73
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    74
        aSuite.addTest(new LocalisationTest("testResourceLoaderAvkon", new TestMethod()
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    75
        {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    76
            public void run(TestCase tc)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    77
            {
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    78
                ((LocalisationTest) tc).testResourceLoaderAvkon();
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    79
            }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    80
        }));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
    81
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    82
        if (ResourceLoader.getLocaleIdQt() != null)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    83
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    84
            aSuite.addTest(new LocalisationTest("testFormatterQt", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    85
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    86
                public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    87
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    88
                    ((LocalisationTest) tc).testFormatterQt();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    89
                }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    90
            }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    91
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    92
            aSuite.addTest(new LocalisationTest("testResourceLoaderQt", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    93
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    94
                public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    95
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    96
                    ((LocalisationTest) tc).testResourceLoaderQt();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    97
                }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    98
            }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
    99
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   100
            aSuite.addTest(new LocalisationTest("testNumerusQt", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   101
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   102
                public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   103
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   104
                    ((LocalisationTest) tc).testNumerusQt();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   105
                }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   106
            }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   107
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   108
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   109
        aSuite.addTest(new LocalisationTest("testResourceLoaderCreate", new TestMethod()
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   110
        {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   111
            public void run(TestCase tc)
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   112
            {
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   113
                ((LocalisationTest) tc).testResourceLoaderCreate();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   114
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   115
        }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   116
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   117
        aSuite.addTest(new LocalisationTest("testResourceLoaderDestroy", new TestMethod()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   118
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   119
            public void run(TestCase tc)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   120
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   121
                ((LocalisationTest) tc).testResourceLoaderDestroy();
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   122
            }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   123
        }));
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   124
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   125
        return aSuite;
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   126
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   127
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   128
    void testFormatDigits()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   129
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   130
        String str = "Message from number +358101234567 received.";
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   131
        // Test are executed with english locale,
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   132
        // numbers should not be changed.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   133
        assertEquals(str, FormatterAvkon.formatDigits(str));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   134
        assertEquals(str, FormatterQt.formatDigits(str));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   135
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   136
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   137
    void testFormatterAvkon()
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   138
    {
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   139
        // Zero argument
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   140
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   141
            "Test",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   142
            new FormatterAvkon("Test").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   143
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   144
        // One argument tests
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   145
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   146
            "Test 100",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   147
            new FormatterAvkon("Test %0N").arg(100).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   148
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   149
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   150
            "Test 1",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   151
            new FormatterAvkon("Test %C").arg('1').toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   152
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   153
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   154
            "Test A",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   155
            new FormatterAvkon("Test %0C").arg('A').toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   156
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   157
        // Two argument tests
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   158
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   159
            "Test test 100",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   160
            new FormatterAvkon("Test %1U %0N").arg(100).arg("test").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   161
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   162
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   163
            "100 test test",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   164
            new FormatterAvkon("%0 test %1").arg(100).arg("test").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   165
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   166
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   167
            "Test A B C",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   168
            new FormatterAvkon("Test %0C %1 %2C").arg('A').arg('B').arg('C').toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   169
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   170
        // Two argument tests with array
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   171
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   172
            "Test test 100",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   173
            new FormatterAvkon("Test %1U %0N").format(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   174
                new Object[]
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   175
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   176
                    new Integer(100), "test"
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   177
                }));
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   178
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   179
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   180
            "100 test test",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   181
            new FormatterAvkon("%0 test %1").format(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   182
                new Object[]
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   183
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   184
                    new Integer(100), "test"
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   185
                }));
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   186
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   187
        // Missing argument, no failure, just unreplaced parameter
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   188
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   189
            "100 test %1",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   190
            new FormatterAvkon("%0 test %1").arg(100).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   191
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   192
        // Extra argument, no failure
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   193
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   194
            "100 test",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   195
            new FormatterAvkon("%0 test").arg(100).arg("test").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   196
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   197
        Date testDate = new Date(1234567890); // 15/01/1970
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   198
        // Test case assumes emulator locale is default as EDateEuropean.
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   199
        assertEquals("15/01/1970", new FormatterAvkon("%0").arg(testDate).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   200
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   201
        Object obj = testDate;
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   202
        assertEquals("15/01/1970", new FormatterAvkon("%0").arg(obj).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   203
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   204
        obj = new Integer(1);
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   205
        assertEquals("1", new FormatterAvkon("%0").arg(obj).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   206
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   207
        obj = new String("me");
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   208
        assertEquals("Test me", new FormatterAvkon("Test %0").arg(obj).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   209
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   210
        // Test skip not supported type
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   211
        obj = new Boolean(false);
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   212
        assertEquals("Test %0", new FormatterAvkon("Test %0").arg(obj).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   213
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   214
        // Test MAX %1U[08]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   215
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   216
            "Test testMyTe 100",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   217
            new FormatterAvkon("Test %1U[08] %0N").arg(100).arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   218
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   219
        // Test %U[]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   220
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   221
            "Test testMyTest",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   222
            new FormatterAvkon("Test %U[]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   223
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   224
        // Test %U[08]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   225
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   226
            "Test testMyTe",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   227
            new FormatterAvkon("Test %U[08]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   228
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   229
        // Test %0[]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   230
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   231
            "Test testMyTest",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   232
            new FormatterAvkon("Test %0[]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   233
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   234
        // Test %0[08]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   235
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   236
            "Test testMyTe",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   237
            new FormatterAvkon("Test %0[08]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   238
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   239
        // Test %U[20  Skip
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   240
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   241
            "Test %U[20",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   242
            new FormatterAvkon("Test %U[20").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   243
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   244
        // Test %U[300]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   245
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   246
            "Test testMyTest",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   247
            new FormatterAvkon("Test %U[300]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   248
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   249
        // Test %U[8]
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   250
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   251
            "Test testMyTe",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   252
            new FormatterAvkon("Test %U[8]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   253
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   254
        // Test Max is higher than actual string. Expected output: whole string no padding.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   255
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   256
            "Test testMyTest",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   257
            new FormatterAvkon("Test %U[80]").arg("testMyTest").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   258
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   259
        // Test Max is higher than pattern and string is shorter than pattern.
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   260
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   261
            "t to",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   262
            new FormatterAvkon("t %U[09]").arg("to").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   263
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   264
        // Test 0 len Max
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   265
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   266
            "t ",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   267
            new FormatterAvkon("t %U[00]").arg("to").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   268
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   269
        // Test 1 len Max
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   270
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   271
            "t 1",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   272
            new FormatterAvkon("t %U[01]").arg("12").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   273
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   274
        // Test 0 len Max with 0 len replacement
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   275
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   276
            "t ",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   277
            new FormatterAvkon("t %U[00]").arg("").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   278
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   279
        // Test 1 len Max with 1 len replacement
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   280
        assertEquals(
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   281
            "t 1",
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   282
            new FormatterAvkon("t %U[01]").arg("1").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   283
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   284
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   285
    void testFormatterQt()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   286
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   287
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   288
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   289
            ResourceLoaderQt res =
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   290
                (ResourceLoaderQt)ResourceLoaderQt.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   291
                    "common", "txt_common_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   292
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   293
            // Zero argument
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   294
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   295
                "Test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   296
                new FormatterQt(res, "Test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   297
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   298
            // One argument tests
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   299
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   300
                "Test 100",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   301
                new FormatterQt(res, "Test %1").arg(100).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   302
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   303
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   304
                "Test 100",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   305
                new FormatterQt(res, "Test %L1").arg(100).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   306
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   307
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   308
                "Test AAA",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   309
                new FormatterQt(res, "Test %1").arg("AAA").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   310
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   311
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   312
                "Test A",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   313
                new FormatterQt(res, "Test %1").arg('A').toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   314
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   315
            // Two argument tests
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   316
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   317
                "Test test 100",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   318
                new FormatterQt(res, "Test %2 %L1").arg(100).arg("test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   319
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   320
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   321
                "100 test test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   322
                new FormatterQt(res, "%1 test %2").arg(100).arg("test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   323
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   324
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   325
                "Test A B C",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   326
                new FormatterQt(res, "Test %1 %2 %3").arg('A').arg('B').arg('C').toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   327
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   328
            // Two argument tests with array
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   329
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   330
                "Test test 100",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   331
                new FormatterQt(res, "Test %2 %L1").format(new Object[]
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   332
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   333
                    new Integer(100), "test"
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   334
                }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   335
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   336
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   337
                "100 test test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   338
                new FormatterQt(res, "%1 test %2").format(new Object[]
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   339
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   340
                    new Integer(100), "test"
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   341
                }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   342
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   343
            // Missing argument, no failure, just unreplaced parameter
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   344
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   345
                "100 test %2",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   346
                new FormatterQt(res, "%1 test %2").arg(100).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   347
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   348
            // Extra argument, no failure
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   349
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   350
                "100 test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   351
                new FormatterQt(res, "%1 test").arg(100).arg("test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   352
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   353
            Date testDate = new Date(1234567890); // 15/01/1970
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   354
            assertEquals("date1 15/01/1970",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   355
                         new FormatterQt(res, "date1 %1").arg(testDate).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   356
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   357
            Object obj = testDate;
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   358
            assertEquals("date2 15/01/1970",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   359
                         new FormatterQt(res, "date2 %1").arg(obj).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   360
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   361
            assertEquals("date3 15/01/1970",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   362
                         new FormatterQt(res, "date3 %1").format(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   363
                             new Object[] { obj }));
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   364
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   365
            obj = new Integer(1);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   366
            assertEquals("1", new FormatterQt(res, "%1").arg(obj).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   367
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   368
            obj = new String("me");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   369
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   370
                "Test me",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   371
                new FormatterQt(res, "Test %1").arg(obj).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   372
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   373
            // Test skip not supported type
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   374
            obj = new Boolean(false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   375
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   376
                "Test %1",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   377
                new FormatterQt(res, "Test %1").arg(obj).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   378
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   379
            // Test MAX %[8]2
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   380
            //assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   381
            //    "Test testMyTe 100",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   382
            //    new FormatterQt(res, "Test %[8]2 %1").arg(100).arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   383
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   384
            // Test %[] Skip
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   385
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   386
                "Test %[]",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   387
                new FormatterQt(res, "Test %[]").arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   388
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   389
            // Test %[]1 Skip
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   390
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   391
                "Test %[]1",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   392
                new FormatterQt(res, "Test %[]1").arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   393
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   394
            // Test %[20  Skip
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   395
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   396
                "Test %[20",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   397
                new FormatterQt(res, "Test %[20").arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   398
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   399
            // Test %[08]1
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   400
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   401
                "Test testMyTe\u2026",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   402
                new FormatterQt(res, "Test %[08]1").arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   403
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   404
            // Test %[300]1
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   405
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   406
                "Test testMyTest",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   407
                new FormatterQt(res, "Test %[300]1").arg("testMyTest").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   408
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   409
            // Test Max is higher than pattern and result is shorter than pattern.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   410
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   411
                "t to",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   412
                new FormatterQt(res, "t %[09]1").arg("to").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   413
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   414
            // Test 0 len Max
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   415
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   416
                "t \u2026",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   417
                new FormatterQt(res, "t %[00]1").arg("to").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   418
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   419
            // Test 1 len Max
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   420
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   421
                "t 1\u2026",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   422
                new FormatterQt(res, "t %[01]1").arg("12").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   423
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   424
            // Test 0 len Max with 0 len replacement
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   425
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   426
                "t ",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   427
                new FormatterQt(res, "t %[00]1").arg("").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   428
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   429
            // Test 1 len Max with 1 len replacement
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   430
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   431
                "t 1",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   432
                new FormatterQt(res, "t %[01]1").arg("1").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   433
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   434
            // Plurality form tests
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   435
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   436
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   437
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   438
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   439
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   440
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   441
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   442
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   443
    void testResourceLoaderAvkon()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   444
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   445
        doResourceLoaderAvkonTest("testresource", "test_", "", "");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   446
        doResourceLoaderAvkonTest("testresource,testresource2", "test_,test2_", "", "");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   447
        doResourceLoaderAvkonTest("testresource2,testresource", "unknown_prefix_,test_", "", "");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   448
        doResourceLoaderAvkonTest("testresource2,testresource", "unknown_prefix_,test_", "dummy,", "dummy,");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   449
        doResourceLoaderAvkonTest("testresource", "test_,unknown_prefix_", "", "");
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   450
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   451
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   452
    private void doResourceLoaderAvkonTest(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   453
        String resourceFilename, String resourcePrefix,
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   454
        String inPrefix, String outPrefix)
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   455
    {
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   456
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   457
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   458
            ResourceLoader res =
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   459
                ResourceLoaderAvkon.getInstance(resourceFilename, resourcePrefix);
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   460
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   461
            // Test existing
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   462
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   463
                "id1 test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   464
                res.format(inPrefix + "id_1").arg("test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   465
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   466
                "id2 test2",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   467
                res.format(inPrefix + "id_2").arg("test2").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   468
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   469
                "id3 test3",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   470
                res.format(inPrefix + "id_3").arg("test3").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   471
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   472
            // Test fetching the same text again
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   473
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   474
                "id1 test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   475
                res.format(inPrefix + "id_1").arg("test").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   476
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   477
            // Test full name
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   478
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   479
                "id1 test",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   480
                res.format(inPrefix + "id_1").arg("test").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   481
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   482
            // Test non-existing, with prefix
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   483
            assertTrue(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   484
                inPrefix + "id_notfound does not result " + outPrefix + "id_notfound",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   485
                res.format(inPrefix + "id_notfound").arg("test3").toString().endsWith(outPrefix + "id_notfound"));
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   486
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   487
            // Test non-existing, without prefix
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   488
            assertTrue(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   489
                inPrefix + "id_notfound does not result " + outPrefix + "id_notfound",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   490
                res.format(inPrefix + "id_notfound").arg("test3").toString().endsWith(outPrefix + "id_notfound"));
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   491
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   492
            // Test array
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   493
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   494
                "id3 test3",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   495
                res.format(inPrefix + "id_3", new Object[] {"test3"}));
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   496
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   497
            // Test enter decoding.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   498
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   499
                "id4 \n test4 \n",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   500
                res.format(inPrefix + "id_4").arg("test4").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   501
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   502
            // Test backlash decoding.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   503
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   504
                "\\id5 \\ test5",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   505
                res.format(inPrefix + "id_5").arg("test5").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   506
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   507
            // Test double-quote decoding.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   508
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   509
                "id6 \"\" test6",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   510
                res.format(inPrefix + "id_6").arg("test6").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   511
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   512
            // Test single-quote decoding.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   513
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   514
                "id7 \' test7",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   515
                res.format(inPrefix + "id_7").arg("test7").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   516
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   517
            // Test tabulator decoding.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   518
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   519
                "id8\ttest8",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   520
                res.format(inPrefix + "id_8").arg("test8").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   521
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   522
            // Test character code <0x20AC>
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   523
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   524
                "id9 It takes 800 \u20ac to win!",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   525
                res.format(inPrefix + "id_9").arg(800).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   526
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   527
            // Test two character codes.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   528
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   529
                "id10 It takes \u20ac 800 \u20ac to win!",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   530
                res.format(inPrefix + "id_10").arg(800).toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   531
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   532
            // Test two character codes in a row. Test <0x20ac><0x20ac>
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   533
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   534
                "id11 It takes \u20ac\u20ac to win!",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   535
                res.format(inPrefix + "id_11").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   536
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   537
            // Test only character code.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   538
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   539
                "\u20ac",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   540
                res.format(inPrefix + "id_12").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   541
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   542
            // Test invalid character code.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   543
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   544
                "id13 It <0x20A>to win!",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   545
                res.format(inPrefix + "id_13").toString());
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   546
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   547
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   548
            // Test character code as first character.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   549
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   550
                "\u20ac id14",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   551
                res.format(inPrefix + "id_14").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   552
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   553
            // Test character code as last character.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   554
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   555
                "id15 \u20ac",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   556
                res.format(inPrefix + "id_15").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   557
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   558
            // Test invalid character.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   559
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   560
                "id16 <0xG0AC>",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   561
                res.format(inPrefix + "id_16").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   562
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   563
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   564
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   565
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   566
            assertTrue("'" + resourceFilename + "', '" + resourcePrefix + "', '" +
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   567
                       inPrefix + "', '" + outPrefix + "': " + t, false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   568
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   569
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   570
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   571
    void testResourceLoaderQt()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   572
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   573
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   574
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   575
            ResourceLoader res =
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   576
                ResourceLoaderQt.getInstance("common", "txt_common_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   577
            assertEquals("OK", res.format("button_ok").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   578
            // Test fetching the same text again
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   579
            assertEquals("OK", res.format("button_ok").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   580
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   581
            res = ResourceLoaderQt.getInstance("common_errors", "txt_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   582
            assertEquals("Invalid installation package", res.format("error_info_installation_package_is_invalid").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   583
            assertEquals("Unable to access server", res.format("error_info_no_server_access").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   584
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   585
            res = ResourceLoaderQt.getInstance("common,javaapplicationinstaller", "txt_common_,txt_java_inst_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   586
            assertEquals("Manufacturer", res.format("setlabel_cert_domain_val_manufacturer").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   587
            // Test fetching the same text again
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   588
            assertEquals("Manufacturer", res.format("setlabel_cert_domain_val_manufacturer").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   589
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   590
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   591
                "foo (bar)",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   592
                res.format("info_app_suite_name_version").arg("foo").arg("bar").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   593
            // Test fetching the same text again
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   594
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   595
                "foo (bar)",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   596
                res.format("info_app_suite_name_version").arg("foo").arg("bar").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   597
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   598
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   599
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   600
                "text_not_found",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   601
                res.format("text_not_found").arg("foo").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   602
            // Test fetching the same text again
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   603
            assertEquals(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   604
                "text_not_found",
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   605
                res.format("text_not_found").arg("foo").toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   606
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   607
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   608
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   609
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   610
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   611
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   612
    }
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   613
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   614
    void testNumerusQt()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   615
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   616
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   617
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   618
            ResourceLoader res =
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   619
                ResourceLoaderQt.getInstance("clock", "txt_clock_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   620
            assertEquals("1 hr", res.format("dblist_daily_val_ln_hr").argn(1).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   621
            assertEquals("5 hrs", res.format("dblist_daily_val_ln_hr").argn(5).toString());
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   622
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   623
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   624
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   625
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   626
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   627
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   628
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   629
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   630
    void testResourceLoaderCreate()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   631
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   632
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   633
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   634
            // Create Avkon ResourceLoader with unknown resource.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   635
            ResourceLoader rl = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   636
                "unknown_resource_1", "unknown_prefix", null, null);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   637
            ResourceLoader rl2 = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   638
                "unknown_resource_1", "unknown_prefix", null, null);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   639
            assertTrue("1: null ResourceLoader", rl != null);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   640
            assertTrue("1: not Avkon ResourceLoader", rl instanceof ResourceLoaderAvkon);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   641
            assertTrue("1: not same ResourceLoader instance", rl == rl2);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   642
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   643
            // Create Qt ResourceLoader with known resource.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   644
            rl = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   645
                null, null, "common", "txt_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   646
            rl2 = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   647
                null, null, "common", "txt_");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   648
            assertTrue("2: null ResourceLoader", rl != null);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   649
            if (ResourceLoader.getLocaleIdQt() == null)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   650
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   651
                assertTrue("2: not Avkon ResourceLoader", rl instanceof ResourceLoaderAvkon);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   652
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   653
            else
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   654
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   655
                assertTrue("2: not Qt ResourceLoader", rl instanceof ResourceLoaderQt);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   656
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   657
            assertTrue("2: not same ResourceLoader instance", rl == rl2);
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   658
80
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   659
            // When Qt resource is not found, Avkon ResourceLoader should
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   660
            // be returned.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   661
            rl = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   662
                null, null, "unknown_resource_2", "unknown_prefix");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   663
            rl2 = ResourceLoader.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   664
                null, null, "unknown_resource_2", "unknown_prefix");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   665
            assertTrue("3: null ResourceLoader", rl != null);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   666
            assertTrue("3: not Avkon ResourceLoader", rl instanceof ResourceLoaderAvkon);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   667
            assertTrue("3: not same ResourceLoader instance", rl == rl2);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   668
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   669
            if (ResourceLoader.getLocaleIdQt() != null)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   670
            {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   671
                try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   672
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   673
                    // Check that correct exception is thrown for
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   674
                    // unknown Qt resource.
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   675
                    rl = ResourceLoaderQt.getInstance(
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   676
                        "unknown_resource_3", "unknown_prefix");
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   677
                    assertTrue("no exception for unknown Qt resource", false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   678
                }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   679
                catch (IllegalArgumentException iae)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   680
                {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   681
                    // Expected exception
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   682
                }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   683
            }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   684
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   685
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   686
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   687
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   688
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   689
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   690
    }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   691
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   692
    void testResourceLoaderDestroy()
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   693
    {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   694
        try
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   695
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   696
            ResourceLoader.destroyAll();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   697
        }
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   698
        catch (Throwable t)
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   699
        {
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   700
            t.printStackTrace();
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   701
            assertTrue(t.toString(), false);
d6dafc5d983f v2.2.19_1
hgs
parents: 67
diff changeset
   702
        }
67
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   703
    }
63b81d807542 v2.2.13_1
hgs
parents:
diff changeset
   704
}