Fix emulator build error
[platform/framework/web/chromium-efl.git] / base / i18n / transliterator_unittest.cc
1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "build/build_config.h"
6 #include "base/i18n/unicodestring.h"
7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "third_party/icu/source/common/unicode/ustring.h"
9 #include "third_party/icu/source/i18n/unicode/translit.h"
10
11 namespace base {
12 namespace i18n {
13
14 TEST(TransliteratorTest, LowerCorrect) {
15   UParseError parseErr;
16   UErrorCode err = U_ZERO_ERROR;
17   std::unique_ptr<icu::Transliterator> transliterator(
18       icu::Transliterator::createInstance("Lower", UTRANS_FORWARD,
19                                           parseErr, err));
20   ASSERT_TRUE(U_SUCCESS(err));
21   icu::UnicodeString text(u"ÎÑŢÉRÑÅŢÎÖÑÅĻÎŽÅŢÎÖÑ");
22   transliterator->transliterate(text);
23   EXPECT_EQ(base::i18n::UnicodeStringToString16(text), u"îñţérñåţîöñåļîžåţîöñ");
24 }
25
26 TEST(TransliteratorTest, LatinASCIICorrect) {
27   UParseError parseErr;
28   UErrorCode err = U_ZERO_ERROR;
29   std::unique_ptr<icu::Transliterator> transliterator(
30       icu::Transliterator::createInstance("Latin-ASCII", UTRANS_FORWARD,
31                                           parseErr, err));
32   ASSERT_TRUE(U_SUCCESS(err));
33   icu::UnicodeString text(u"ÎÑŢÉRÑÅŢÎÖÑÅĻÎŽÅŢÎÖÑ");
34   transliterator->transliterate(text);
35   EXPECT_EQ(base::i18n::UnicodeStringToString16(text), u"INTERNATIONALIZATION");
36 }
37
38 TEST(TransliteratorTest, LowerLatinASCIICorrect) {
39   UParseError parseErr;
40   UErrorCode err = U_ZERO_ERROR;
41   std::unique_ptr<icu::Transliterator> transliterator(
42       icu::Transliterator::createInstance("Lower;Latin-ASCII", UTRANS_FORWARD,
43                                           parseErr, err));
44   ASSERT_TRUE(U_SUCCESS(err));
45   icu::UnicodeString text(u"ÎÑŢÉRÑÅŢÎÖÑÅĻÎŽÅŢÎÖÑ");
46   transliterator->transliterate(text);
47   EXPECT_EQ(base::i18n::UnicodeStringToString16(text), u"internationalization");
48 }
49
50 }  // namespace i18n
51 }  // namespace base