| Index: test/FileSystemJsObject.cpp |
| =================================================================== |
| --- a/test/FileSystemJsObject.cpp |
| +++ b/test/FileSystemJsObject.cpp |
| @@ -68,176 +68,176 @@ namespace |
| result.exists = statExists; |
| result.isDirectory = statIsDirectory; |
| result.isFile = statIsFile; |
| result.lastModified = statLastModified; |
| return result; |
| } |
| }; |
| - void ReadFile(AdblockPlus::JsEngine& jsEngine, std::string& content, |
| + void ReadFile(AdblockPlus::JsEnginePtr jsEngine, std::string& content, |
| std::string& error) |
| { |
| - jsEngine.Evaluate("_fileSystem.read('', function(r) {result = r})"); |
| + jsEngine->Evaluate("_fileSystem.read('', function(r) {result = r})"); |
| AdblockPlus::Sleep(50); |
| - content = jsEngine.Evaluate("result.content")->AsString(); |
| - error = jsEngine.Evaluate("result.error")->AsString(); |
| + content = jsEngine->Evaluate("result.content")->AsString(); |
| + error = jsEngine->Evaluate("result.error")->AsString(); |
| } |
| } |
| TEST(FileSystemJsObjectTest, Read) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->contentToRead = "foo"; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| std::string content; |
| std::string error; |
| ReadFile(jsEngine, content, error); |
| ASSERT_EQ("foo", content); |
| ASSERT_EQ("", error); |
| } |
| TEST(FileSystemJsObjectTest, ReadIllegalArguments) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.read()")); |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.read('', '')")); |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.read()")); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.read('', '')")); |
| } |
| TEST(FileSystemJsObjectTest, ReadError) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->success = false; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| std::string content; |
| std::string error; |
| ReadFile(jsEngine, content, error); |
| ASSERT_NE("", error); |
| ASSERT_EQ("", content); |
| } |
| TEST(FileSystemJsObjectTest, Write) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.write('foo', 'bar', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.write('foo', 'bar', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| ASSERT_EQ("foo", fileSystem->lastWrittenPath); |
| ASSERT_EQ("bar", fileSystem->lastWrittenContent); |
| - ASSERT_EQ("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_EQ("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, WriteIllegalArguments) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.write()")); |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.write('', '', '')")); |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.write()")); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.write('', '', '')")); |
| } |
| TEST(FileSystemJsObjectTest, WriteError) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->success = false; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.write('foo', 'bar', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.write('foo', 'bar', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| - ASSERT_NE("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_NE("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, Move) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.move('foo', 'bar', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.move('foo', 'bar', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| ASSERT_EQ("foo", fileSystem->movedFrom); |
| ASSERT_EQ("bar", fileSystem->movedTo); |
| - ASSERT_EQ("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_EQ("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, MoveIllegalArguments) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.move()")); |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.move('', '', '')")); |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.move()")); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.move('', '', '')")); |
| } |
| TEST(FileSystemJsObjectTest, MoveError) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->success = false; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.move('foo', 'bar', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.move('foo', 'bar', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| - ASSERT_NE("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_NE("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, Remove) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.remove('foo', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.remove('foo', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| ASSERT_EQ("foo", fileSystem->removedPath); |
| - ASSERT_EQ("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_EQ("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, RemoveIllegalArguments) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.remove()")); |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.remove('', '')")); |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.remove()")); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.remove('', '')")); |
| } |
| TEST(FileSystemJsObjectTest, RemoveError) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->success = false; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.remove('foo', function(e) {error = e})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.remove('foo', function(e) {error = e})"); |
| AdblockPlus::Sleep(50); |
| - ASSERT_NE("", jsEngine.Evaluate("error")->AsString()); |
| + ASSERT_NE("", jsEngine->Evaluate("error")->AsString()); |
| } |
| TEST(FileSystemJsObjectTest, Stat) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->statExists = true; |
| fileSystem->statIsDirectory= false; |
| fileSystem->statIsFile = true; |
| fileSystem->statLastModified = 1337; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.stat('foo', function(r) {result = r})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.stat('foo', function(r) {result = r})"); |
| AdblockPlus::Sleep(50); |
| ASSERT_EQ("foo", fileSystem->statPath); |
| - ASSERT_EQ("", jsEngine.Evaluate("result.error")->AsString()); |
| - ASSERT_TRUE(jsEngine.Evaluate("result.exists")->AsBool()); |
| - ASSERT_FALSE(jsEngine.Evaluate("result.isDirectory")->AsBool()); |
| - ASSERT_TRUE(jsEngine.Evaluate("result.isFile")->AsBool()); |
| - ASSERT_EQ(1337, jsEngine.Evaluate("result.lastModified")->AsInt()); |
| + ASSERT_EQ("", jsEngine->Evaluate("result.error")->AsString()); |
| + ASSERT_TRUE(jsEngine->Evaluate("result.exists")->AsBool()); |
| + ASSERT_FALSE(jsEngine->Evaluate("result.isDirectory")->AsBool()); |
| + ASSERT_TRUE(jsEngine->Evaluate("result.isFile")->AsBool()); |
| + ASSERT_EQ(1337, jsEngine->Evaluate("result.lastModified")->AsInt()); |
| } |
| TEST(FileSystemJsObjectTest, StatIllegalArguments) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.stat()")); |
| - ASSERT_ANY_THROW(jsEngine.Evaluate("_fileSystem.stat('', '')")); |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.stat()")); |
| + ASSERT_ANY_THROW(jsEngine->Evaluate("_fileSystem.stat('', '')")); |
| } |
| TEST(FileSystemJsObjectTest, StatError) |
| { |
| - AdblockPlus::JsEngine jsEngine; |
| + AdblockPlus::JsEnginePtr jsEngine(AdblockPlus::JsEngine::New()); |
| MockFileSystem* fileSystem = new MockFileSystem(); |
| fileSystem->success = false; |
| - jsEngine.SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| - jsEngine.Evaluate("_fileSystem.stat('foo', function(r) {result = r})"); |
| + jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(fileSystem));; |
| + jsEngine->Evaluate("_fileSystem.stat('foo', function(r) {result = r})"); |
| AdblockPlus::Sleep(50); |
| - ASSERT_NE("", jsEngine.Evaluate("result.error")->AsString()); |
| + ASSERT_NE("", jsEngine->Evaluate("result.error")->AsString()); |
| } |