PageLanguageDetectionTest has the failure rate of 5 - 6% on XP/Vista. Mark it
[chromium-blink-merge.git] / app / l10n_util_mac_unittest.mm
blobe6c448545dd507eeba7796d8254e92ddf737e20e
1 // Copyright (c) 2009 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.
5 #import <Foundation/Foundation.h>
7 #include "base/sys_string_conversions.h"
8 #include "app/l10n_util_mac.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "testing/platform_test.h"
12 typedef PlatformTest L10nUtilMacTest;
14 TEST_F(L10nUtilMacTest, FixUpWindowsStyleLabel) {
15   struct TestData {
16     NSString* input;
17     NSString* output;
18   };
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   };
36   for (size_t idx = 0; idx < ARRAYSIZE_UNSAFE(data); ++idx) {
37     string16 input16(base::SysNSStringToUTF16(data[idx].input));
39     NSString* result = l10n_util::FixUpWindowsStyleLabel(input16);
40     EXPECT_TRUE(result != nil) << "Fixup Failed, idx = " << idx;
42     EXPECT_TRUE([data[idx].output isEqualTo:result])
43         << "For idx " << idx << ", expected '" << [data[idx].output UTF8String]
44         << "', got '" << [result UTF8String] << "'";
45   }