| 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 /** @fileoverview Suite of tests for site-list. */ | 5 /** @fileoverview Suite of tests for site-list. */ |
| 6 cr.define('site_list', function() { | 6 cr.define('site_list', function() { |
| 7 function registerTests() { | 7 function registerTests() { |
| 8 suite('SiteList', function() { | 8 suite('SiteList', function() { |
| 9 /** | 9 /** |
| 10 * A site list element created before each test. | 10 * A site list element created before each test. |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 }); | 593 }); |
| 594 | 594 |
| 595 test('Block list open when Allow list is empty', function() { | 595 test('Block list open when Allow list is empty', function() { |
| 596 // Prefs: One item in Block list, nothing in Allow list. | 596 // Prefs: One item in Block list, nothing in Allow list. |
| 597 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 597 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 598 settings.PermissionValues.BLOCK, prefsOneDisabled); | 598 settings.PermissionValues.BLOCK, prefsOneDisabled); |
| 599 return browserProxy.whenCalled('getExceptionList').then( | 599 return browserProxy.whenCalled('getExceptionList').then( |
| 600 function(contentType) { | 600 function(contentType) { |
| 601 assertEquals( | 601 assertEquals( |
| 602 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 602 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 603 | |
| 604 assertFalse(testElement.$.category.hidden); | 603 assertFalse(testElement.$.category.hidden); |
| 605 assertTrue(testElement.$.category.opened); | |
| 606 }).then(function() { | 604 }).then(function() { |
| 607 assertNotEquals(0, testElement.$.listContainer.offsetHeight); | 605 assertNotEquals(0, testElement.$.listContainer.offsetHeight); |
| 608 }); | 606 }); |
| 609 }); | 607 }); |
| 610 | 608 |
| 611 test('Block list closed when Allow list is not empty', function() { | 609 test('Block list closed when Allow list is not empty', function() { |
| 612 // Prefs: Items in both Block and Allow list. | 610 // Prefs: Items in both Block and Allow list. |
| 613 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 611 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 614 settings.PermissionValues.BLOCK, prefs); | 612 settings.PermissionValues.BLOCK, prefs); |
| 615 return browserProxy.whenCalled('getExceptionList').then( | 613 return browserProxy.whenCalled('getExceptionList').then( |
| 616 function(contentType) { | 614 function(contentType) { |
| 617 assertEquals( | 615 assertEquals( |
| 618 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 616 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 619 | |
| 620 assertFalse(testElement.$.category.hidden); | 617 assertFalse(testElement.$.category.hidden); |
| 621 assertFalse(testElement.$.category.opened); | |
| 622 assertEquals(0, testElement.$.listContainer.offsetHeight); | 618 assertEquals(0, testElement.$.listContainer.offsetHeight); |
| 623 }); | 619 }); |
| 624 }); | 620 }); |
| 625 | 621 |
| 626 test('Allow list is always open (Block list empty)', function() { | 622 test('Allow list is always open (Block list empty)', function() { |
| 627 // Prefs: One item in Allow list, nothing in Block list. | 623 // Prefs: One item in Allow list, nothing in Block list. |
| 628 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 624 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 629 settings.PermissionValues.ALLOW, prefsOneEnabled); | 625 settings.PermissionValues.ALLOW, prefsOneEnabled); |
| 630 return browserProxy.whenCalled('getExceptionList').then( | 626 return browserProxy.whenCalled('getExceptionList').then( |
| 631 function(contentType) { | 627 function(contentType) { |
| 632 assertEquals( | 628 assertEquals( |
| 633 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 629 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 634 | 630 |
| 635 assertFalse(testElement.$.category.hidden); | 631 assertFalse(testElement.$.category.hidden); |
| 636 assertTrue(testElement.$.category.opened); | |
| 637 }).then(function() { | 632 }).then(function() { |
| 638 assertNotEquals(0, testElement.$.listContainer.offsetHeight); | 633 assertNotEquals(0, testElement.$.listContainer.offsetHeight); |
| 639 }); | 634 }); |
| 640 }); | 635 }); |
| 641 | 636 |
| 642 test('Allow list is always open (Block list non-empty)', function() { | 637 test('Allow list is always open (Block list non-empty)', function() { |
| 643 // Prefs: Items in both Block and Allow list. | 638 // Prefs: Items in both Block and Allow list. |
| 644 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 639 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 645 settings.PermissionValues.ALLOW, prefs); | 640 settings.PermissionValues.ALLOW, prefs); |
| 646 return browserProxy.whenCalled('getExceptionList').then( | 641 return browserProxy.whenCalled('getExceptionList').then( |
| 647 function(contentType) { | 642 function(contentType) { |
| 648 assertEquals( | 643 assertEquals( |
| 649 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 644 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 650 | |
| 651 assertFalse(testElement.$.category.hidden); | 645 assertFalse(testElement.$.category.hidden); |
| 652 assertTrue(testElement.$.category.opened); | |
| 653 }).then(function() { | 646 }).then(function() { |
| 654 assertNotEquals(0, testElement.$.listContainer.offsetHeight); | 647 assertNotEquals(0, testElement.$.listContainer.offsetHeight); |
| 655 }); | 648 }); |
| 656 }); | 649 }); |
| 657 | 650 |
| 658 test('Block list not hidden when empty', function() { | 651 test('Block list not hidden when empty', function() { |
| 659 // Prefs: One item in Allow list, nothing in Block list. | 652 // Prefs: One item in Allow list, nothing in Block list. |
| 660 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 653 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 661 settings.PermissionValues.BLOCK, prefsOneEnabled); | 654 settings.PermissionValues.BLOCK, prefsOneEnabled); |
| 662 return browserProxy.whenCalled('getExceptionList').then( | 655 return browserProxy.whenCalled('getExceptionList').then( |
| 663 function(contentType) { | 656 function(contentType) { |
| 664 assertEquals( | 657 assertEquals( |
| 665 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 658 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 666 | |
| 667 assertFalse(testElement.$.category.hidden); | 659 assertFalse(testElement.$.category.hidden); |
| 668 }); | 660 }); |
| 669 }); | 661 }); |
| 670 | 662 |
| 671 test('Allow list not hidden when empty', function() { | 663 test('Allow list not hidden when empty', function() { |
| 672 // Prefs: One item in Block list, nothing in Allow list. | 664 // Prefs: One item in Block list, nothing in Allow list. |
| 673 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, | 665 setupCategory(settings.ContentSettingsTypes.GEOLOCATION, |
| 674 settings.PermissionValues.ALLOW, prefsOneDisabled); | 666 settings.PermissionValues.ALLOW, prefsOneDisabled); |
| 675 return browserProxy.whenCalled('getExceptionList').then( | 667 return browserProxy.whenCalled('getExceptionList').then( |
| 676 function(contentType) { | 668 function(contentType) { |
| 677 assertEquals( | 669 assertEquals( |
| 678 settings.ContentSettingsTypes.GEOLOCATION, contentType); | 670 settings.ContentSettingsTypes.GEOLOCATION, contentType); |
| 679 | |
| 680 assertFalse(testElement.$.category.hidden); | 671 assertFalse(testElement.$.category.hidden); |
| 681 }); | 672 }); |
| 682 }); | 673 }); |
| 683 | 674 |
| 684 test('All sites category', function() { | 675 test('All sites category', function() { |
| 685 // Prefs: Multiple and overlapping sites. | 676 // Prefs: Multiple and overlapping sites. |
| 686 setupCategory(settings.ALL_SITES, '', prefsVarious); | 677 setupCategory(settings.ALL_SITES, '', prefsVarious); |
| 687 | 678 |
| 688 return browserProxy.whenCalled('getExceptionList').then( | 679 return browserProxy.whenCalled('getExceptionList').then( |
| 689 function(contentType) { | 680 function(contentType) { |
| 690 // Use resolver to ensure asserts bubble up to the framework with | 681 // Use resolver to ensure asserts bubble up to the framework with |
| 691 // meaningful errors. | 682 // meaningful errors. |
| 692 var resolver = new PromiseResolver(); | 683 var resolver = new PromiseResolver(); |
| 693 testElement.async(resolver.resolve); | 684 testElement.async(resolver.resolve); |
| 694 return resolver.promise.then(function() { | 685 return resolver.promise.then(function() { |
| 695 testElement.enableSiteSettings_ = true; | 686 testElement.enableSiteSettings_ = true; |
| 696 // All Sites calls getExceptionList for all categories, starting | 687 // All Sites calls getExceptionList for all categories, starting |
| 697 // with Cookies. | 688 // with Cookies. |
| 698 assertEquals( | 689 assertEquals( |
| 699 settings.ContentSettingsTypes.COOKIES, contentType); | 690 settings.ContentSettingsTypes.COOKIES, contentType); |
| 700 | 691 |
| 701 // Required for firstItem to be found below. | 692 // Required for firstItem to be found below. |
| 702 Polymer.dom.flush(); | 693 Polymer.dom.flush(); |
| 703 | 694 |
| 704 assertTrue(testElement.$.category.opened); | |
| 705 assertFalse(testElement.$.category.hidden); | 695 assertFalse(testElement.$.category.hidden); |
| 706 // Validate that the sites gets populated from pre-canned prefs. | 696 // Validate that the sites gets populated from pre-canned prefs. |
| 707 assertEquals(3, testElement.sites.length, | 697 assertEquals(3, testElement.sites.length, |
| 708 'If this fails with 5 instead of the expected 3, then ' + | 698 'If this fails with 5 instead of the expected 3, then ' + |
| 709 'the de-duping of sites is not working for site_list'); | 699 'the de-duping of sites is not working for site_list'); |
| 710 assertEquals(prefsVarious.exceptions.geolocation[1].origin, | 700 assertEquals(prefsVarious.exceptions.geolocation[1].origin, |
| 711 testElement.sites[0].origin); | 701 testElement.sites[0].origin); |
| 712 assertEquals(prefsVarious.exceptions.geolocation[0].origin, | 702 assertEquals(prefsVarious.exceptions.geolocation[0].origin, |
| 713 testElement.sites[1].origin); | 703 testElement.sites[1].origin); |
| 714 assertEquals(prefsVarious.exceptions.notifications[0].origin, | 704 assertEquals(prefsVarious.exceptions.notifications[0].origin, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 739 return resolver.promise.then(function() { | 729 return resolver.promise.then(function() { |
| 740 testElement.enableSiteSettings_ = true; | 730 testElement.enableSiteSettings_ = true; |
| 741 // All Sites calls getExceptionList for all categories, starting | 731 // All Sites calls getExceptionList for all categories, starting |
| 742 // with Cookies. | 732 // with Cookies. |
| 743 assertEquals( | 733 assertEquals( |
| 744 settings.ContentSettingsTypes.COOKIES, contentType); | 734 settings.ContentSettingsTypes.COOKIES, contentType); |
| 745 | 735 |
| 746 // Required for firstItem to be found below. | 736 // Required for firstItem to be found below. |
| 747 Polymer.dom.flush(); | 737 Polymer.dom.flush(); |
| 748 | 738 |
| 749 assertTrue(testElement.$.category.opened); | |
| 750 assertFalse(testElement.$.category.hidden); | 739 assertFalse(testElement.$.category.hidden); |
| 751 // Validate that the sites gets populated from pre-canned prefs. | 740 // Validate that the sites gets populated from pre-canned prefs. |
| 752 assertEquals(1, testElement.sites.length, | 741 assertEquals(1, testElement.sites.length, |
| 753 'If this fails with 2 instead of the expected 1, then ' + | 742 'If this fails with 2 instead of the expected 1, then ' + |
| 754 'the de-duping of sites is not working for site_list'); | 743 'the de-duping of sites is not working for site_list'); |
| 755 assertEquals( | 744 assertEquals( |
| 756 prefsMixedOriginAndPattern.exceptions.geolocation[0].origin, | 745 prefsMixedOriginAndPattern.exceptions.geolocation[0].origin, |
| 757 testElement.sites[0].originForDisplay); | 746 testElement.sites[0].originForDisplay); |
| 758 | 747 |
| 759 assertEquals(undefined, testElement.selectedOrigin); | 748 assertEquals(undefined, testElement.selectedOrigin); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 assertEquals(settings.ContentSettingsTypes.JAVASCRIPT, args[2]); | 803 assertEquals(settings.ContentSettingsTypes.JAVASCRIPT, args[2]); |
| 815 assertEquals('allow', args[3]); | 804 assertEquals('allow', args[3]); |
| 816 }); | 805 }); |
| 817 }); | 806 }); |
| 818 }); | 807 }); |
| 819 } | 808 } |
| 820 return { | 809 return { |
| 821 registerTests: registerTests, | 810 registerTests: registerTests, |
| 822 }; | 811 }; |
| 823 }); | 812 }); |
| OLD | NEW |