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> {}; |