| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "modules/payments/PaymentResponse.h" | 5 #include "modules/payments/PaymentResponse.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/ScriptState.h" | 8 #include "bindings/core/v8/ScriptState.h" |
| 9 #include "bindings/core/v8/ScriptValue.h" | 9 #include "bindings/core/v8/ScriptValue.h" |
| 10 #include "bindings/core/v8/V8Binding.h" | 10 #include "bindings/core/v8/V8Binding.h" |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 } | 118 } |
| 119 | 119 |
| 120 TEST(PaymentResponseTest, JSONSerializerTest) { | 120 TEST(PaymentResponseTest, JSONSerializerTest) { |
| 121 V8TestingScope scope; | 121 V8TestingScope scope; |
| 122 mojom::blink::PaymentResponsePtr input = mojom::blink::PaymentResponse::New(); | 122 mojom::blink::PaymentResponsePtr input = mojom::blink::PaymentResponse::New(); |
| 123 input->method_name = "foo"; | 123 input->method_name = "foo"; |
| 124 input->stringified_details = "{\"transactionId\": 123}"; | 124 input->stringified_details = "{\"transactionId\": 123}"; |
| 125 input->shipping_option = "standardShippingOption"; | 125 input->shipping_option = "standardShippingOption"; |
| 126 input->payer_email = "abc@gmail.com"; | 126 input->payer_email = "abc@gmail.com"; |
| 127 input->payer_phone = "0123"; | 127 input->payer_phone = "0123"; |
| 128 input->payer_name = "Jon Doe"; |
| 128 input->shipping_address = mojom::blink::PaymentAddress::New(); | 129 input->shipping_address = mojom::blink::PaymentAddress::New(); |
| 129 input->shipping_address->country = "US"; | 130 input->shipping_address->country = "US"; |
| 130 input->shipping_address->language_code = "en"; | 131 input->shipping_address->language_code = "en"; |
| 131 input->shipping_address->script_code = "Latn"; | 132 input->shipping_address->script_code = "Latn"; |
| 132 input->shipping_address->address_line.append("340 Main St"); | 133 input->shipping_address->address_line.append("340 Main St"); |
| 133 input->shipping_address->address_line.append("BIN1"); | 134 input->shipping_address->address_line.append("BIN1"); |
| 134 input->shipping_address->address_line.append("First floor"); | 135 input->shipping_address->address_line.append("First floor"); |
| 135 | 136 |
| 136 PaymentResponse output(std::move(input), new MockPaymentCompleter); | 137 PaymentResponse output(std::move(input), new MockPaymentCompleter); |
| 137 ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState()); | 138 ScriptValue jsonObject = output.toJSONForBinding(scope.getScriptState()); |
| 138 EXPECT_TRUE(jsonObject.isObject()); | 139 EXPECT_TRUE(jsonObject.isObject()); |
| 139 | 140 |
| 140 String jsonString = v8StringToWebCoreString<String>( | 141 String jsonString = v8StringToWebCoreString<String>( |
| 141 v8::JSON::Stringify(scope.context(), | 142 v8::JSON::Stringify(scope.context(), |
| 142 jsonObject.v8Value().As<v8::Object>()) | 143 jsonObject.v8Value().As<v8::Object>()) |
| 143 .ToLocalChecked(), | 144 .ToLocalChecked(), |
| 144 DoNotExternalize); | 145 DoNotExternalize); |
| 145 String expected = | 146 String expected = |
| 146 "{\"methodName\":\"foo\",\"details\":{\"transactionId\":123}," | 147 "{\"methodName\":\"foo\",\"details\":{\"transactionId\":123}," |
| 147 "\"shippingAddress\":{\"country\":\"US\",\"addressLine\":[\"340 Main " | 148 "\"shippingAddress\":{\"country\":\"US\",\"addressLine\":[\"340 Main " |
| 148 "St\"," | 149 "St\"," |
| 149 "\"BIN1\",\"First " | 150 "\"BIN1\",\"First " |
| 150 "floor\"],\"region\":\"\",\"city\":\"\",\"dependentLocality\":" | 151 "floor\"],\"region\":\"\",\"city\":\"\",\"dependentLocality\":" |
| 151 "\"\",\"postalCode\":\"\",\"sortingCode\":\"\",\"languageCode\":\"en-" | 152 "\"\",\"postalCode\":\"\",\"sortingCode\":\"\",\"languageCode\":\"en-" |
| 152 "Latn\"," | 153 "Latn\"," |
| 153 "\"organization\":\"\",\"recipient\":\"\",\"phone\":\"\"}," | 154 "\"organization\":\"\",\"recipient\":\"\",\"phone\":\"\"}," |
| 154 "\"shippingOption\":" | 155 "\"shippingOption\":" |
| 155 "\"standardShippingOption\",\"payerEmail\":\"abc@gmail.com\"," | 156 "\"standardShippingOption\",\"payerName\":\"Jon Doe\"," |
| 156 "\"payerPhone\":\"0123\"}"; | 157 "\"payerEmail\":\"abc@gmail.com\",\"payerPhone\":\"0123\"}"; |
| 157 EXPECT_EQ(expected, jsonString); | 158 EXPECT_EQ(expected, jsonString); |
| 158 } | 159 } |
| 159 | 160 |
| 160 } // namespace | 161 } // namespace |
| 161 } // namespace blink | 162 } // namespace blink |
| OLD | NEW |