#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);
}
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());
}
}
}