| Index: test/FilterEngineStubs.cpp | 
| =================================================================== | 
| --- a/test/FilterEngineStubs.cpp | 
| +++ b/test/FilterEngineStubs.cpp | 
| @@ -28,36 +28,36 @@ class DummyFileSystem : public AdblockPl | 
| StatResult Stat(const std::string& path) const | 
| { | 
| throw std::runtime_error("Not implemented"); | 
| } | 
| }; | 
| TEST(FilterEngineStubsTest, FilterCreation) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| AdblockPlus::FilterPtr filter1 = filterEngine.GetFilter("foo"); | 
| ASSERT_EQ(AdblockPlus::Filter::TYPE_BLOCKING, filter1->GetProperty("type", -1)); | 
| AdblockPlus::FilterPtr filter2 = filterEngine.GetFilter("@@foo"); | 
| ASSERT_EQ(AdblockPlus::Filter::TYPE_EXCEPTION, filter2->GetProperty("type", -1)); | 
| AdblockPlus::FilterPtr filter3 = filterEngine.GetFilter("example.com##foo"); | 
| ASSERT_EQ(AdblockPlus::Filter::TYPE_ELEMHIDE, filter3->GetProperty("type", -1)); | 
| AdblockPlus::FilterPtr filter4 = filterEngine.GetFilter("example.com#@#foo"); | 
| ASSERT_EQ(AdblockPlus::Filter::TYPE_ELEMHIDE_EXCEPTION, filter4->GetProperty("type", -1)); | 
| AdblockPlus::FilterPtr filter5 = filterEngine.GetFilter(" foo "); | 
| ASSERT_EQ(*filter1, *filter5); | 
| } | 
| TEST(FilterEngineStubsTest, FilterProperties) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| AdblockPlus::FilterPtr filter = filterEngine.GetFilter("foo"); | 
| ASSERT_EQ("x", filter->GetProperty("stringFoo", "x")); | 
| ASSERT_EQ(42, filter->GetProperty("intFoo", 42)); | 
| ASSERT_FALSE(filter->GetProperty("boolFoo", false)); | 
| filter->SetProperty("stringFoo", "y"); | 
| @@ -65,18 +65,18 @@ TEST(FilterEngineStubsTest, FilterProper | 
| filter->SetProperty("boolFoo", true); | 
| ASSERT_EQ("y", filter->GetProperty("stringFoo", "x")); | 
| ASSERT_EQ(24, filter->GetProperty("intFoo", 42)); | 
| ASSERT_TRUE(filter->GetProperty("boolFoo", false)); | 
| } | 
| TEST(FilterEngineStubsTest, AddRemoveFilters) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| ASSERT_EQ(0u, filterEngine.GetListedFilters().size()); | 
| AdblockPlus::FilterPtr filter = filterEngine.GetFilter("foo"); | 
| ASSERT_EQ(0u, filterEngine.GetListedFilters().size()); | 
| filter->AddToList(); | 
| ASSERT_EQ(1u, filterEngine.GetListedFilters().size()); | 
| ASSERT_EQ(*filter, *filterEngine.GetListedFilters()[0]); | 
| filter->AddToList(); | 
| @@ -85,18 +85,18 @@ TEST(FilterEngineStubsTest, AddRemoveFil | 
| filter->RemoveFromList(); | 
| ASSERT_EQ(0u, filterEngine.GetListedFilters().size()); | 
| filter->RemoveFromList(); | 
| ASSERT_EQ(0u, filterEngine.GetListedFilters().size()); | 
| } | 
| TEST(FilterEngineStubsTest, SubscriptionProperties) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"); | 
| ASSERT_EQ("x", subscription->GetProperty("stringFoo", "x")); | 
| ASSERT_EQ(42, subscription->GetProperty("intFoo", 42)); | 
| ASSERT_FALSE(subscription->GetProperty("boolFoo", false)); | 
| subscription->SetProperty("stringFoo", "y"); | 
| @@ -104,18 +104,18 @@ TEST(FilterEngineStubsTest, Subscription | 
| subscription->SetProperty("boolFoo", true); | 
| ASSERT_EQ("y", subscription->GetProperty("stringFoo", "x")); | 
| ASSERT_EQ(24, subscription->GetProperty("intFoo", 42)); | 
| ASSERT_TRUE(subscription->GetProperty("boolFoo", false)); | 
| } | 
| TEST(FilterEngineStubsTest, AddRemoveSubscriptions) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| ASSERT_EQ(0u, filterEngine.GetListedSubscriptions().size()); | 
| AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"); | 
| ASSERT_EQ(0u, filterEngine.GetListedSubscriptions().size()); | 
| subscription->AddToList(); | 
| ASSERT_EQ(1u, filterEngine.GetListedSubscriptions().size()); | 
| ASSERT_EQ(*subscription, *filterEngine.GetListedSubscriptions()[0]); | 
| subscription->AddToList(); | 
| @@ -124,30 +124,30 @@ TEST(FilterEngineStubsTest, AddRemoveSub | 
| subscription->RemoveFromList(); | 
| ASSERT_EQ(0u, filterEngine.GetListedSubscriptions().size()); | 
| subscription->RemoveFromList(); | 
| ASSERT_EQ(0u, filterEngine.GetListedSubscriptions().size()); | 
| } | 
| TEST(FilterEngineStubsTest, SubscriptionUpdates) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"); | 
| ASSERT_FALSE(subscription->IsUpdating()); | 
| //TODO: This currently crashes due to errors reported on a different thread | 
| //subscription->UpdateFilters(); | 
| } | 
| TEST(FilterEngineStubsTest, Matches) | 
| { | 
| - AdblockPlus::JsEngine jsEngine; | 
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); | 
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new DummyFileSystem())); | 
| AdblockPlus::FilterEngine filterEngine(jsEngine); | 
| filterEngine.GetFilter("adbanner.gif")->AddToList(); | 
| filterEngine.GetFilter("@@notbanner.gif")->AddToList(); | 
| AdblockPlus::FilterPtr match1 = filterEngine.Matches("http://example.org/foobar.gif", "IMAGE", ""); | 
| ASSERT_FALSE(match1); |