#include "chrome/browser/web_applications/jobs/uninstall/web_app_uninstall_and_replace_job.h"
#include <memory>
#include <optional>
#include "base/containers/flat_set.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "base/test/bind.h"
#include "base/test/test_future.h"
#include "chrome/browser/web_applications/commands/web_app_command.h"
#include "chrome/browser/web_applications/locks/app_lock.h"
#include "chrome/browser/web_applications/test/fake_os_integration_manager.h"
#include "chrome/browser/web_applications/test/fake_web_app_provider.h"
#include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
#include "chrome/browser/web_applications/test/web_app_test.h"
#include "chrome/browser/web_applications/test/web_app_test_observers.h"
#include "chrome/browser/web_applications/web_app_command_manager.h"
#include "components/webapps/common/web_app_id.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace web_app {
class TestUninstallAndReplaceJobCommand
: public WebAppCommand<AppLock, bool > { … };
class WebAppUninstallAndReplaceJobTest : public WebAppTest { … };
#if !BUILDFLAG(IS_CHROMEOS_LACROS)
TEST_F(WebAppUninstallAndReplaceJobTest,
WebAppMigrationPreservesShortcutStates) { … }
TEST_F(WebAppUninstallAndReplaceJobTest, DoubleMigration) { … }
#endif
}