#include <cstddef>
#include <string>
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/run_loop.h"
#include "content/browser/payments/installed_payment_apps_finder_impl.h"
#include "content/browser/payments/payment_app_content_unittest_base.h"
#include "content/public/browser/payment_app_provider.h"
#include "content/public/browser/web_contents.h"
#include "content/public/test/mock_permission_manager.h"
#include "content/public/test/test_browser_context.h"
#include "content/public/test/test_web_contents_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/payments/payment_app.mojom.h"
#include "third_party/blink/public/mojom/permissions/permission_status.mojom.h"
#include "url/gurl.h"
namespace content {
class PaymentManager;
namespace {
PaymentHandlerStatus;
PaymentInstrument;
PaymentInstrumentPtr;
void SetPaymentInstrumentCallback(PaymentHandlerStatus* out_status,
PaymentHandlerStatus status) { … }
void GetAllPaymentAppsCallback(
InstalledPaymentAppsFinder::PaymentApps* out_apps,
InstalledPaymentAppsFinder::PaymentApps apps) { … }
void CaptureCanMakePaymentResult(
base::OnceClosure callback,
bool* out_payment_event_result,
payments::mojom::CanMakePaymentResponsePtr response) { … }
void InvokePaymentAppCallback(
bool* called,
payments::mojom::PaymentHandlerResponsePtr response) { … }
void CaptureAbortResult(base::OnceClosure callback,
bool* out_payment_event_result,
bool payment_event_result) { … }
}
class PaymentAppProviderTest : public PaymentAppContentUnitTestBase { … };
TEST_F(PaymentAppProviderTest, AbortPaymentTest) { … }
TEST_F(PaymentAppProviderTest, CanMakePaymentTest) { … }
TEST_F(PaymentAppProviderTest, InvokePaymentAppTest) { … }
TEST_F(PaymentAppProviderTest, GetAllPaymentAppsTest) { … }
TEST_F(PaymentAppProviderTest, GetAllPaymentAppsFromTheSameOriginTest) { … }
TEST_F(PaymentAppProviderTest, AbortPaymentWhenClosingOpenedWindow) { … }
}