| Index: third_party/WebKit/Source/modules/payments/PaymentRequestDetailsTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestDetailsTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestDetailsTest.cpp
|
| index 8a96b3fe12de5a5765997851e93abc8679229c49..6b17dc3aef2ebcd285d0efc6323ec1b9901df998 100644
|
| --- a/third_party/WebKit/Source/modules/payments/PaymentRequestDetailsTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/payments/PaymentRequestDetailsTest.cpp
|
| @@ -12,6 +12,7 @@
|
| #include "modules/payments/PaymentDetailsTestHelper.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "wtf/OwnPtr.h"
|
| +#include <ostream> // NOLINT
|
|
|
| namespace blink {
|
| namespace {
|
| @@ -46,6 +47,7 @@ public:
|
| }
|
|
|
| private:
|
| + friend std::ostream& operator<<(std::ostream&, DetailsTestCase);
|
| PaymentTestDetailToChange m_detail;
|
| PaymentTestDataToChange m_data;
|
| PaymentTestModificationType m_modType;
|
| @@ -54,6 +56,62 @@ private:
|
| ExceptionCode m_expectedExceptionCode;
|
| };
|
|
|
| +std::ostream& operator<<(std::ostream& out, DetailsTestCase testCase)
|
| +{
|
| + if (testCase.m_expectException)
|
| + out << "Expecting an exception when ";
|
| + else
|
| + out << "Not expecting an exception when ";
|
| +
|
| + switch (testCase.m_detail) {
|
| + case PaymentTestDetailTotal:
|
| + out << "total ";
|
| + break;
|
| + case PaymentTestDetailItem:
|
| + out << "displayItem ";
|
| + break;
|
| + case PaymentTestDetailShippingOption:
|
| + out << "shippingOption ";
|
| + break;
|
| + case PaymentTestDetailNone:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| +
|
| + switch (testCase.m_data) {
|
| + case PaymentTestDataId:
|
| + out << "id ";
|
| + break;
|
| + case PaymentTestDataLabel:
|
| + out << "label ";
|
| + break;
|
| + case PaymentTestDataAmount:
|
| + out << "amount ";
|
| + break;
|
| + case PaymentTestDataCurrencyCode:
|
| + out << "currency ";
|
| + break;
|
| + case PaymentTestDataValue:
|
| + out << "value ";
|
| + break;
|
| + case PaymentTestDataNone:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| +
|
| + switch (testCase.m_modType) {
|
| + case PaymentTestOverwriteValue:
|
| + out << "is overwritten by ";
|
| + out << testCase.m_valueToUse;
|
| + break;
|
| + case PaymentTestRemoveKey:
|
| + out << "is removed";
|
| + break;
|
| + }
|
| +
|
| + return out;
|
| +}
|
| +
|
| class PaymentRequestDetailsTest : public testing::TestWithParam<DetailsTestCase> {
|
| public:
|
| PaymentRequestDetailsTest()
|
| @@ -89,6 +147,10 @@ TEST_P(PaymentRequestDetailsTest, ValidatesDetails)
|
| INSTANTIATE_TEST_CASE_P(MissingData,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataAmount, PaymentTestRemoveKey, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestRemoveKey, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestRemoveKey, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataLabel, PaymentTestRemoveKey, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataAmount, PaymentTestRemoveKey, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestRemoveKey, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestRemoveKey, "", true, V8TypeError),
|
| @@ -102,6 +164,9 @@ INSTANTIATE_TEST_CASE_P(MissingData,
|
| INSTANTIATE_TEST_CASE_P(EmptyData,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataLabel, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataLabel, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| @@ -113,12 +178,18 @@ INSTANTIATE_TEST_CASE_P(EmptyData,
|
| INSTANTIATE_TEST_CASE_P(ValidCurrencyCodeFormat,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "USD"),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "USD"),
|
| DetailsTestCase(PaymentTestDetailShippingOption, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "USD")));
|
|
|
| INSTANTIATE_TEST_CASE_P(InvalidCurrencyCodeFormat,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "US1", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "US", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "USDO", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "usd", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "US1", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "US", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataCurrencyCode, PaymentTestOverwriteValue, "USDO", true, V8TypeError),
|
| @@ -133,6 +204,13 @@ INSTANTIATE_TEST_CASE_P(InvalidCurrencyCodeFormat,
|
| INSTANTIATE_TEST_CASE_P(ValidValueFormat,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "0"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "1"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "10"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "10.99"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "01234567890123456789.0123456789"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "01234567890123456789012345678.9"),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "012345678901234567890123456789"),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "0"),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "-0"),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "1"),
|
| @@ -163,6 +241,23 @@ INSTANTIATE_TEST_CASE_P(ValidValueFormat,
|
| INSTANTIATE_TEST_CASE_P(InvalidValueFormat,
|
| PaymentRequestDetailsTest,
|
| testing::Values(
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-0", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-3", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-3.00", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "notdigits", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "ALSONOTDIGITS", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "10.", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, ".99", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-10.", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "10-", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "1-0", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "1.0.0", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "1/3", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-01234567890123456789.0123456789", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-01234567890123456789012345678.9", true, V8TypeError),
|
| + DetailsTestCase(PaymentTestDetailTotal, PaymentTestDataValue, PaymentTestOverwriteValue, "-012345678901234567890123456789", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "-", true, V8TypeError),
|
| DetailsTestCase(PaymentTestDetailItem, PaymentTestDataValue, PaymentTestOverwriteValue, "notdigits", true, V8TypeError),
|
|
|