Index: third_party/WebKit/Source/modules/payments/PaymentTestHelper.cpp |
diff --git a/third_party/WebKit/Source/modules/payments/PaymentTestHelper.cpp b/third_party/WebKit/Source/modules/payments/PaymentTestHelper.cpp |
index d4e326b88afb2b7e3883cc540c1dd7b8b77e1bda..5f543fa5c588df433d7450056bc2f826dc001ed6 100644 |
--- a/third_party/WebKit/Source/modules/payments/PaymentTestHelper.cpp |
+++ b/third_party/WebKit/Source/modules/payments/PaymentTestHelper.cpp |
@@ -55,6 +55,40 @@ void setValues(PaymentItemOrPaymentShippingOption& original, |
} |
} |
+void buildPaymentDetailsBase(PaymentTestDetailToChange detail, |
+ PaymentTestDataToChange data, |
+ PaymentTestModificationType modificationType, |
+ const String& valueToUse, |
+ PaymentDetailsBase* details) { |
+ PaymentItem item; |
+ if (detail == PaymentTestDetailItem) |
+ item = buildPaymentItemForTest(data, modificationType, valueToUse); |
+ else |
+ item = buildPaymentItemForTest(); |
+ |
+ PaymentShippingOption shippingOption; |
+ if (detail == PaymentTestDetailShippingOption) { |
+ shippingOption = |
+ buildShippingOptionForTest(data, modificationType, valueToUse); |
+ } else { |
+ shippingOption = buildShippingOptionForTest(); |
+ } |
+ |
+ PaymentDetailsModifier modifier; |
+ if (detail == PaymentTestDetailModifierTotal || |
+ detail == PaymentTestDetailModifierItem) { |
+ modifier = buildPaymentDetailsModifierForTest(detail, data, |
+ modificationType, valueToUse); |
+ } else { |
+ modifier = buildPaymentDetailsModifierForTest(); |
+ } |
+ |
+ details->setDisplayItems(HeapVector<PaymentItem>(1, item)); |
+ details->setShippingOptions( |
+ HeapVector<PaymentShippingOption>(1, shippingOption)); |
+ details->setModifiers(HeapVector<PaymentDetailsModifier>(1, modifier)); |
+} |
+ |
} // namespace |
PaymentItem buildPaymentItemForTest( |
@@ -106,54 +140,50 @@ PaymentDetailsModifier buildPaymentDetailsModifierForTest( |
return modifier; |
} |
-PaymentDetails buildPaymentDetailsForTest( |
+PaymentDetailsInit buildPaymentDetailsInitForTest( |
PaymentTestDetailToChange detail, |
PaymentTestDataToChange data, |
PaymentTestModificationType modificationType, |
const String& valueToUse) { |
- PaymentItem total; |
- if (detail == PaymentTestDetailTotal) |
- total = buildPaymentItemForTest(data, modificationType, valueToUse); |
- else |
- total = buildPaymentItemForTest(); |
+ PaymentDetailsInit details; |
+ buildPaymentDetailsBase(detail, data, modificationType, valueToUse, &details); |
- PaymentItem item; |
- if (detail == PaymentTestDetailItem) |
- item = buildPaymentItemForTest(data, modificationType, valueToUse); |
- else |
- item = buildPaymentItemForTest(); |
+ if (detail == PaymentTestDetailTotal) { |
+ details.setTotal( |
+ buildPaymentItemForTest(data, modificationType, valueToUse)); |
+ } else { |
+ details.setTotal(buildPaymentItemForTest()); |
+ } |
- PaymentShippingOption shippingOption; |
- if (detail == PaymentTestDetailShippingOption) |
- shippingOption = |
- buildShippingOptionForTest(data, modificationType, valueToUse); |
- else |
- shippingOption = buildShippingOptionForTest(); |
+ return details; |
+} |
- PaymentDetailsModifier modifier; |
- if (detail == PaymentTestDetailModifierTotal || |
- detail == PaymentTestDetailModifierItem) |
- modifier = buildPaymentDetailsModifierForTest(detail, data, |
- modificationType, valueToUse); |
- else |
- modifier = buildPaymentDetailsModifierForTest(); |
+PaymentDetailsUpdate buildPaymentDetailsUpdateForTest( |
+ PaymentTestDetailToChange detail, |
+ PaymentTestDataToChange data, |
+ PaymentTestModificationType modificationType, |
+ const String& valueToUse) { |
+ PaymentDetailsUpdate details; |
+ buildPaymentDetailsBase(detail, data, modificationType, valueToUse, &details); |
- PaymentDetails result; |
- result.setTotal(total); |
- result.setDisplayItems(HeapVector<PaymentItem>(1, item)); |
- result.setShippingOptions( |
- HeapVector<PaymentShippingOption>(1, shippingOption)); |
- result.setModifiers(HeapVector<PaymentDetailsModifier>(1, modifier)); |
+ if (detail == PaymentTestDetailTotal) { |
+ details.setTotal( |
+ buildPaymentItemForTest(data, modificationType, valueToUse)); |
+ } else { |
+ details.setTotal(buildPaymentItemForTest()); |
+ } |
if (detail == PaymentTestDetailError) |
- result.setError(valueToUse); |
+ details.setError(valueToUse); |
- return result; |
+ return details; |
} |
-PaymentDetails buildPaymentDetailsErrorMsgForTest(const String& valueToUse) { |
- return buildPaymentDetailsForTest(PaymentTestDetailError, PaymentTestDataNone, |
- PaymentTestOverwriteValue, valueToUse); |
+PaymentDetailsUpdate buildPaymentDetailsErrorMsgForTest( |
+ const String& valueToUse) { |
+ return buildPaymentDetailsUpdateForTest( |
+ PaymentTestDetailError, PaymentTestDataNone, PaymentTestOverwriteValue, |
+ valueToUse); |
} |
HeapVector<PaymentMethodData> buildPaymentMethodDataForTest() { |