| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/cert/internal/parse_name.h" | 5 #include "net/cert/internal/parse_name.h" |
| 6 | 6 |
| 7 #include "net/cert/internal/test_helpers.h" | 7 #include "net/cert/internal/test_helpers.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace net { | 10 namespace net { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 }; | 87 }; |
| 88 X509NameAttribute value(der::Input(), der::kTeletexString, der::Input(der)); | 88 X509NameAttribute value(der::Input(), der::kTeletexString, der::Input(der)); |
| 89 std::string result_unsafe; | 89 std::string result_unsafe; |
| 90 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); | 90 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); |
| 91 ASSERT_EQ("Foo bar", result_unsafe); | 91 ASSERT_EQ("Foo bar", result_unsafe); |
| 92 std::string result; | 92 std::string result; |
| 93 ASSERT_TRUE(value.ValueAsString(&result)); | 93 ASSERT_TRUE(value.ValueAsString(&result)); |
| 94 ASSERT_EQ("Foo bar", result); | 94 ASSERT_EQ("Foo bar", result); |
| 95 } | 95 } |
| 96 | 96 |
| 97 TEST(ParseNameTest, TeletexUnsafeStringValue) { | 97 TEST(ParseNameTest, TeletexLatin1StringValue) { |
| 98 const uint8_t der[] = { | 98 const uint8_t der[] = { |
| 99 0x46, 0x6f, 0x1F, 0x20, 0x62, 0x61, 0x72, | 99 0x46, 0x6f, 0xd6, 0x20, 0x62, 0x61, 0x72, |
| 100 }; | 100 }; |
| 101 X509NameAttribute value(der::Input(), der::kTeletexString, der::Input(der)); | 101 X509NameAttribute value(der::Input(), der::kTeletexString, der::Input(der)); |
| 102 std::string result_unsafe; | 102 std::string result_unsafe; |
| 103 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); | 103 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); |
| 104 ASSERT_EQ("Fo\037 bar", result_unsafe); | 104 ASSERT_EQ("Fo\xd6 bar", result_unsafe); |
| 105 std::string result; | 105 std::string result; |
| 106 ASSERT_FALSE(value.ValueAsString(&result)); | 106 ASSERT_TRUE(value.ValueAsString(&result)); |
| 107 ASSERT_EQ("FoÖ bar", result); |
| 107 } | 108 } |
| 108 | 109 |
| 109 TEST(ParseNameTest, ConvertBmpString) { | 110 TEST(ParseNameTest, ConvertBmpString) { |
| 110 const uint8_t der[] = { | 111 const uint8_t der[] = { |
| 111 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x61, 0x00, 0x72, | 112 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x61, 0x00, 0x72, |
| 112 }; | 113 }; |
| 113 X509NameAttribute value(der::Input(), der::kBmpString, der::Input(der)); | 114 X509NameAttribute value(der::Input(), der::kBmpString, der::Input(der)); |
| 114 std::string result_unsafe; | 115 std::string result_unsafe; |
| 115 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); | 116 ASSERT_TRUE(value.ValueAsStringUnsafe(&result_unsafe)); |
| 116 ASSERT_EQ("foobar", result_unsafe); | 117 ASSERT_EQ("foobar", result_unsafe); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 0x75, 0xc4, 0x8d, 0x69, 0xc4, 0x87}; | 324 0x75, 0xc4, 0x8d, 0x69, 0xc4, 0x87}; |
| 324 der::Input rdn_input(der); | 325 der::Input rdn_input(der); |
| 325 RDNSequence rdn; | 326 RDNSequence rdn; |
| 326 ASSERT_TRUE(ParseName(rdn_input, &rdn)); | 327 ASSERT_TRUE(ParseName(rdn_input, &rdn)); |
| 327 std::string output; | 328 std::string output; |
| 328 ASSERT_TRUE(ConvertToRFC2253(rdn, &output)); | 329 ASSERT_TRUE(ConvertToRFC2253(rdn, &output)); |
| 329 ASSERT_EQ("SN=Lu\\C4\\8Di\\C4\\87", output); | 330 ASSERT_EQ("SN=Lu\\C4\\8Di\\C4\\87", output); |
| 330 } | 331 } |
| 331 | 332 |
| 332 } // namespace net | 333 } // namespace net |
| OLD | NEW |