Index: components/payments/content/payments_validators_test.cc |
diff --git a/components/payments/content/payments_validators_test.cc b/components/payments/content/payments_validators_test.cc |
deleted file mode 100644 |
index 8214ce148dcec219caaf6cb058981cf84b4f21b1..0000000000000000000000000000000000000000 |
--- a/components/payments/content/payments_validators_test.cc |
+++ /dev/null |
@@ -1,280 +0,0 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/payments/content/payments_validators.h" |
- |
-#include <ostream> // NOLINT |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace payments { |
-namespace { |
- |
-struct CurrencyCodeTestCase { |
- CurrencyCodeTestCase(const char* code, const char* system, bool expectedValid) |
- : code(code), system(system), expectedValid(expectedValid) {} |
- ~CurrencyCodeTestCase() {} |
- |
- const char* code; |
- const char* system; |
- bool expectedValid; |
-}; |
- |
-class PaymentsCurrencyValidatorTest |
- : public testing::TestWithParam<CurrencyCodeTestCase> {}; |
- |
-const char* longString2048() { |
- static char longString[2049]; |
- for (int i = 0; i < 2048; i++) |
- longString[i] = 'a'; |
- longString[2048] = '\0'; |
- return longString; |
-} |
- |
-const char* longString2049() { |
- static char longString[2050]; |
- for (int i = 0; i < 2049; i++) |
- longString[i] = 'a'; |
- longString[2049] = '\0'; |
- return longString; |
-} |
- |
-TEST_P(PaymentsCurrencyValidatorTest, IsValidCurrencyCodeFormat) { |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidCurrencyCodeFormat( |
- GetParam().code, GetParam().system, &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidCurrencyCodeFormat( |
- GetParam().code, GetParam().system, nullptr)); |
-} |
- |
-INSTANTIATE_TEST_CASE_P( |
- CurrencyCodes, |
- PaymentsCurrencyValidatorTest, |
- testing::Values( |
- // The most common identifiers are three-letter alphabetic codes as |
- // defined by [ISO4217] (for example, "USD" for US Dollars). |
- // |system| is a URL that indicates the currency system that the |
- // currency identifier belongs to. By default, |
- // the value is urn:iso:std:iso:4217 indicating that currency is defined |
- // by [[ISO4217]], however any string of at most 2048 |
- // characters is considered valid in other currencySystem. Returns false |
- // if currency |code| is too long (greater than 2048). |
- CurrencyCodeTestCase("USD", "urn:iso:std:iso:4217", true), |
- CurrencyCodeTestCase("US1", "http://www.example.com", true), |
- CurrencyCodeTestCase("US1", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase("US", "http://www.example.com", true), |
- CurrencyCodeTestCase("US", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase("USDO", "http://www.example.com", true), |
- CurrencyCodeTestCase("USDO", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase("usd", "http://www.example.com", true), |
- CurrencyCodeTestCase("usd", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase("ANYSTRING", "http://www.example.com", true), |
- CurrencyCodeTestCase("ANYSTRING", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase("", "http://www.example.com", true), |
- CurrencyCodeTestCase("", "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase(longString2048(), "http://www.example.com", true), |
- CurrencyCodeTestCase(longString2048(), "urn:iso:std:iso:4217", false), |
- CurrencyCodeTestCase(longString2049(), |
- "http://www.example.com", |
- false))); |
- |
-struct TestCase { |
- TestCase(const char* input, bool expectedValid) |
- : input(input), expectedValid(expectedValid) {} |
- ~TestCase() {} |
- |
- const char* input; |
- bool expectedValid; |
-}; |
- |
-std::ostream& operator<<(std::ostream& out, const TestCase& testCase) { |
- out << "'" << testCase.input << "' is expected to be " |
- << (testCase.expectedValid ? "valid" : "invalid"); |
- return out; |
-} |
- |
-class PaymentsAmountValidatorTest : public testing::TestWithParam<TestCase> {}; |
- |
-TEST_P(PaymentsAmountValidatorTest, IsValidAmountFormat) { |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidAmountFormat(GetParam().input, |
- &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidAmountFormat(GetParam().input, |
- nullptr)); |
-} |
- |
-INSTANTIATE_TEST_CASE_P( |
- Amounts, |
- PaymentsAmountValidatorTest, |
- testing::Values(TestCase("0", true), |
- TestCase("-0", true), |
- TestCase("1", true), |
- TestCase("10", true), |
- TestCase("-3", true), |
- TestCase("10.99", true), |
- TestCase("-3.00", true), |
- TestCase("01234567890123456789.0123456789", true), |
- TestCase("01234567890123456789012345678.9", true), |
- TestCase("012345678901234567890123456789", true), |
- TestCase("-01234567890123456789.0123456789", true), |
- TestCase("-01234567890123456789012345678.9", true), |
- TestCase("-012345678901234567890123456789", true), |
- // Invalid amount formats |
- TestCase("", false), |
- TestCase("-", false), |
- TestCase("notdigits", false), |
- TestCase("ALSONOTDIGITS", false), |
- TestCase("10.", false), |
- TestCase(".99", false), |
- TestCase("-10.", false), |
- TestCase("-.99", false), |
- TestCase("10-", false), |
- TestCase("1-0", false), |
- TestCase("1.0.0", false), |
- TestCase("1/3", false))); |
- |
-class PaymentsRegionValidatorTest : public testing::TestWithParam<TestCase> {}; |
- |
-TEST_P(PaymentsRegionValidatorTest, IsValidCountryCodeFormat) { |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidCountryCodeFormat( |
- GetParam().input, &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidCountryCodeFormat( |
- GetParam().input, nullptr)); |
-} |
- |
-INSTANTIATE_TEST_CASE_P(CountryCodes, |
- PaymentsRegionValidatorTest, |
- testing::Values(TestCase("US", true), |
- // Invalid country code formats |
- TestCase("U1", false), |
- TestCase("U", false), |
- TestCase("us", false), |
- TestCase("USA", false), |
- TestCase("", false))); |
- |
-class PaymentsLanguageValidatorTest : public testing::TestWithParam<TestCase> { |
-}; |
- |
-TEST_P(PaymentsLanguageValidatorTest, IsValidLanguageCodeFormat) { |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidLanguageCodeFormat( |
- GetParam().input, &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidLanguageCodeFormat( |
- GetParam().input, nullptr)); |
-} |
- |
-INSTANTIATE_TEST_CASE_P(LanguageCodes, |
- PaymentsLanguageValidatorTest, |
- testing::Values(TestCase("", true), |
- TestCase("en", true), |
- TestCase("eng", true), |
- // Invalid language code formats |
- TestCase("e1", false), |
- TestCase("en1", false), |
- TestCase("e", false), |
- TestCase("engl", false), |
- TestCase("EN", false))); |
- |
-class PaymentsScriptValidatorTest : public testing::TestWithParam<TestCase> {}; |
- |
-TEST_P(PaymentsScriptValidatorTest, IsValidScriptCodeFormat) { |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidScriptCodeFormat( |
- GetParam().input, &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidScriptCodeFormat( |
- GetParam().input, nullptr)); |
-} |
- |
-INSTANTIATE_TEST_CASE_P(ScriptCodes, |
- PaymentsScriptValidatorTest, |
- testing::Values(TestCase("", true), |
- TestCase("Latn", true), |
- // Invalid script code formats |
- TestCase("Lat1", false), |
- TestCase("1lat", false), |
- TestCase("Latin", false), |
- TestCase("Lat", false), |
- TestCase("latn", false), |
- TestCase("LATN", false))); |
- |
-struct ShippingAddressTestCase { |
- ShippingAddressTestCase(const char* countryCode, |
- const char* languageCode, |
- const char* scriptCode, |
- bool expectedValid) |
- : countryCode(countryCode), |
- languageCode(languageCode), |
- scriptCode(scriptCode), |
- expectedValid(expectedValid) {} |
- ~ShippingAddressTestCase() {} |
- |
- const char* countryCode; |
- const char* languageCode; |
- const char* scriptCode; |
- bool expectedValid; |
-}; |
- |
-class PaymentsShippingAddressValidatorTest |
- : public testing::TestWithParam<ShippingAddressTestCase> {}; |
- |
-TEST_P(PaymentsShippingAddressValidatorTest, IsValidShippingAddress) { |
- payments::mojom::PaymentAddressPtr address = |
- payments::mojom::PaymentAddress::New(); |
- address->country = GetParam().countryCode; |
- address->language_code = GetParam().languageCode; |
- address->script_code = GetParam().scriptCode; |
- |
- std::string errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, |
- payments::PaymentsValidators::isValidShippingAddress(address, |
- &errorMessage)) |
- << errorMessage; |
- EXPECT_EQ(GetParam().expectedValid, errorMessage.empty()) << errorMessage; |
- |
- EXPECT_EQ( |
- GetParam().expectedValid, |
- payments::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("InvalidCountryCode", "", "", false), |
- ShippingAddressTestCase("US", "InvalidLanguageCode", "", false), |
- ShippingAddressTestCase("US", "en", "InvalidScriptCode", false), |
- ShippingAddressTestCase("US", "", "Latn", false))); |
- |
-} // namespace |
-} // namespace payments |