Index: webkit/tools/test_shell/plugin_tests.cc |
=================================================================== |
--- webkit/tools/test_shell/plugin_tests.cc (revision 14938) |
+++ webkit/tools/test_shell/plugin_tests.cc (working copy) |
@@ -4,6 +4,7 @@ |
#include <string> |
+#include "base/file_path.h" |
#include "base/file_util.h" |
#include "base/path_service.h" |
#include "base/string_util.h" |
@@ -19,31 +20,39 @@ |
using WebKit::WebScriptSource; |
using WebKit::WebString; |
+#if defined(OS_WIN) |
+#define TEST_PLUGIN_NAME "npapi_test_plugin.dll" |
+#elif defined(OS_MACOSX) |
+#define TEST_PLUGIN_NAME "npapi_test_plugin.bundle" |
+#elif defined(OS_LINUX) |
+#define TEST_PLUGIN_NAME "npapi_test_plugin.so" |
+#endif |
+ |
// Provides functionality for creating plugin tests. |
class PluginTest : public TestShellTest { |
public: |
PluginTest() { |
- std::wstring current_directory; |
- PathService::Get(base::DIR_EXE, ¤t_directory); |
- plugin_src_ = current_directory + L"\\npapi_test_plugin.dll"; |
+ FilePath executable_directory; |
+ PathService::Get(base::DIR_EXE, &executable_directory); |
+ plugin_src_ = executable_directory.AppendASCII(TEST_PLUGIN_NAME); |
CHECK(file_util::PathExists(plugin_src_)); |
- plugin_file_path_ = current_directory + L"\\plugins"; |
- ::CreateDirectory(plugin_file_path_.c_str(), NULL); |
+ plugin_file_path_ = executable_directory.AppendASCII("plugins"); |
+ file_util::CreateDirectory(plugin_file_path_); |
- plugin_file_path_ += L"\\npapi_test_plugin.dll"; |
+ plugin_file_path_ = plugin_file_path_.AppendASCII(TEST_PLUGIN_NAME); |
} |
void CopyTestPlugin() { |
- ASSERT_TRUE(CopyFile(plugin_src_.c_str(), plugin_file_path_.c_str(), FALSE)); |
+ ASSERT_TRUE(file_util::CopyDirectory(plugin_src_, plugin_file_path_, true)); |
} |
void DeleteTestPlugin() { |
- ::DeleteFile(plugin_file_path_.c_str()); |
+ file_util::Delete(plugin_file_path_, true); |
} |
- std::wstring plugin_src_; |
- std::wstring plugin_file_path_; |
+ FilePath plugin_src_; |
+ FilePath plugin_file_path_; |
}; |
// Tests navigator.plugins.refresh() works. |
@@ -55,7 +64,7 @@ |
var l = navigator.plugins.length;\ |
var result = document.getElementById('result');\ |
for(var i = 0; i < l; i++) {\ |
- if (navigator.plugins[i].filename == 'npapi_test_plugin.dll') {\ |
+ if (navigator.plugins[i].filename == '" TEST_PLUGIN_NAME "') {\ |
result.innerHTML = 'DONE';\ |
break;\ |
}\ |
@@ -98,6 +107,8 @@ |
DeleteTestPlugin(); |
} |
+#if defined(OS_WIN) |
+// TODO(port): Reenable on mac and linux once they have working default plugins. |
TEST_F(PluginTest, DefaultPluginLoadTest) { |
std::string html = "\ |
<div id='result'>Test running....</div>\ |
@@ -125,6 +136,7 @@ |
ASSERT_EQ(true, StartsWith(text, L"DONE", true)); |
} |
+#endif |
// Tests that if a frame is deleted as a result of calling NPP_HandleEvent, we |
// don't crash. |