Chromium Code Reviews| Index: third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| diff --git a/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| index 7ea0bac9e05a504aba563cccc0de5106afc1238e..6545e967e5d8b1df3aa73e0018c4f2b5b56d0f03 100644 |
| --- a/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| +++ b/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| @@ -9,7 +9,6 @@ |
| #include <ostream> // NOLINT |
| namespace blink { |
| -namespace { |
| struct TestCase { |
|
Marijn Kruisselbrink
2016/05/02 19:02:27
Here you really need an anonymous namespace to not
please use gerrit instead
2016/05/02 20:34:45
Done.
|
| TestCase(const char* input, bool expectedValid) |
| @@ -167,5 +166,50 @@ INSTANTIATE_TEST_CASE_P(ScriptCodes, |
| TestCase("latn", false), |
| TestCase("LATN", false))); |
| -} // namespace |
| +struct ShippingAddressTestCase { |
| + ShippingAddressTestCase(const char* regionCode, const char* languageCode, const char* scriptCode, bool expectedValid) |
| + : regionCode(regionCode) |
| + , languageCode(languageCode) |
| + , scriptCode(scriptCode) |
| + , expectedValid(expectedValid) |
| + { |
| + } |
| + ~ShippingAddressTestCase() {} |
| + |
| + const char* regionCode; |
| + const char* languageCode; |
| + const char* scriptCode; |
| + bool expectedValid; |
| +}; |
| + |
| +class PaymentsShippingAddressValidatorTest : public testing::TestWithParam<ShippingAddressTestCase> { |
| +}; |
| + |
| +TEST_P(PaymentsShippingAddressValidatorTest, IsValidShippingAddress) |
| +{ |
| + mojom::blink::ShippingAddressPtr address = mojom::blink::ShippingAddress::New(); |
| + address->region_code = GetParam().regionCode; |
| + address->language_code = GetParam().languageCode; |
| + address->script_code = GetParam().scriptCode; |
| + |
| + String errorMessage; |
| + EXPECT_EQ(GetParam().expectedValid, PaymentsValidators::isValidShippingAddress(address, &errorMessage)) << errorMessage; |
| + EXPECT_EQ(GetParam().expectedValid, errorMessage.isEmpty()) << errorMessage; |
| + |
| + EXPECT_EQ(GetParam().expectedValid, PaymentsValidators::isValidShippingAddress(address, nullptr)); |
| +} |
| + |
| +INSTANTIATE_TEST_CASE_P(ShippingAddresses, |
| + PaymentsShippingAddressValidatorTest, |
| + testing::Values( |
| + ShippingAddressTestCase("US", "en", "Latn", true), |
| + ShippingAddressTestCase("US", "en", "", true), |
| + ShippingAddressTestCase("US", "", "", true), |
| + // Invalid shipping addresses |
| + ShippingAddressTestCase("", "", "", false), |
| + ShippingAddressTestCase("InvalidRegionCode", "", "", false), |
| + ShippingAddressTestCase("US", "InvalidLanguageCode", "", false), |
| + ShippingAddressTestCase("US", "en", "InvalidScriptCode", false), |
| + ShippingAddressTestCase("US", "", "Latn", false))); |
| + |
| } // namespace blink |