Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1949)

Unified Diff: chrome/browser/nacl_host/nacl_file_host_unittest.cc

Issue 55463002: Remove PNaCl's RequestFirstInstall, use resource throttle instead (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: reorder functions Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/nacl_host/nacl_file_host.cc ('k') | chrome/browser/nacl_host/nacl_host_message_filter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/nacl_host/nacl_file_host_unittest.cc
diff --git a/chrome/browser/nacl_host/nacl_file_host_unittest.cc b/chrome/browser/nacl_host/nacl_file_host_unittest.cc
index 08703766b3ab3ea87110aa17f9445c2c4d54703d..2eb806698f265c3e180a7d4e557e84ded1d2da62 100644
--- a/chrome/browser/nacl_host/nacl_file_host_unittest.cc
+++ b/chrome/browser/nacl_host/nacl_file_host_unittest.cc
@@ -7,23 +7,17 @@
#include "base/basictypes.h"
#include "base/files/file_path.h"
#include "base/files/scoped_temp_dir.h"
-#include "base/run_loop.h"
#include "base/test/scoped_path_override.h"
-#include "base/threading/sequenced_worker_pool.h"
#include "components/nacl/browser/nacl_browser.h"
#include "components/nacl/common/nacl_browser_delegate.h"
-#include "components/nacl/common/pnacl_types.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/gtest/include/gtest/gtest.h"
using nacl_file_host::PnaclCanOpenFile;
-using nacl_file_host::EnsurePnaclInstalled;
class TestNaClBrowserDelegate : public NaClBrowserDelegate {
public:
- TestNaClBrowserDelegate() : should_pnacl_install_succeed_(false) { }
+ TestNaClBrowserDelegate() {}
virtual void ShowNaClInfobar(int render_process_id,
int render_view_id,
@@ -73,24 +67,12 @@ class TestNaClBrowserDelegate : public NaClBrowserDelegate {
return false;
}
- virtual void TryInstallPnacl(
- const base::Callback<void(bool)>& installed) OVERRIDE {
- installed.Run(should_pnacl_install_succeed_);
- }
-
void SetPnaclDirectory(const base::FilePath& pnacl_dir) {
pnacl_path_ = pnacl_dir;
}
- // Indicate if we should mock the PNaCl install as succeeding
- // or failing for the next test.
- void SetShouldPnaclInstallSucceed(bool succeed) {
- should_pnacl_install_succeed_ = succeed;
- }
-
private:
base::FilePath pnacl_path_;
- bool should_pnacl_install_succeed_;
};
class NaClFileHostTest : public testing::Test {
@@ -112,55 +94,12 @@ class NaClFileHostTest : public testing::Test {
return nacl_browser_delegate_;
}
- bool install_success() { return install_success_; }
- size_t install_call_count() {
- return std::count(events_.begin(), events_.end(), INSTALL_DONE);
- }
- size_t progress_call_count() {
- return std::count(events_.begin(), events_.end(), INSTALL_PROGRESS);
- }
- bool events_in_correct_order() {
- // INSTALL_DONE should be the last thing.
- // The rest should be progress events.
- size_t size = events_.size();
- return size > 0 && events_[size - 1] == INSTALL_DONE
- && progress_call_count() == (size - 1);
- }
-
- public: // Allow classes to bind these callback methods.
- void CallbackInstall(bool success) {
- install_success_ = success;
- events_.push_back(INSTALL_DONE);
- }
-
- void CallbackProgress(const nacl::PnaclInstallProgress& p) {
- // Check that the first event has an unknown total.
- if (events_.size() == 0) {
- EXPECT_FALSE(nacl::PnaclInstallProgress::progress_known(p));
- }
- events_.push_back(INSTALL_PROGRESS);
- // TODO(jvoung): be able to check that current_progress
- // goes up monotonically and hits total_progress at the end,
- // when we actually get real progress events.
- }
-
private:
- enum EventType {
- INSTALL_DONE,
- INSTALL_PROGRESS
- };
TestNaClBrowserDelegate* nacl_browser_delegate_;
- bool install_success_;
- std::vector<EventType> events_;
- content::TestBrowserThreadBundle thread_bundle_;
DISALLOW_COPY_AND_ASSIGN(NaClFileHostTest);
};
-NaClFileHostTest::NaClFileHostTest()
- : nacl_browser_delegate_(NULL),
- install_success_(false),
- thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
-}
+NaClFileHostTest::NaClFileHostTest() : nacl_browser_delegate_(NULL) {}
NaClFileHostTest::~NaClFileHostTest() {
}
@@ -221,66 +160,3 @@ TEST_F(NaClFileHostTest, TestFilenamesWithPnaclPath) {
EXPECT_FALSE(PnaclCanOpenFile("$HOME/.bashrc", &out_path));
#endif
}
-
-// Test that callbacks return success when PNaCl looks like it is
-// already installed. No intermediate progress events are expected.
-TEST_F(NaClFileHostTest, TestEnsureInstalledAlreadyInstalled) {
- base::ScopedTempDir scoped_tmp_dir;
- ASSERT_TRUE(scoped_tmp_dir.CreateUniqueTempDir());
-
- base::FilePath kTestPnaclPath = scoped_tmp_dir.path();
- nacl_browser_delegate()->SetPnaclDirectory(kTestPnaclPath);
- ASSERT_TRUE(nacl::NaClBrowser::GetDelegate()->GetPnaclDirectory(
- &kTestPnaclPath));
-
- EnsurePnaclInstalled(
- base::Bind(&NaClFileHostTest::CallbackInstall, base::Unretained(this)),
- base::Bind(&NaClFileHostTest::CallbackProgress, base::Unretained(this)));
- content::BrowserThread::GetBlockingPool()->FlushForTesting();
- base::RunLoop().RunUntilIdle();
-
- EXPECT_TRUE(install_success());
- EXPECT_EQ(1u, install_call_count());
- EXPECT_EQ(0u, progress_call_count());
- EXPECT_TRUE(events_in_correct_order());
-}
-
-// Test that final callback is called with success, when PNaCl does not
-// look like it's already installed, but mock installer says success.
-// Also check that intermediate progress events are called.
-TEST_F(NaClFileHostTest, TestEnsureInstalledNotInstalledSuccess) {
- base::FilePath kTestPnaclPath;
- nacl_browser_delegate()->SetPnaclDirectory(kTestPnaclPath);
- nacl_browser_delegate()->SetShouldPnaclInstallSucceed(true);
-
- EnsurePnaclInstalled(
- base::Bind(&NaClFileHostTest::CallbackInstall, base::Unretained(this)),
- base::Bind(&NaClFileHostTest::CallbackProgress, base::Unretained(this)));
- content::BrowserThread::GetBlockingPool()->FlushForTesting();
- base::RunLoop().RunUntilIdle();
-
- EXPECT_TRUE(install_success());
- EXPECT_EQ(1u, install_call_count());
- EXPECT_GE(progress_call_count(), 1u);
- EXPECT_TRUE(events_in_correct_order());
-}
-
-// Test that final callback is called with error, when PNaCl does not look
-// like it's already installed, but mock installer says error.
-// Also check that intermediate progress events are called.
-TEST_F(NaClFileHostTest, TestEnsureInstalledNotInstalledError) {
- base::FilePath kTestPnaclPath;
- nacl_browser_delegate()->SetPnaclDirectory(kTestPnaclPath);
- nacl_browser_delegate()->SetShouldPnaclInstallSucceed(false);
-
- EnsurePnaclInstalled(
- base::Bind(&NaClFileHostTest::CallbackInstall, base::Unretained(this)),
- base::Bind(&NaClFileHostTest::CallbackProgress, base::Unretained(this)));
- content::BrowserThread::GetBlockingPool()->FlushForTesting();
- base::RunLoop().RunUntilIdle();
-
- EXPECT_FALSE(install_success());
- EXPECT_EQ(1u, install_call_count());
- EXPECT_GE(progress_call_count(), 1u);
- EXPECT_TRUE(events_in_correct_order());
-}
« no previous file with comments | « chrome/browser/nacl_host/nacl_file_host.cc ('k') | chrome/browser/nacl_host/nacl_host_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698