OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 #include "wtf/text/TextEncoding.h" | |
6 | |
7 #include "testing/gtest/include/gtest/gtest.h" | |
8 | |
9 namespace WTF { | |
10 | |
11 namespace { | |
12 | |
13 TEST(TextEncoding, NonByteBased) { | |
14 EXPECT_FALSE(TextEncoding("utf-8").isNonByteBasedEncoding()); | |
15 EXPECT_TRUE(TextEncoding("utf-16").isNonByteBasedEncoding()); | |
16 EXPECT_TRUE(TextEncoding("utf-16le").isNonByteBasedEncoding()); | |
17 EXPECT_TRUE(TextEncoding("utf-16be").isNonByteBasedEncoding()); | |
18 EXPECT_TRUE(TextEncoding("utf-32").isNonByteBasedEncoding()); | |
19 EXPECT_TRUE(TextEncoding("utf-32le").isNonByteBasedEncoding()); | |
20 EXPECT_TRUE(TextEncoding("utf-32be").isNonByteBasedEncoding()); | |
21 EXPECT_FALSE(TextEncoding("windows-1252").isNonByteBasedEncoding()); | |
22 EXPECT_FALSE(TextEncoding("gbk").isNonByteBasedEncoding()); | |
23 EXPECT_FALSE(TextEncoding("utf-7").isNonByteBasedEncoding()); | |
24 } | |
25 | |
26 TEST(TextEncoding, ClosestByteBased) { | |
27 EXPECT_STREQ("UTF-8", | |
28 TextEncoding("utf-8").closestByteBasedEquivalent().name()); | |
29 EXPECT_STREQ("UTF-8", | |
30 TextEncoding("utf-16").closestByteBasedEquivalent().name()); | |
31 EXPECT_STREQ("UTF-8", | |
32 TextEncoding("utf-16le").closestByteBasedEquivalent().name()); | |
33 EXPECT_STREQ("UTF-8", | |
34 TextEncoding("utf-16be").closestByteBasedEquivalent().name()); | |
35 EXPECT_STREQ("UTF-8", | |
36 TextEncoding("utf-32").closestByteBasedEquivalent().name()); | |
37 EXPECT_STREQ("UTF-8", | |
38 TextEncoding("utf-32le").closestByteBasedEquivalent().name()); | |
39 EXPECT_STREQ("UTF-8", | |
40 TextEncoding("utf-32be").closestByteBasedEquivalent().name()); | |
41 EXPECT_STREQ( | |
42 "windows-1252", | |
43 TextEncoding("windows-1252").closestByteBasedEquivalent().name()); | |
44 EXPECT_STREQ("GBK", TextEncoding("gbk").closestByteBasedEquivalent().name()); | |
45 EXPECT_EQ(nullptr, TextEncoding("utf-7").closestByteBasedEquivalent().name()); | |
46 } | |
47 | |
48 TEST(TextEncoding, EncodingForFormSubmission) { | |
49 EXPECT_STREQ("UTF-8", | |
50 TextEncoding("utf-8").encodingForFormSubmission().name()); | |
51 EXPECT_STREQ("UTF-8", | |
52 TextEncoding("utf-16").encodingForFormSubmission().name()); | |
53 EXPECT_STREQ("UTF-8", | |
54 TextEncoding("utf-16le").encodingForFormSubmission().name()); | |
55 EXPECT_STREQ("UTF-8", | |
56 TextEncoding("utf-16be").encodingForFormSubmission().name()); | |
57 EXPECT_STREQ("UTF-8", | |
58 TextEncoding("utf-32").encodingForFormSubmission().name()); | |
59 EXPECT_STREQ("UTF-8", | |
60 TextEncoding("utf-32le").encodingForFormSubmission().name()); | |
61 EXPECT_STREQ("UTF-8", | |
62 TextEncoding("utf-32be").encodingForFormSubmission().name()); | |
63 EXPECT_STREQ("windows-1252", | |
64 TextEncoding("windows-1252").encodingForFormSubmission().name()); | |
65 EXPECT_STREQ("GBK", TextEncoding("gbk").encodingForFormSubmission().name()); | |
66 EXPECT_STREQ("UTF-8", | |
67 TextEncoding("utf-7").encodingForFormSubmission().name()); | |
68 } | |
69 } | |
70 } | |
OLD | NEW |