OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #import <Foundation/Foundation.h> | |
6 | |
7 #include "base/strings/sys_string_conversions.h" | |
8 #include "testing/gtest/include/gtest/gtest.h" | |
9 #include "testing/platform_test.h" | |
10 #include "ui/base/l10n/l10n_util_mac.h" | |
11 | |
12 typedef PlatformTest L10nUtilMacTest; | |
13 | |
14 TEST_F(L10nUtilMacTest, FixUpWindowsStyleLabel) { | |
15 struct TestData { | |
16 NSString* input; | |
17 NSString* output; | |
18 }; | |
19 | |
20 TestData data[] = { | |
21 { @"", @"" }, | |
22 { @"nothing", @"nothing" }, | |
23 { @"foo &bar", @"foo bar" }, | |
24 { @"foo &&bar", @"foo &bar" }, | |
25 { @"foo &&&bar", @"foo &bar" }, | |
26 { @"&foo &&bar", @"foo &bar" }, | |
27 { @"&foo &bar", @"foo bar" }, | |
28 { @"foo bar.", @"foo bar." }, | |
29 { @"foo bar..", @"foo bar.." }, | |
30 { @"foo bar...", @"foo bar\u2026" }, | |
31 { @"foo.bar", @"foo.bar" }, | |
32 { @"foo..bar", @"foo..bar" }, | |
33 { @"foo...bar", @"foo\u2026bar" }, | |
34 { @"foo...bar...", @"foo\u2026bar\u2026" }, | |
35 { @"foo(&b)", @"foo" }, | |
36 { @"foo(&b)...", @"foo\u2026" }, | |
37 { @"(&b)foo", @"foo" }, | |
38 }; | |
39 for (size_t idx = 0; idx < arraysize(data); ++idx) { | |
40 base::string16 input16(base::SysNSStringToUTF16(data[idx].input)); | |
41 | |
42 NSString* result = l10n_util::FixUpWindowsStyleLabel(input16); | |
43 EXPECT_TRUE(result != nil) << "Fixup Failed, idx = " << idx; | |
44 | |
45 EXPECT_TRUE([data[idx].output isEqual:result]) | |
46 << "For idx " << idx << ", expected '" << [data[idx].output UTF8String] | |
47 << "', got '" << [result UTF8String] << "'"; | |
48 } | |
49 } | |
OLD | NEW |