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

Side by Side Diff: chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java

Issue 2594813002: Update WebAPKs even if the WebAPK start URL has no Web Manifest (Closed)
Patch Set: Nits. Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 package org.chromium.chrome.browser.webapps; 5 package org.chromium.chrome.browser.webapps;
6 6
7 import static org.junit.Assert.assertEquals; 7 import static org.junit.Assert.assertEquals;
8 import static org.junit.Assert.assertFalse; 8 import static org.junit.Assert.assertFalse;
9 import static org.junit.Assert.assertTrue; 9 import static org.junit.Assert.assertTrue;
10 10
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 // set by the intent version of {@link WebApkInfo#create()}. 257 // set by the intent version of {@link WebApkInfo#create()}.
258 Intent intent = new Intent(); 258 Intent intent = new Intent();
259 intent.putExtra(ShortcutHelper.EXTRA_URL, ""); 259 intent.putExtra(ShortcutHelper.EXTRA_URL, "");
260 intent.putExtra( 260 intent.putExtra(
261 ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME, WebApkTestHelper.WEBAP K_PACKAGE_NAME); 261 ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME, WebApkTestHelper.WEBAP K_PACKAGE_NAME);
262 WebApkInfo info = WebApkInfo.create(intent); 262 WebApkInfo info = WebApkInfo.create(intent);
263 263
264 updateManager.updateIfNeeded(null, info); 264 updateManager.updateIfNeeded(null, info);
265 } 265 }
266 266
267 private static void onGotUnchangedWebManifestForInitialUrl(WebApkUpdateManag er updateManager) { 267 private static void onGotUnchangedWebManifestData(WebApkUpdateManager update Manager) {
268 onFinishedFetchingWebManifestForInitialUrl(updateManager, defaultManifes tData()); 268 onGotManifestData(updateManager, defaultManifestData());
269 }
270
271 private static void onFinishedFetchingWebManifestForInitialUrl(
272 WebApkUpdateManager updateManager, ManifestData fetchedManifestData) {
273 String bestIconUrl = randomIconUrl(fetchedManifestData);
274 updateManager.onFinishedFetchingWebManifestForInitialUrl(
275 infoFromManifestData(fetchedManifestData), bestIconUrl);
276 } 269 }
277 270
278 private static void onGotManifestData(WebApkUpdateManager updateManager, 271 private static void onGotManifestData(WebApkUpdateManager updateManager,
279 ManifestData fetchedManifestData) { 272 ManifestData fetchedManifestData) {
280 String bestIconUrl = randomIconUrl(fetchedManifestData); 273 String bestIconUrl = randomIconUrl(fetchedManifestData);
281 updateManager.onGotManifestData(infoFromManifestData(fetchedManifestData ), bestIconUrl); 274 updateManager.onGotManifestData(infoFromManifestData(fetchedManifestData ), bestIconUrl);
282 } 275 }
283 276
284 private static String randomIconUrl(ManifestData fetchedManifestData) { 277 private static String randomIconUrl(ManifestData fetchedManifestData) {
285 if (fetchedManifestData == null || fetchedManifestData.iconUrlToMurmur2H ashMap.isEmpty()) { 278 if (fetchedManifestData == null || fetchedManifestData.iconUrlToMurmur2H ashMap.isEmpty()) {
(...skipping 17 matching lines...) Expand all
303 * from the fetched Web Manifest. 296 * from the fetched Web Manifest.
304 */ 297 */
305 private boolean checkUpdateNeededForFetchedManifest( 298 private boolean checkUpdateNeededForFetchedManifest(
306 ManifestData androidManifestData, ManifestData fetchedManifestData) { 299 ManifestData androidManifestData, ManifestData fetchedManifestData) {
307 registerWebApk(androidManifestData, WebApkVersion.CURRENT_SHELL_APK_VERS ION); 300 registerWebApk(androidManifestData, WebApkVersion.CURRENT_SHELL_APK_VERS ION);
308 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 301 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
309 302
310 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 303 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
311 updateIfNeeded(updateManager); 304 updateIfNeeded(updateManager);
312 assertTrue(updateManager.updateCheckStarted()); 305 assertTrue(updateManager.updateCheckStarted());
313 updateManager.onFinishedFetchingWebManifestForInitialUrl( 306 updateManager.onGotManifestData(
314 infoFromManifestData(fetchedManifestData), fetchedManifestData.b estIconUrl); 307 infoFromManifestData(fetchedManifestData), fetchedManifestData.b estIconUrl);
315 return updateManager.updateRequested(); 308 return updateManager.updateRequested();
316 } 309 }
317 310
318 @Before 311 @Before
319 public void setUp() { 312 public void setUp() {
320 ContextUtils.initApplicationContextForTests(RuntimeEnvironment.applicati on); 313 ContextUtils.initApplicationContextForTests(RuntimeEnvironment.applicati on);
321 CommandLine.init(null); 314 CommandLine.init(null);
322 ChromeWebApkHost.initForTesting(true); 315 ChromeWebApkHost.initForTesting(true);
323 316
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 */ 392 */
400 @Test 393 @Test
401 public void testCheckOnNextLaunchIfClosePriorToFirstPageLoad() { 394 public void testCheckOnNextLaunchIfClosePriorToFirstPageLoad() {
402 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 395 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
403 { 396 {
404 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock); 397 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock);
405 updateIfNeeded(updateManager); 398 updateIfNeeded(updateManager);
406 assertTrue(updateManager.updateCheckStarted()); 399 assertTrue(updateManager.updateCheckStarted());
407 } 400 }
408 401
409 // Chrome is killed. 402 // Chrome is killed. Neither
410 // {@link WebApkUpdateManager#onFinishedFetchingWebManifestForInitialUrl ()} is never called. 403 // {@link WebApkUpdateManager#onWebManifestForInitialUrlNotWebApkCompati ble()} nor
404 // {@link WebApkUpdateManager#OnGotManifestData()} is called.
411 405
412 { 406 {
413 // Relaunching the WebAPK should do an is-update-needed check. 407 // Relaunching the WebAPK should do an is-update-needed check.
414 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock); 408 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock);
415 updateIfNeeded(updateManager); 409 updateIfNeeded(updateManager);
416 assertTrue(updateManager.updateCheckStarted()); 410 assertTrue(updateManager.updateCheckStarted());
417 onGotUnchangedWebManifestForInitialUrl(updateManager); 411 onGotUnchangedWebManifestData(updateManager);
418 } 412 }
419 413
420 { 414 {
421 // Relaunching the WebAPK should not do an is-update-needed-check. 415 // Relaunching the WebAPK should not do an is-update-needed-check.
422 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock); 416 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager( mClock);
423 updateIfNeeded(updateManager); 417 updateIfNeeded(updateManager);
424 assertFalse(updateManager.updateCheckStarted()); 418 assertFalse(updateManager.updateCheckStarted());
425 } 419 }
426 } 420 }
427 421
428 /** 422 /**
429 * Test that the completion time of the previous WebAPK update is not modifi ed if: 423 * Test that the completion time of the previous WebAPK update is not modifi ed if:
430 * - The previous WebAPK update succeeded. 424 * - The previous WebAPK update succeeded.
431 * AND 425 * AND
432 * - A WebAPK update is not required. 426 * - A WebAPK update is not required.
433 */ 427 */
434 @Test 428 @Test
435 public void testUpdateNotNeeded() { 429 public void testUpdateNotNeeded() {
436 long initialTime = mClock.currentTimeMillis(); 430 long initialTime = mClock.currentTimeMillis();
437 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 431 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
438 432
439 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 433 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
440 updateIfNeeded(updateManager); 434 updateIfNeeded(updateManager);
441 assertTrue(updateManager.updateCheckStarted()); 435 assertTrue(updateManager.updateCheckStarted());
442 onGotUnchangedWebManifestForInitialUrl(updateManager); 436 onGotUnchangedWebManifestData(updateManager);
443 assertFalse(updateManager.updateRequested()); 437 assertFalse(updateManager.updateRequested());
444 438
445 WebappDataStorage storage = getStorage(); 439 WebappDataStorage storage = getStorage();
446 assertTrue(storage.getDidLastWebApkUpdateRequestSucceed()); 440 assertTrue(storage.getDidLastWebApkUpdateRequestSucceed());
447 assertEquals(initialTime, storage.getLastWebApkUpdateRequestCompletionTi me()); 441 assertEquals(initialTime, storage.getLastWebApkUpdateRequestCompletionTi me());
448 } 442 }
449 443
450 /** 444 /**
451 * Test that the last WebAPK update is marked as having succeeded if: 445 * Test that the last WebAPK update is marked as having succeeded if:
452 * - The previous WebAPK update failed. 446 * - The previous WebAPK update failed.
453 * AND 447 * AND
454 * - A WebAPK update is no longer required. 448 * - A WebAPK update is no longer required.
455 */ 449 */
456 @Test 450 @Test
457 public void testMarkUpdateAsSucceededIfUpdateNoLongerNeeded() { 451 public void testMarkUpdateAsSucceededIfUpdateNoLongerNeeded() {
458 WebappDataStorage storage = getStorage(); 452 WebappDataStorage storage = getStorage();
459 storage.updateDidLastWebApkUpdateRequestSucceed(false); 453 storage.updateDidLastWebApkUpdateRequestSucceed(false);
460 mClock.advance(WebApkUpdateManager.RETRY_UPDATE_DURATION); 454 mClock.advance(WebApkUpdateManager.RETRY_UPDATE_DURATION);
461 455
462 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 456 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
463 updateIfNeeded(updateManager); 457 updateIfNeeded(updateManager);
464 assertTrue(updateManager.updateCheckStarted()); 458 assertTrue(updateManager.updateCheckStarted());
465 onGotUnchangedWebManifestForInitialUrl(updateManager); 459 onGotUnchangedWebManifestData(updateManager);
466 assertFalse(updateManager.updateRequested()); 460 assertFalse(updateManager.updateRequested());
467 461
468 assertTrue(storage.getDidLastWebApkUpdateRequestSucceed()); 462 assertTrue(storage.getDidLastWebApkUpdateRequestSucceed());
469 assertEquals( 463 assertEquals(
470 mClock.currentTimeMillis(), storage.getLastWebApkUpdateRequestCo mpletionTime()); 464 mClock.currentTimeMillis(), storage.getLastWebApkUpdateRequestCo mpletionTime());
471 } 465 }
472 466
473 /** 467 /**
474 * Test that the WebAPK update is marked as having failed if Chrome is kille d prior to the 468 * Test that the WebAPK update is marked as having failed if Chrome is kille d prior to the
475 * WebAPK update completing. 469 * WebAPK update completing.
476 */ 470 */
477 @Test 471 @Test
478 public void testMarkUpdateAsFailedIfClosePriorToUpdateCompleting() { 472 public void testMarkUpdateAsFailedIfClosePriorToUpdateCompleting() {
479 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 473 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
480 474
481 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 475 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
482 updateIfNeeded(updateManager); 476 updateIfNeeded(updateManager);
483 assertTrue(updateManager.updateCheckStarted()); 477 assertTrue(updateManager.updateCheckStarted());
484 ManifestData manifestData = defaultManifestData(); 478 ManifestData manifestData = defaultManifestData();
485 manifestData.name = DIFFERENT_NAME; 479 manifestData.name = DIFFERENT_NAME;
486 onFinishedFetchingWebManifestForInitialUrl(updateManager, manifestData); 480 onGotManifestData(updateManager, manifestData);
487 assertTrue(updateManager.updateRequested()); 481 assertTrue(updateManager.updateRequested());
488 482
489 // Chrome is killed. {@link WebApkUpdateManager#onBuiltWebApk} is never called. 483 // Chrome is killed. {@link WebApkUpdateManager#onBuiltWebApk} is never called.
490 484
491 // Check {@link WebappDataStorage} state. 485 // Check {@link WebappDataStorage} state.
492 WebappDataStorage storage = getStorage(); 486 WebappDataStorage storage = getStorage();
493 assertFalse(storage.getDidLastWebApkUpdateRequestSucceed()); 487 assertFalse(storage.getDidLastWebApkUpdateRequestSucceed());
494 assertEquals( 488 assertEquals(
495 mClock.currentTimeMillis(), storage.getLastWebApkUpdateRequestCo mpletionTime()); 489 mClock.currentTimeMillis(), storage.getLastWebApkUpdateRequestCo mpletionTime());
496 } 490 }
497 491
498 /** 492 /**
499 * Test that an update with data from the WebAPK's Android manifest is done if: 493 * Test that an update with data from the WebAPK's Android manifest is done if:
500 * - WebAPK's code is out of date 494 * - WebAPK's code is out of date
501 * AND 495 * AND
502 * - WebAPK's start_url does not refer to a Web Manifest. 496 * - WebAPK's start_url does not refer to a Web Manifest.
503 * 497 *
504 * It is good to minimize the number of users with out of date WebAPKs. We t ry to keep WebAPKs 498 * It is good to minimize the number of users with out of date WebAPKs. We t ry to keep WebAPKs
505 * up to date even if the web developer has removed the Web Manifest from th eir site. 499 * up to date even if the web developer has removed the Web Manifest from th eir site.
506 */ 500 */
507 @Test 501 @Test
508 public void testShellApkOutOfDateNoWebManifest() { 502 public void testShellApkOutOfDateNoWebManifest() {
509 registerWebApk(defaultManifestData(), WebApkVersion.CURRENT_SHELL_APK_VE RSION - 1); 503 registerWebApk(defaultManifestData(), WebApkVersion.CURRENT_SHELL_APK_VE RSION - 1);
510 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 504 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
511 505
512 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 506 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
513 updateIfNeeded(updateManager); 507 updateIfNeeded(updateManager);
514 assertTrue(updateManager.updateCheckStarted()); 508 assertTrue(updateManager.updateCheckStarted());
515 509
516 onFinishedFetchingWebManifestForInitialUrl(updateManager, null); 510 updateManager.onWebManifestForInitialUrlNotWebApkCompatible();
517 assertTrue(updateManager.updateRequested()); 511 assertTrue(updateManager.updateRequested());
518 assertEquals(NAME, updateManager.requestedUpdateName()); 512 assertEquals(NAME, updateManager.requestedUpdateName());
519 513
520 // Check that the {@link ManifestUpgradeDetector} has been destroyed. Th is prevents 514 // Check that the {@link ManifestUpgradeDetector} has been destroyed. Th is prevents
521 // {@link #onFinishedFetchingWebManifestForInitialUrl()} and {@link #onG otManifestData()} 515 // {@link #onWebManifestForInitialUrlNotWebApkCompatible()} and {@link # onGotManifestData()}
522 // from getting called. 516 // from getting called.
523 assertTrue(updateManager.destroyedFetcher()); 517 assertTrue(updateManager.destroyedFetcher());
524 } 518 }
525 519
526 /** 520 /**
527 * Test that an update with data from the fetched Web Manifest is done if th e WebAPK's code is 521 * Test that an update with data from the fetched Web Manifest is done if th e WebAPK's code is
528 * out of date and the WebAPK's start_url refers to a Web Manifest. 522 * out of date and the WebAPK's start_url refers to a Web Manifest.
529 */ 523 */
530 @Test 524 @Test
531 public void testShellApkOutOfDateStillHasWebManifest() { 525 public void testShellApkOutOfDateStillHasWebManifest() {
532 registerWebApk(defaultManifestData(), WebApkVersion.CURRENT_SHELL_APK_VE RSION - 1); 526 registerWebApk(defaultManifestData(), WebApkVersion.CURRENT_SHELL_APK_VE RSION - 1);
533 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 527 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
534 528
535 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 529 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
536 updateIfNeeded(updateManager); 530 updateIfNeeded(updateManager);
537 assertTrue(updateManager.updateCheckStarted()); 531 assertTrue(updateManager.updateCheckStarted());
538 532
539 onFinishedFetchingWebManifestForInitialUrl(updateManager, defaultManifes tData()); 533 onGotManifestData(updateManager, defaultManifestData());
540 assertTrue(updateManager.updateRequested()); 534 assertTrue(updateManager.updateRequested());
541 assertEquals(NAME, updateManager.requestedUpdateName()); 535 assertEquals(NAME, updateManager.requestedUpdateName());
542 536
543 assertTrue(updateManager.destroyedFetcher()); 537 assertTrue(updateManager.destroyedFetcher());
544 } 538 }
545 539
546 /** 540 /**
547 * Test that an update is requested if: 541 * Test that an update is requested if:
548 * - start_url does not refer to a Web Manifest. 542 * - start_url does not refer to a Web Manifest.
549 * AND 543 * AND
550 * - The user eventually navigates to a page pointing to a Web Manifest with the correct URL. 544 * - The user eventually navigates to a page pointing to a Web Manifest with the correct URL.
551 * AND 545 * AND
552 * - The Web Manifest has changed. 546 * - The Web Manifest has changed.
553 * 547 *
554 * This scenario can occur if the WebAPK's start_url is a Javascript redirec t. 548 * This scenario can occur if the WebAPK's start_url is a Javascript redirec t.
555 */ 549 */
556 @Test 550 @Test
557 public void testStartUrlRedirectsToPageWithUpdatedWebManifest() { 551 public void testStartUrlRedirectsToPageWithUpdatedWebManifest() {
558 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 552 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
559 553
560 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 554 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
561 updateIfNeeded(updateManager); 555 updateIfNeeded(updateManager);
562 assertTrue(updateManager.updateCheckStarted()); 556 assertTrue(updateManager.updateCheckStarted());
563 557
564 // start_url does not have a Web Manifest. No update should be requested . 558 // start_url does not have a Web Manifest. No update should be requested .
565 onFinishedFetchingWebManifestForInitialUrl(updateManager, null); 559 updateManager.onWebManifestForInitialUrlNotWebApkCompatible();
566 assertFalse(updateManager.updateRequested()); 560 assertFalse(updateManager.updateRequested());
567 // {@link ManifestUpgradeDetector} should still be alive so that it can get 561 // {@link ManifestUpgradeDetector} should still be alive so that it can get
568 // {@link #onGotManifestData} when page with the Web Manifest finishes l oading. 562 // {@link #onGotManifestData} when page with the Web Manifest finishes l oading.
569 assertFalse(updateManager.destroyedFetcher()); 563 assertFalse(updateManager.destroyedFetcher());
570 564
571 // start_url redirects to page with Web Manifest. 565 // start_url redirects to page with Web Manifest.
572 566
573 ManifestData manifestData = defaultManifestData(); 567 ManifestData manifestData = defaultManifestData();
574 manifestData.name = DIFFERENT_NAME; 568 manifestData.name = DIFFERENT_NAME;
575 onGotManifestData(updateManager, manifestData); 569 onGotManifestData(updateManager, manifestData);
(...skipping 10 matching lines...) Expand all
586 * - The user eventually navigates to a page pointing to a Web Manifest with the correct URL. 580 * - The user eventually navigates to a page pointing to a Web Manifest with the correct URL.
587 * AND 581 * AND
588 * - The Web Manifest has not changed. 582 * - The Web Manifest has not changed.
589 */ 583 */
590 @Test 584 @Test
591 public void testStartUrlRedirectsToPageWithUnchangedWebManifest() { 585 public void testStartUrlRedirectsToPageWithUnchangedWebManifest() {
592 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL); 586 mClock.advance(WebApkUpdateManager.FULL_CHECK_UPDATE_INTERVAL);
593 587
594 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck); 588 TestWebApkUpdateManager updateManager = new TestWebApkUpdateManager(mClo ck);
595 updateIfNeeded(updateManager); 589 updateIfNeeded(updateManager);
596 onFinishedFetchingWebManifestForInitialUrl(updateManager, null); 590 updateManager.onWebManifestForInitialUrlNotWebApkCompatible();
597 onGotManifestData(updateManager, defaultManifestData()); 591 onGotManifestData(updateManager, defaultManifestData());
598 assertFalse(updateManager.updateRequested()); 592 assertFalse(updateManager.updateRequested());
599 593
600 // We got the Web Manifest. The {@link ManifestUpgradeDetector} should b e destroyed to stop 594 // We got the Web Manifest. The {@link ManifestUpgradeDetector} should b e destroyed to stop
601 // it from fetching the Web Manifest for subsequent page loads. 595 // it from fetching the Web Manifest for subsequent page loads.
602 assertTrue(updateManager.destroyedFetcher()); 596 assertTrue(updateManager.destroyedFetcher());
603 } 597 }
604 598
605 @Test 599 @Test
606 public void testManifestDoesNotUpgrade() { 600 public void testManifestDoesNotUpgrade() {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 700
707 ManifestData fetchedData = defaultManifestData(); 701 ManifestData fetchedData = defaultManifestData();
708 fetchedData.bestIconUrl = iconUrl2; 702 fetchedData.bestIconUrl = iconUrl2;
709 fetchedData.iconUrlToMurmur2HashMap.clear(); 703 fetchedData.iconUrlToMurmur2HashMap.clear();
710 fetchedData.iconUrlToMurmur2HashMap.put(iconUrl1, null); 704 fetchedData.iconUrlToMurmur2HashMap.put(iconUrl1, null);
711 fetchedData.iconUrlToMurmur2HashMap.put(iconUrl2, hash2); 705 fetchedData.iconUrlToMurmur2HashMap.put(iconUrl2, hash2);
712 706
713 assertFalse(checkUpdateNeededForFetchedManifest(oldData, fetchedData)); 707 assertFalse(checkUpdateNeededForFetchedManifest(oldData, fetchedData));
714 } 708 }
715 } 709 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698