Chromium Code Reviews| Index: components/payments/payments_validators_test.cc |
| diff --git a/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp b/components/payments/payments_validators_test.cc |
| similarity index 78% |
| copy from third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| copy to components/payments/payments_validators_test.cc |
| index 6b68029fd3a94c9f4d0d06de59bb32a410bde8bd..d08bd7a014b4f436c3565cd734b9b4573e676b33 100644 |
| --- a/third_party/WebKit/Source/modules/payments/PaymentsValidatorsTest.cpp |
| +++ b/components/payments/payments_validators_test.cc |
| @@ -2,27 +2,31 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "modules/payments/PaymentsValidators.h" |
| +#include "components/payments/payments_validators.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -#include "wtf/text/WTFString.h" |
| #include <ostream> // NOLINT |
| namespace blink { |
| namespace { |
| -struct CurrencyCodeTestCase { |
| - CurrencyCodeTestCase(const char* code, const char* system, bool expectedValid) |
| - : code(code), system(system), expectedValid(expectedValid) {} |
| - ~CurrencyCodeTestCase() {} |
| +struct TestCase { |
| + TestCase(const char* input, bool expectedValid) |
| + : input(input), expectedValid(expectedValid) {} |
| + ~TestCase() {} |
| - const char* code; |
| - const char* system; |
| + const char* input; |
| bool expectedValid; |
| }; |
| -class PaymentsCurrencyValidatorTest |
| - : public testing::TestWithParam<CurrencyCodeTestCase> {}; |
| +std::ostream& operator<<(std::ostream& out, const TestCase& testCase) { |
| + out << "'" << testCase.input << "' is expected to be " |
| + << (testCase.expectedValid ? "valid" : "invalid"); |
| + return out; |
| +} |
| + |
| +class PaymentsCurrencyValidatorTest : public testing::TestWithParam<TestCase> { |
| +}; |
| const char* longString2048() { |
| static char longString[2049]; |
| @@ -43,61 +47,30 @@ const char* longString2049() { |
| TEST_P(PaymentsCurrencyValidatorTest, IsValidCurrencyCodeFormat) { |
| String errorMessage; |
| EXPECT_EQ(GetParam().expectedValid, |
| - PaymentsValidators::isValidCurrencyCodeFormat( |
| - GetParam().code, GetParam().system, &errorMessage)) |
| + PaymentsValidators::isValidCurrencyCodeFormat(GetParam().input, |
| + &errorMessage)) |
| << errorMessage; |
| EXPECT_EQ(GetParam().expectedValid, errorMessage.isEmpty()) << errorMessage; |
| - EXPECT_EQ(GetParam().expectedValid, |
| - PaymentsValidators::isValidCurrencyCodeFormat( |
| - GetParam().code, GetParam().system, nullptr)); |
| + EXPECT_EQ( |
| + GetParam().expectedValid, |
| + PaymentsValidators::isValidCurrencyCodeFormat(GetParam().input, nullptr)); |
| } |
| INSTANTIATE_TEST_CASE_P( |
| CurrencyCodes, |
| PaymentsCurrencyValidatorTest, |
| testing::Values( |
|
please use gerrit instead
2016/10/31 14:31:15
These tests have been updated to include the curre
Kevin Bailey
2016/10/31 20:32:00
Looks like a few things diverged. I sync'd them.
|
| - // 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; |
| -} |
| + // Any string of at most 2048 characters can be a valid currency code |
| + TestCase("USD", true), |
| + TestCase("US1", true), |
| + TestCase("US", true), |
| + TestCase("USDO", true), |
| + TestCase("usd", true), |
| + TestCase("ANYSTRING", true), |
| + TestCase("", true), |
| + TestCase(longString2048(), true), |
| + TestCase(longString2049(), false))); |
| class PaymentsAmountValidatorTest : public testing::TestWithParam<TestCase> {}; |