"shared/res/preview.png", "test");
EXPECT_TRUE(proxy_->SaveTheme(info));
std::shared_ptr<ThemeInfo> returned_info = proxy_->LoadTheme("testid");
+ EXPECT_NE(returned_info, nullptr);
EXPECT_EQ(returned_info->GetId(), "testid");
EXPECT_EQ(returned_info->GetVersion(), "1.0");
EXPECT_EQ(returned_info->GetToolVersion(), "1.1");
EXPECT_EQ(returned_info->GetPreview(), "shared/res/preview.png");
EXPECT_EQ(returned_info->GetDescription(), "test");
}
+
+TEST_F(ThemeInfoProxyTest, UpdateTheme) {
+ ThemeInfo info("testid2", "1.0", "1.1", "Test2", "360X360",
+ "shared/res/preview.png", "test");
+ EXPECT_TRUE(proxy_->SaveTheme(info));
+
+ ThemeInfo info_v2("testid2", "2.0", "2.2", "Test2", "360X360",
+ "shared/res/preview_v2.png", "test_v2");
+ EXPECT_TRUE(proxy_->UpdateTheme(info_v2));
+
+ std::shared_ptr<ThemeInfo> returned_info = proxy_->LoadTheme("testid2");
+ EXPECT_NE(returned_info, nullptr);
+ EXPECT_EQ(returned_info->GetId(), "testid2");
+ EXPECT_EQ(returned_info->GetVersion(), "2.0");
+ EXPECT_EQ(returned_info->GetToolVersion(), "2.2");
+ EXPECT_EQ(returned_info->GetTitle(), "Test2");
+ EXPECT_EQ(returned_info->GetResolution(), "360X360");
+ EXPECT_EQ(returned_info->GetPreview(), "shared/res/preview_v2.png");
+ EXPECT_EQ(returned_info->GetDescription(), "test_v2");
+}
+
+TEST_F(ThemeInfoProxyTest, RemoveTheme) {
+ ThemeInfo info("testid3", "1.0", "1.1", "Test3", "360X360",
+ "shared/res/preview.png", "test");
+ EXPECT_TRUE(proxy_->SaveTheme(info));
+ EXPECT_TRUE(proxy_->RemoveTheme("testid3"));
+
+ std::shared_ptr<ThemeInfo> returned_info = proxy_->LoadTheme("testid3");
+ EXPECT_EQ(returned_info, nullptr);
+}
+
+TEST_F(ThemeInfoProxyTest, SetCurrentTheme_OnThemePackageChanged) {
+ ThemeInfo info("testid4", "1.0", "1.1", "Test4", "360X360",
+ "shared/res/preview.png", "test");
+ EXPECT_TRUE(proxy_->SaveTheme(info));
+ EXPECT_TRUE(proxy_->SetCurrentTheme("testid4"));
+ std::shared_ptr<ThemeInfo> cur = proxy_->GetLoadedTheme();
+ EXPECT_NE(cur, nullptr);
+ EXPECT_EQ(cur->GetId(), "testid4");
+}