blob: 95b2e671fe014a6ec392a1c504649a89af8b48c4 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/actor/tools/wait_tool.h"
#include "base/test/test_future.h"
#include "chrome/browser/actor/actor_test_util.h"
#include "chrome/browser/actor/tools/tool_request.h"
#include "chrome/browser/actor/tools/tools_test_util.h"
#include "chrome/common/actor.mojom.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
using base::test::TestFuture;
namespace actor {
namespace {
class ActorWaitToolBrowserTest : public ActorToolsTest {
public:
ActorWaitToolBrowserTest() = default;
~ActorWaitToolBrowserTest() override = default;
void SetUpOnMainThread() override {
ActorToolsTest::SetUpOnMainThread();
ASSERT_TRUE(embedded_test_server()->Start());
}
};
IN_PROC_BROWSER_TEST_F(ActorWaitToolBrowserTest, WaitTool) {
WaitTool::SetNoDelayForTesting();
const GURL url = embedded_test_server()->GetURL("/actor/blank.html");
ASSERT_TRUE(content::NavigateToURL(web_contents(), url));
std::unique_ptr<ToolRequest> action = MakeWaitRequest();
ActResultFuture result;
actor_task().Act(ToRequestList(action), result.GetCallback());
ExpectOkResult(result);
}
// Ensure the wait tool doesn't cause the current tab to be recorded as being
// acted on.
IN_PROC_BROWSER_TEST_F(ActorWaitToolBrowserTest, WaitTool_DontRecordActOnTask) {
WaitTool::SetNoDelayForTesting();
ASSERT_TRUE(actor_task().GetTabs().empty());
std::unique_ptr<ToolRequest> action = MakeWaitRequest();
ActResultFuture result;
actor_task().Act(ToRequestList(action), result.GetCallback());
ExpectOkResult(result);
EXPECT_TRUE(actor_task().GetTabs().empty());
}
} // namespace
} // namespace actor