| 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 |