summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-25 23:13:29 +0000
committerstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-25 23:13:29 +0000
commit975d8032ea8d20d3d9c5f82a50923585b5da9f29 (patch)
tree3c5d8e6fc0c6bbf480bc4b1328c176d5fc3964c2
parenta492f3197a84e9d8816da628bab12e91fe068e9e (diff)
downloadchromium_src-975d8032ea8d20d3d9c5f82a50923585b5da9f29.zip
chromium_src-975d8032ea8d20d3d9c5f82a50923585b5da9f29.tar.gz
chromium_src-975d8032ea8d20d3d9c5f82a50923585b5da9f29.tar.bz2
Build and run layout_plugin_uitest on Mac and Linux
Ported the test using our existing plugin-copying UI test helper base class. Also fixes the license in the file to make presubmit happy. BUG=45016 TEST=LayoutPluginTester.UnloadNoCrash should build and run on Mac and Linux. Review URL: http://codereview.chromium.org/2193001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48221 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/chrome_tests.gypi5
-rw-r--r--chrome/test/ui/layout_plugin_uitest.cc56
2 files changed, 15 insertions, 46 deletions
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 44f7fea..5b4b975 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -356,10 +356,6 @@
'../build/linux/system.gyp:gtk',
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
],
- 'sources!': [
- # TODO(port)
- 'test/ui/layout_plugin_uitest.cc',
- ],
}, { # else: OS != "linux"
'sources!': [
'browser/process_singleton_linux_uitest.cc',
@@ -384,7 +380,6 @@
'browser/sessions/session_restore_uitest.cc',
'common/logging_chrome_uitest.cc',
'test/ui/fast_shutdown_uitest.cc',
- 'test/ui/layout_plugin_uitest.cc',
],
# See the comment in this section of the unit_tests target for an
# explanation (crbug.com/43791 - libwebcore.a is too large to mmap).
diff --git a/chrome/test/ui/layout_plugin_uitest.cc b/chrome/test/ui/layout_plugin_uitest.cc
index 911ae58..2952123 100644
--- a/chrome/test/ui/layout_plugin_uitest.cc
+++ b/chrome/test/ui/layout_plugin_uitest.cc
@@ -1,31 +1,6 @@
-// Copyright 2008, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
#include "chrome/test/ui/ui_test.h"
@@ -33,12 +8,23 @@
#include "base/path_service.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/test/automation/tab_proxy.h"
+#include "chrome/test/ui/npapi_test_helper.h"
#include "googleurl/src/gurl.h"
#include "net/base/net_util.h"
+#if defined(OS_WIN)
+static const char kTestPluginName[] = "npapi_layout_test_plugin.dll";
+#elif defined(OS_MACOSX)
+static const char kTestPluginName[] = "TestNetscapePlugIn.plugin";
+#elif defined(OS_LINUX)
+static const char kTestPluginName[] = "libnpapi_layout_test_plugin.so";
+#endif
+
namespace {
-class LayoutPluginTester : public UITest {
+class LayoutPluginTester : public NPAPITesterBase {
+ protected:
+ LayoutPluginTester() : NPAPITesterBase(kTestPluginName) {}
};
} // namespace
@@ -46,18 +32,6 @@ class LayoutPluginTester : public UITest {
// Make sure that navigating away from a plugin referenced by JS doesn't
// crash.
TEST_F(LayoutPluginTester, UnloadNoCrash) {
- // We need to copy our test-plugin into the plugins directory so that
- // the browser can load it.
- std::wstring plugins_directory = browser_directory_.ToWStringHack();
- plugins_directory += L"\\plugins";
- std::wstring plugin_src = browser_directory_.ToWStringHack();
- plugin_src += L"\\npapi_layout_test_plugin.dll";
- std::wstring plugin_dest = plugins_directory;
- plugin_dest += L"\\npapi_layout_test_plugin.dll";
-
- CreateDirectory(plugins_directory.c_str(), NULL);
- CopyFile(plugin_src.c_str(), plugin_dest.c_str(), true /* overwrite */);
-
FilePath path;
PathService::Get(chrome::DIR_TEST_DATA, &path);
path = path.AppendASCII("npapi").AppendASCII("layout_test_plugin.html");