| Index: chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc
|
| diff --git a/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc b/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc
|
| index 1b3e96624787d7bd54717ca9c5f4b9891f7d8ad6..682a30d9a566c9ee8b71fa01863816336433736d 100644
|
| --- a/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc
|
| +++ b/chrome/browser/password_manager/native_backend_kwallet_x_unittest.cc
|
| @@ -540,6 +540,42 @@ TEST_F(NativeBackendKWalletTest, BasicAddLogin) {
|
| CheckPasswordForms("Chrome Form Data (42)", expected);
|
| }
|
|
|
| +TEST_F(NativeBackendKWalletTest, BasicUpdateLogin) {
|
| + NativeBackendKWalletStub backend(42);
|
| + EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
|
| +
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendKWalletStub::AddLogin),
|
| + base::Unretained(&backend), form_google_));
|
| +
|
| + RunDBThread();
|
| +
|
| + PasswordForm new_form_google(form_google_);
|
| + new_form_google.times_used = 10;
|
| + new_form_google.action = GURL("http://www.google.com/different/login");
|
| +
|
| + // Update login
|
| + PasswordStoreChangeList changes;
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendKWalletStub::UpdateLogin),
|
| + base::Unretained(&backend),
|
| + new_form_google,
|
| + base::Unretained(&changes)));
|
| + RunDBThread();
|
| +
|
| + ASSERT_EQ(1u, changes.size());
|
| + EXPECT_EQ(PasswordStoreChange::UPDATE, changes.front().type());
|
| + EXPECT_EQ(new_form_google, changes.front().form());
|
| +
|
| + std::vector<const PasswordForm*> forms;
|
| + forms.push_back(&new_form_google);
|
| + ExpectationArray expected;
|
| + expected.push_back(make_pair(std::string(form_google_.signon_realm), forms));
|
| + CheckPasswordForms("Chrome Form Data (42)", expected);
|
| +}
|
| +
|
| TEST_F(NativeBackendKWalletTest, BasicListLogins) {
|
| NativeBackendKWalletStub backend(42);
|
| EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
|
| @@ -601,6 +637,39 @@ TEST_F(NativeBackendKWalletTest, BasicRemoveLogin) {
|
| CheckPasswordForms("Chrome Form Data (42)", expected);
|
| }
|
|
|
| +TEST_F(NativeBackendKWalletTest, UpdateNonexistentLogin) {
|
| + NativeBackendKWalletStub backend(42);
|
| + EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
|
| +
|
| + // First add an unrelated login.
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendKWalletStub::AddLogin),
|
| + base::Unretained(&backend), form_google_));
|
| +
|
| + RunDBThread();
|
| +
|
| + std::vector<const PasswordForm*> forms;
|
| + forms.push_back(&form_google_);
|
| + ExpectationArray expected;
|
| + expected.push_back(make_pair(std::string(form_google_.signon_realm), forms));
|
| + CheckPasswordForms("Chrome Form Data (42)", expected);
|
| +
|
| + // Attempt to update a login that doesn't exist.
|
| + PasswordStoreChangeList changes;
|
| + BrowserThread::PostTask(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(base::IgnoreResult(&NativeBackendKWalletStub::UpdateLogin),
|
| + base::Unretained(&backend),
|
| + form_isc_,
|
| + base::Unretained(&changes)));
|
| +
|
| + RunDBThread();
|
| +
|
| + EXPECT_EQ(PasswordStoreChangeList(), changes);
|
| + CheckPasswordForms("Chrome Form Data (42)", expected);
|
| +}
|
| +
|
| TEST_F(NativeBackendKWalletTest, RemoveNonexistentLogin) {
|
| NativeBackendKWalletStub backend(42);
|
| EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
|
|
|