#include <string>
#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/json/json_file_value_serializer.h"
#include "base/path_service.h"
#include "base/test/test_file_util.h"
#include "base/threading/thread_restrictions.h"
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/browser_window_state.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/test/browser_test.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "ui/gfx/geometry/rect.h"
PreservedWindowPlacement;
Optional;
namespace {
const gfx::Rect window_frame = …;
}
IN_PROC_BROWSER_TEST_F(PreservedWindowPlacement, PRE_Test) { … }
#if BUILDFLAG(IS_CHROMEOS_ASH)
#define MAYBE_Test …
#else
#define MAYBE_Test …
#endif
IN_PROC_BROWSER_TEST_F(PreservedWindowPlacement, MAYBE_Test) { … }
class PreferenceServiceTest : public InProcessBrowserTest { … };
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
IN_PROC_BROWSER_TEST_F(PreferenceServiceTest, Test) {
JSONFileValueDeserializer deserializer(original_pref_file_);
std::unique_ptr<base::Value> root;
{
base::ScopedAllowBlockingForTesting allow_blocking;
root = deserializer.Deserialize(NULL, NULL);
}
ASSERT_TRUE(root.get());
ASSERT_TRUE(root->is_dict());
base::Value::Dict& root_dict = root->GetDict();
gfx::Rect bounds = browser()->window()->GetRestoredBounds();
std::string kBrowserWindowPlacement(prefs::kBrowserWindowPlacement);
EXPECT_THAT(
root_dict.FindIntByDottedPath(kBrowserWindowPlacement + ".bottom"),
Optional(bounds.y() + bounds.height()));
EXPECT_THAT(root_dict.FindIntByDottedPath(kBrowserWindowPlacement + ".top"),
Optional(bounds.y()));
EXPECT_THAT(root_dict.FindIntByDottedPath(kBrowserWindowPlacement + ".left"),
Optional(bounds.x()));
EXPECT_THAT(root_dict.FindIntByDottedPath(kBrowserWindowPlacement + ".right"),
Optional(bounds.x() + bounds.width()));
bool is_window_maximized = browser()->window()->IsMaximized();
EXPECT_THAT(
root_dict.FindBoolByDottedPath(kBrowserWindowPlacement + ".maximized"),
Optional(is_window_maximized));
}
#endif