Index: test/FilterEngine.cpp |
=================================================================== |
--- a/test/FilterEngine.cpp |
+++ b/test/FilterEngine.cpp |
@@ -236,31 +236,31 @@ |
}; |
jsEngine->SetEventCallback("filterChange", [this](const JsConstValueList& params/*action, item*/) |
{ |
ASSERT_EQ(2u, params.size()); |
if (params[0]->AsString() == "subscription.downloadStatus") |
{ |
{ |
std::lock_guard<std::mutex> lock(downloadStatusChanged.mutex); |
- downloadStatusChanged.url = params[1]->GetProperty("url")->AsString(); |
+ downloadStatusChanged.url = params[1]->GetProperty("url").AsString(); |
} |
downloadStatusChanged.cv.notify_one(); |
} |
}); |
} |
SubscriptionPtr EnsureExampleSubscriptionAndForceUpdate(const std::string& apppendToUrl = std::string()) |
{ |
if (!filterEngine) |
filterEngine = FilterEngine::Create(jsEngine, createParams); |
auto subscriptionUrl = subscriptionUrlPrefix + apppendToUrl; |
auto subscription = filterEngine->GetSubscription(subscriptionUrl); |
- EXPECT_EQ(0u, subscription->GetProperty("filters")->AsList().size()) << subscriptionUrl; |
- EXPECT_TRUE(subscription->GetProperty("downloadStatus")->IsNull()) << subscriptionUrl; |
+ EXPECT_EQ(0u, subscription->GetProperty("filters").AsList().size()) << subscriptionUrl; |
+ EXPECT_TRUE(subscription->GetProperty("downloadStatus").IsNull()) << subscriptionUrl; |
subscription->UpdateFilters(); |
{ |
std::unique_lock<std::mutex> lock(downloadStatusChanged.mutex); |
downloadStatusChanged.cv.wait_for(lock, |
/*don't block tests forever*/std::chrono::seconds(5), |
[this, subscriptionUrl]()->bool |
{ |
return subscriptionUrl == downloadStatusChanged.url; |
@@ -288,26 +288,26 @@ |
AdblockPlus::FilterPtr filter5 = filterEngine->GetFilter(" foo "); |
ASSERT_EQ(*filter1, *filter5); |
} |
TEST_F(FilterEngineTest, FilterProperties) |
{ |
AdblockPlus::FilterPtr filter = filterEngine->GetFilter("foo"); |
- ASSERT_TRUE(filter->GetProperty("stringFoo")->IsUndefined()); |
- ASSERT_TRUE(filter->GetProperty("intFoo")->IsUndefined()); |
- ASSERT_TRUE(filter->GetProperty("boolFoo")->IsUndefined()); |
+ ASSERT_TRUE(filter->GetProperty("stringFoo").IsUndefined()); |
+ ASSERT_TRUE(filter->GetProperty("intFoo").IsUndefined()); |
+ ASSERT_TRUE(filter->GetProperty("boolFoo").IsUndefined()); |
filter->SetProperty("stringFoo", "y"); |
filter->SetProperty("intFoo", 24); |
filter->SetProperty("boolFoo", true); |
- ASSERT_EQ("y", filter->GetProperty("stringFoo")->AsString()); |
- ASSERT_EQ(24, filter->GetProperty("intFoo")->AsInt()); |
- ASSERT_TRUE(filter->GetProperty("boolFoo")->AsBool()); |
+ ASSERT_EQ("y", filter->GetProperty("stringFoo").AsString()); |
+ ASSERT_EQ(24, filter->GetProperty("intFoo").AsInt()); |
+ ASSERT_TRUE(filter->GetProperty("boolFoo").AsBool()); |
} |
TEST_F(FilterEngineTest, AddRemoveFilters) |
{ |
ASSERT_EQ(0u, filterEngine->GetListedFilters().size()); |
AdblockPlus::FilterPtr filter = filterEngine->GetFilter("foo"); |
ASSERT_EQ(0u, filterEngine->GetListedFilters().size()); |
ASSERT_FALSE(filter->IsListed()); |
@@ -326,26 +326,26 @@ |
ASSERT_EQ(0u, filterEngine->GetListedFilters().size()); |
ASSERT_FALSE(filter->IsListed()); |
} |
TEST_F(FilterEngineTest, SubscriptionProperties) |
{ |
AdblockPlus::SubscriptionPtr subscription = filterEngine->GetSubscription("foo"); |
- ASSERT_TRUE(subscription->GetProperty("stringFoo")->IsUndefined()); |
- ASSERT_TRUE(subscription->GetProperty("intFoo")->IsUndefined()); |
- ASSERT_TRUE(subscription->GetProperty("boolFoo")->IsUndefined()); |
+ ASSERT_TRUE(subscription->GetProperty("stringFoo").IsUndefined()); |
+ ASSERT_TRUE(subscription->GetProperty("intFoo").IsUndefined()); |
+ ASSERT_TRUE(subscription->GetProperty("boolFoo").IsUndefined()); |
subscription->SetProperty("stringFoo", "y"); |
subscription->SetProperty("intFoo", 24); |
subscription->SetProperty("boolFoo", true); |
- ASSERT_EQ("y", subscription->GetProperty("stringFoo")->AsString()); |
- ASSERT_EQ(24, subscription->GetProperty("intFoo")->AsInt()); |
- ASSERT_TRUE(subscription->GetProperty("boolFoo")->AsBool()); |
+ ASSERT_EQ("y", subscription->GetProperty("stringFoo").AsString()); |
+ ASSERT_EQ(24, subscription->GetProperty("intFoo").AsInt()); |
+ ASSERT_TRUE(subscription->GetProperty("boolFoo").AsBool()); |
} |
TEST_F(FilterEngineTest, AddRemoveSubscriptions) |
{ |
ASSERT_EQ(0u, filterEngine->GetListedSubscriptions().size()); |
AdblockPlus::SubscriptionPtr subscription = filterEngine->GetSubscription("foo"); |
ASSERT_EQ(0u, filterEngine->GetListedSubscriptions().size()); |
ASSERT_FALSE(subscription->IsListed()); |
@@ -737,17 +737,17 @@ |
} |
else if (subscriptions[1]->IsAA()) |
{ |
aaSubscription = subscriptions[1]; |
langSubscription = subscriptions[0]; |
} |
ASSERT_NE(nullptr, aaSubscription); |
ASSERT_NE(nullptr, langSubscription); |
- EXPECT_EQ(langSubscriptionUrl, langSubscription->GetProperty("url")->AsString()); |
+ EXPECT_EQ(langSubscriptionUrl, langSubscription->GetProperty("url").AsString()); |
EXPECT_TRUE(filterEngine->IsAAEnabled()); |
} |
TEST_F(FilterEngineWithFreshFolder, DisableSubscriptionsAutoSelectOnFirstRun) |
{ |
auto jsEngine = createJsEngine(); |
FilterEngine::CreationParameters createParams; |
createParams.preconfiguredPrefs["first_run_subscription_auto_select"] = jsEngine->NewValue(false); |
@@ -910,17 +910,17 @@ |
if (otherSubscriptionsNumber == 1u) |
{ |
auto subscription = filterEngine->GetSubscription(kOtherSubscriptionUrl); |
ASSERT_TRUE(subscription); |
subscription->AddToList(); |
const auto subscriptions = filterEngine->GetListedSubscriptions(); |
ASSERT_EQ(1u, subscriptions.size()); |
EXPECT_FALSE(subscriptions[0]->IsAA()); |
- EXPECT_EQ(kOtherSubscriptionUrl, subscriptions[0]->GetProperty("url")->AsString()); |
+ EXPECT_EQ(kOtherSubscriptionUrl, subscriptions[0]->GetProperty("url").AsString()); |
} |
if (isAASatusPresent(aaStatus)) |
{ |
filterEngine->SetAAEnabled(true); // add AA by enabling it |
if (aaStatus == AAStatus::disabled_present) |
{ |
filterEngine->SetAAEnabled(false); |
} |
@@ -1006,90 +1006,90 @@ |
testSubscriptionState(parameter.expectedAAStatus, otherSubscriptionsNumber); |
} |
} |
TEST_F(FilterEngineIsAllowedConnectionTest, AbsentCallbackAllowsUpdating) |
{ |
createParams.isConnectionAllowedCallback = FilterEngine::IsConnectionAllowedCallback(); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
} |
TEST_F(FilterEngineIsAllowedConnectionTest, AllowingCallbackAllowsUpdating) |
{ |
// no stored allowed_connection_type preference |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
ASSERT_EQ(1u, capturedConnectionTypes.size()); |
EXPECT_FALSE(capturedConnectionTypes[0].first); |
} |
TEST_F(FilterEngineIsAllowedConnectionTest, NotAllowingCallbackDoesNotAllowUpdating) |
{ |
isConnectionAllowed = false; |
// no stored allowed_connection_type preference |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
- EXPECT_EQ("synchronize_connection_error", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(0u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_connection_error", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(0u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
EXPECT_EQ(1u, capturedConnectionTypes.size()); |
} |
TEST_F(FilterEngineIsAllowedConnectionTest, PredefinedAllowedConnectionTypeIsPassedToCallback) |
{ |
std::string predefinedAllowedConnectionType = "non-metered"; |
createParams.preconfiguredPrefs["allowed_connection_type"] = jsEngine->NewValue(predefinedAllowedConnectionType); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
ASSERT_EQ(1u, capturedConnectionTypes.size()); |
EXPECT_TRUE(capturedConnectionTypes[0].first); |
EXPECT_EQ(predefinedAllowedConnectionType, capturedConnectionTypes[0].second); |
} |
TEST_F(FilterEngineIsAllowedConnectionTest, ConfiguredConnectionTypeIsPassedToCallback) |
{ |
// FilterEngine->RemoveSubscription is not usable here because subscriptions |
// are cached internally by URL. So, different URLs are used in diffirent |
// checks. |
{ |
std::string predefinedAllowedConnectionType = "non-metered"; |
createParams.preconfiguredPrefs["allowed_connection_type"] = jsEngine->NewValue(predefinedAllowedConnectionType); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
ASSERT_EQ(1u, capturedConnectionTypes.size()); |
EXPECT_TRUE(capturedConnectionTypes[0].first); |
EXPECT_EQ(predefinedAllowedConnectionType, capturedConnectionTypes[0].second); |
} |
capturedConnectionTypes.Clear(); |
{ |
// set no value |
filterEngine->SetAllowedConnectionType(nullptr); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate("subA"); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
ASSERT_EQ(1u, capturedConnectionTypes.size()); |
EXPECT_FALSE(capturedConnectionTypes[0].first); |
subscription->RemoveFromList(); |
this->capturedConnectionTypes.Clear(); |
} |
capturedConnectionTypes.Clear(); |
{ |
// set some value |
std::string testConnection = "test connection"; |
filterEngine->SetAllowedConnectionType(&testConnection); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate("subB"); |
- EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus")->AsString()); |
- EXPECT_EQ(1u, subscription->GetProperty("filters")->AsList().size()); |
+ EXPECT_EQ("synchronize_ok", subscription->GetProperty("downloadStatus").AsString()); |
+ EXPECT_EQ(1u, subscription->GetProperty("filters").AsList().size()); |
auto capturedConnectionTypes = this->capturedConnectionTypes.GetStrings(); |
ASSERT_EQ(1u, capturedConnectionTypes.size()); |
EXPECT_TRUE(capturedConnectionTypes[0].first); |
EXPECT_EQ(testConnection, capturedConnectionTypes[0].second); |
} |
} |