OLD | NEW |
| (Empty) |
1 // Copyright (C) 2013 Google Inc. | |
2 // | |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | |
4 // you may not use this file except in compliance with the License. | |
5 // You may obtain a copy of the License at | |
6 // | |
7 // http://www.apache.org/licenses/LICENSE-2.0 | |
8 // | |
9 // Unless required by applicable law or agreed to in writing, software | |
10 // distributed under the License is distributed on an "AS IS" BASIS, | |
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
12 // See the License for the specific language governing permissions and | |
13 // limitations under the License. | |
14 | |
15 #include <libaddressinput/localization.h> | |
16 | |
17 #include <string> | |
18 | |
19 #include <gtest/gtest.h> | |
20 | |
21 #include "grit.h" | |
22 #include "messages.h" | |
23 | |
24 namespace { | |
25 | |
26 using i18n::addressinput::INVALID_MESSAGE_ID; | |
27 using i18n::addressinput::Localization; | |
28 | |
29 // Tests for Localization object. | |
30 class LocalizationTest : public testing::TestWithParam<int> { | |
31 protected: | |
32 Localization localization_; | |
33 }; | |
34 | |
35 // Verifies that a custom message getter can be used. | |
36 const char kValidMessage[] = "Data"; | |
37 std::string GetValidMessage(int message_id) { return kValidMessage; } | |
38 TEST_P(LocalizationTest, ValidStringGetterCanBeUsed) { | |
39 localization_.SetGetter(&GetValidMessage); | |
40 EXPECT_EQ(kValidMessage, localization_.GetString(GetParam())); | |
41 } | |
42 | |
43 // Verifies that the default language for messages does not have empty strings. | |
44 TEST_P(LocalizationTest, DefaultStringIsNotEmpty) { | |
45 EXPECT_FALSE(localization_.GetString(GetParam()).empty()); | |
46 } | |
47 | |
48 // Verifies that English is the default language. | |
49 TEST_P(LocalizationTest, EnglishIsDefaultLanguage) { | |
50 std::string default_string = localization_.GetString(GetParam()); | |
51 localization_.SetLanguage("en"); | |
52 EXPECT_EQ(default_string, localization_.GetString(GetParam())); | |
53 } | |
54 | |
55 // Tests all message identifiers. | |
56 INSTANTIATE_TEST_CASE_P( | |
57 AllMessages, LocalizationTest, | |
58 testing::Values(IDS_LIBADDRESSINPUT_I18N_COUNTRY_LABEL, | |
59 IDS_LIBADDRESSINPUT_I18N_LOCALITY_LABEL, | |
60 IDS_LIBADDRESSINPUT_I18N_DEPENDENT_LOCALITY_LABEL, | |
61 IDS_LIBADDRESSINPUT_I18N_ORGANIZATION_LABEL, | |
62 IDS_LIBADDRESSINPUT_I18N_RECIPIENT_LABEL, | |
63 IDS_LIBADDRESSINPUT_I18N_ADDRESS_LINE1_LABEL, | |
64 IDS_LIBADDRESSINPUT_I18N_POSTAL_CODE_LABEL, | |
65 IDS_LIBADDRESSINPUT_I18N_ZIP_CODE_LABEL, | |
66 IDS_LIBADDRESSINPUT_I18N_CEDEX_LABEL, | |
67 IDS_LIBADDRESSINPUT_I18N_AREA, | |
68 IDS_LIBADDRESSINPUT_I18N_COUNTY_LABEL, | |
69 IDS_LIBADDRESSINPUT_I18N_DEPARTMENT, | |
70 IDS_LIBADDRESSINPUT_I18N_DO_SI, | |
71 IDS_LIBADDRESSINPUT_I18N_EMIRATE, | |
72 IDS_LIBADDRESSINPUT_I18N_ISLAND, | |
73 IDS_LIBADDRESSINPUT_I18N_PARISH, | |
74 IDS_LIBADDRESSINPUT_I18N_PREFECTURE, | |
75 IDS_LIBADDRESSINPUT_I18N_PROVINCE, | |
76 IDS_LIBADDRESSINPUT_I18N_STATE_LABEL)); | |
77 | |
78 // Verifies that an invalid message identifier results in an empty string in the | |
79 // default configuration. | |
80 TEST_F(LocalizationTest, InvalidMessageIsEmptyString) { | |
81 EXPECT_TRUE(localization_.GetString(INVALID_MESSAGE_ID).empty()); | |
82 } | |
83 | |
84 } // namespace | |
OLD | NEW |