| OLD | NEW | 
|     1 // Copyright 2015 The Chromium Authors. All rights reserved. |     1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include <memory> |     5 #include <memory> | 
|     6 #include <utility> |     6 #include <utility> | 
|     7  |     7  | 
|     8 #include "base/bind.h" |     8 #include "base/bind.h" | 
|     9 #include "base/bind_helpers.h" |     9 #include "base/bind_helpers.h" | 
|    10 #include "base/files/file_path.h" |    10 #include "base/files/file_path.h" | 
| (...skipping 1257 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1268   update_client->RemoveObserver(&observer); |  1268   update_client->RemoveObserver(&observer); | 
|  1269 } |  1269 } | 
|  1270  |  1270  | 
|  1271 // Tests the update scenario for one CRX where the CRX installer returns |  1271 // Tests the update scenario for one CRX where the CRX installer returns | 
|  1272 // an error. |  1272 // an error. | 
|  1273 TEST_F(UpdateClientTest, OneCrxInstallError) { |  1273 TEST_F(UpdateClientTest, OneCrxInstallError) { | 
|  1274   class MockInstaller : public CrxInstaller { |  1274   class MockInstaller : public CrxInstaller { | 
|  1275    public: |  1275    public: | 
|  1276     MOCK_METHOD1(OnUpdateError, void(int error)); |  1276     MOCK_METHOD1(OnUpdateError, void(int error)); | 
|  1277     MOCK_METHOD2(Install, |  1277     MOCK_METHOD2(Install, | 
|  1278                  Result(const base::DictionaryValue& manifest, |  1278                  bool(const base::DictionaryValue& manifest, | 
|  1279                         const base::FilePath& unpack_path)); |  1279                       const base::FilePath& unpack_path)); | 
|  1280     MOCK_METHOD2(GetInstalledFile, |  1280     MOCK_METHOD2(GetInstalledFile, | 
|  1281                  bool(const std::string& file, base::FilePath* installed_file)); |  1281                  bool(const std::string& file, base::FilePath* installed_file)); | 
|  1282     MOCK_METHOD0(Uninstall, bool()); |  1282     MOCK_METHOD0(Uninstall, bool()); | 
|  1283  |  1283  | 
|  1284     static void OnInstall(const base::DictionaryValue& manifest, |  1284     static void OnInstall(const base::DictionaryValue& manifest, | 
|  1285                           const base::FilePath& unpack_path) { |  1285                           const base::FilePath& unpack_path) { | 
|  1286       base::DeleteFile(unpack_path, true); |  1286       base::DeleteFile(unpack_path, true); | 
|  1287     } |  1287     } | 
|  1288  |  1288  | 
|  1289    protected: |  1289    protected: | 
|  1290     ~MockInstaller() override {} |  1290     ~MockInstaller() override {} | 
|  1291   }; |  1291   }; | 
|  1292  |  1292  | 
|  1293   class DataCallbackFake { |  1293   class DataCallbackFake { | 
|  1294    public: |  1294    public: | 
|  1295     static void Callback(const std::vector<std::string>& ids, |  1295     static void Callback(const std::vector<std::string>& ids, | 
|  1296                          std::vector<CrxComponent>* components) { |  1296                          std::vector<CrxComponent>* components) { | 
|  1297       scoped_refptr<MockInstaller> installer(new MockInstaller()); |  1297       scoped_refptr<MockInstaller> installer(new MockInstaller()); | 
|  1298  |  1298  | 
|  1299       EXPECT_CALL(*installer, OnUpdateError(_)).Times(0); |  1299       EXPECT_CALL(*installer, OnUpdateError(_)).Times(0); | 
|  1300       EXPECT_CALL(*installer, Install(_, _)) |  1300       EXPECT_CALL(*installer, Install(_, _)) | 
|  1301           .WillOnce( |  1301           .WillOnce(DoAll(Invoke(MockInstaller::OnInstall), Return(false))); | 
|  1302               DoAll(Invoke(MockInstaller::OnInstall), |  | 
|  1303                     Return(CrxInstaller::Result(InstallError::GENERIC_ERROR)))); |  | 
|  1304       EXPECT_CALL(*installer, GetInstalledFile(_, _)).Times(0); |  1302       EXPECT_CALL(*installer, GetInstalledFile(_, _)).Times(0); | 
|  1305       EXPECT_CALL(*installer, Uninstall()).Times(0); |  1303       EXPECT_CALL(*installer, Uninstall()).Times(0); | 
|  1306  |  1304  | 
|  1307       CrxComponent crx; |  1305       CrxComponent crx; | 
|  1308       crx.name = "test_jebg"; |  1306       crx.name = "test_jebg"; | 
|  1309       crx.pk_hash.assign(jebg_hash, jebg_hash + arraysize(jebg_hash)); |  1307       crx.pk_hash.assign(jebg_hash, jebg_hash + arraysize(jebg_hash)); | 
|  1310       crx.version = base::Version("0.9"); |  1308       crx.version = base::Version("0.9"); | 
|  1311       crx.installer = installer; |  1309       crx.installer = installer; | 
|  1312       components->push_back(crx); |  1310       components->push_back(crx); | 
|  1313     } |  1311     } | 
| (...skipping 1394 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2708   update_client->Update( |  2706   update_client->Update( | 
|  2709       ids, base::Bind(&DataCallbackFake::Callback), |  2707       ids, base::Bind(&DataCallbackFake::Callback), | 
|  2710       base::Bind(&CompletionCallbackFake::Callback, quit_closure())); |  2708       base::Bind(&CompletionCallbackFake::Callback, quit_closure())); | 
|  2711  |  2709  | 
|  2712   RunThreads(); |  2710   RunThreads(); | 
|  2713  |  2711  | 
|  2714   update_client->RemoveObserver(&observer); |  2712   update_client->RemoveObserver(&observer); | 
|  2715 } |  2713 } | 
|  2716  |  2714  | 
|  2717 }  // namespace update_client |  2715 }  // namespace update_client | 
| OLD | NEW |