Index: third_party/libaddressinput/chromium/cpp/test/address_field_util_test.cc |
diff --git a/third_party/libaddressinput/chromium/cpp/test/address_field_util_test.cc b/third_party/libaddressinput/chromium/cpp/test/address_field_util_test.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ce2ad77e5335e79cb7b24ba171836570b2b0ce0a |
--- /dev/null |
+++ b/third_party/libaddressinput/chromium/cpp/test/address_field_util_test.cc |
@@ -0,0 +1,73 @@ |
+// Copyright (C) 2013 Google Inc. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+#include "address_field_util.h" |
+ |
+#include <libaddressinput/address_field.h> |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include <gtest/gtest.h> |
+ |
+namespace { |
+ |
+using i18n::addressinput::AddressField; |
+using i18n::addressinput::COUNTRY; |
+using i18n::addressinput::LOCALITY; |
+using i18n::addressinput::NEWLINE; |
+using i18n::addressinput::ORGANIZATION; |
+using i18n::addressinput::ParseAddressFieldsFormat; |
+using i18n::addressinput::POSTAL_CODE; |
+using i18n::addressinput::RECIPIENT; |
+using i18n::addressinput::STREET_ADDRESS; |
+ |
+TEST(AddressFieldUtilTest, ParseNewlineFormat) { |
+ std::vector<AddressField> actual; |
+ ParseAddressFieldsFormat("%O%n%N%n%A%nAX-%Z %C%nĂ…LAND", &actual); |
+ |
+ std::vector<AddressField> expected; |
+ expected.push_back(ORGANIZATION); |
+ expected.push_back(static_cast<AddressField>(NEWLINE)); |
+ expected.push_back(RECIPIENT); |
+ expected.push_back(static_cast<AddressField>(NEWLINE)); |
+ expected.push_back(STREET_ADDRESS); |
+ expected.push_back(static_cast<AddressField>(NEWLINE)); |
+ expected.push_back(POSTAL_CODE); |
+ expected.push_back(LOCALITY); |
+ expected.push_back(static_cast<AddressField>(NEWLINE)); |
+ |
+ EXPECT_EQ(expected, actual); |
+} |
+ |
+TEST(AddressFieldUtilTest, DoubleTokenPrefixIsIgnored) { |
+ std::vector<AddressField> actual; |
+ ParseAddressFieldsFormat("%%R", &actual); |
+ std::vector<AddressField> expected(1, COUNTRY); |
+ EXPECT_EQ(expected, actual); |
+} |
+ |
+TEST(AddressFieldUtilTest, PrefixWithoutTokenIsIgnored) { |
+ std::vector<AddressField> actual; |
+ ParseAddressFieldsFormat("%", &actual); |
+ EXPECT_TRUE(actual.empty()); |
+} |
+ |
+TEST(AddressFieldUtilTest, EmptyString) { |
+ std::vector<AddressField> fields; |
+ ParseAddressFieldsFormat(std::string(), &fields); |
+ EXPECT_TRUE(fields.empty()); |
+} |
+ |
+} // namespace |