| Index: ios/chrome/browser/web/mailto_url_rewriter_unittest.mm
|
| diff --git a/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm b/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm
|
| index 7df96bb89e6e745f6ff58106697b2b555c32c063..961a62f65f893ff4760c0560008a288e0670cf2f 100644
|
| --- a/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm
|
| +++ b/ios/chrome/browser/web/mailto_url_rewriter_unittest.mm
|
| @@ -55,11 +55,31 @@ TEST_F(MailtoURLRewriterTest, TestStandardInstance) {
|
| for (MailtoHandler* handler in handlers) {
|
| ASSERT_TRUE(handler);
|
| NSString* appStoreID = [handler appStoreID];
|
| + NSString* expectedDefaultAppID =
|
| + [handler isAvailable] ? appStoreID : [MailtoURLRewriter systemMailApp];
|
| [rewriter setDefaultHandlerID:appStoreID];
|
| - EXPECT_NSEQ(appStoreID, [rewriter defaultHandlerID]);
|
| + EXPECT_NSEQ(expectedDefaultAppID, [rewriter defaultHandlerID]);
|
| }
|
| }
|
|
|
| +TEST_F(MailtoURLRewriterTest, TestDefaultsInvalidToSystemMail) {
|
| + // Sets up a MailtoURLRewriter with 2 MailtoHandler objects:
|
| + // - system-provided Mail client app
|
| + // - Gmail app, but it is not installed
|
| + MailtoURLRewriter* rewriter = [[MailtoURLRewriter alloc] init];
|
| + MailtoHandler* systemMailHandler = [[MailtoHandlerSystemMail alloc] init];
|
| + MailtoHandler* fakeGmailHandler =
|
| + [[FakeMailtoHandlerGmailNotInstalled alloc] init];
|
| + [rewriter addMailtoApps:@[ systemMailHandler, fakeGmailHandler ]];
|
| + // Sets the default handler to Gmail (which is not installed). This simulates
|
| + // the situation when Gmail was installed and set as the default handler.
|
| + // Then Gmail app is deleted from the device.
|
| + [rewriter setDefaultHandlerID:[fakeGmailHandler appStoreID]];
|
| + // Verifies that the system-provided Mail app automatically assumes the
|
| + // default handler.
|
| + EXPECT_NSEQ([MailtoURLRewriter systemMailApp], [rewriter defaultHandlerID]);
|
| +}
|
| +
|
| TEST_F(MailtoURLRewriterTest, TestUserPreferencePersistence) {
|
| // Sets up a first MailtoURLRewriter with at least 2 MailtoHandler objects.
|
| // A faked Gmail handler that is installed must be used or -addMailtoApp:
|
|
|