| OLD | NEW |
| 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 suite('route', function() { | 5 suite('route', function() { |
| 6 test('tree structure', function() { | 6 test('tree structure', function() { |
| 7 // Set up root page routes. | 7 // Set up root page routes. |
| 8 var BASIC = new settings.Route('/'); | 8 var BASIC = new settings.Route('/'); |
| 9 assertEquals(0, BASIC.depth); |
| 10 |
| 9 var ADVANCED = new settings.Route('/advanced'); | 11 var ADVANCED = new settings.Route('/advanced'); |
| 10 assertFalse(ADVANCED.isSubpage()); | 12 assertFalse(ADVANCED.isSubpage()); |
| 13 assertEquals(0, ADVANCED.depth); |
| 11 | 14 |
| 12 // Test a section route. | 15 // Test a section route. |
| 13 var PRIVACY = ADVANCED.createChild('/privacy'); | 16 var PRIVACY = ADVANCED.createSection('/privacy', 'privacy'); |
| 14 PRIVACY.section = 'privacy'; | |
| 15 assertEquals(ADVANCED, PRIVACY.parent); | 17 assertEquals(ADVANCED, PRIVACY.parent); |
| 18 assertEquals(1, PRIVACY.depth); |
| 16 assertFalse(PRIVACY.isSubpage()); | 19 assertFalse(PRIVACY.isSubpage()); |
| 17 assertFalse(BASIC.contains(PRIVACY)); | 20 assertFalse(BASIC.contains(PRIVACY)); |
| 18 assertTrue(ADVANCED.contains(PRIVACY)); | 21 assertTrue(ADVANCED.contains(PRIVACY)); |
| 19 assertTrue(PRIVACY.contains(PRIVACY)); | 22 assertTrue(PRIVACY.contains(PRIVACY)); |
| 20 assertFalse(PRIVACY.contains(ADVANCED)); | 23 assertFalse(PRIVACY.contains(ADVANCED)); |
| 21 | 24 |
| 22 // Test a subpage route. | 25 // Test a subpage route. |
| 23 var SITE_SETTINGS = PRIVACY.createChild('/siteSettings'); | 26 var SITE_SETTINGS = PRIVACY.createChild('/siteSettings'); |
| 24 assertEquals('/siteSettings', SITE_SETTINGS.path); | 27 assertEquals('/siteSettings', SITE_SETTINGS.path); |
| 25 assertEquals(PRIVACY, SITE_SETTINGS.parent); | 28 assertEquals(PRIVACY, SITE_SETTINGS.parent); |
| 29 assertEquals(2, SITE_SETTINGS.depth); |
| 26 assertFalse(!!SITE_SETTINGS.dialog); | 30 assertFalse(!!SITE_SETTINGS.dialog); |
| 27 assertTrue(SITE_SETTINGS.isSubpage()); | 31 assertTrue(SITE_SETTINGS.isSubpage()); |
| 28 assertEquals('privacy', SITE_SETTINGS.section); | 32 assertEquals('privacy', SITE_SETTINGS.section); |
| 29 assertFalse(BASIC.contains(SITE_SETTINGS)); | 33 assertFalse(BASIC.contains(SITE_SETTINGS)); |
| 30 assertTrue(ADVANCED.contains(SITE_SETTINGS)); | 34 assertTrue(ADVANCED.contains(SITE_SETTINGS)); |
| 31 assertTrue(PRIVACY.contains(SITE_SETTINGS)); | 35 assertTrue(PRIVACY.contains(SITE_SETTINGS)); |
| 32 | 36 |
| 33 // Test a sub-subpage route. | 37 // Test a sub-subpage route. |
| 34 var SITE_SETTINGS_ALL = SITE_SETTINGS.createChild('all'); | 38 var SITE_SETTINGS_ALL = SITE_SETTINGS.createChild('all'); |
| 35 assertEquals('/siteSettings/all', SITE_SETTINGS_ALL.path); | 39 assertEquals('/siteSettings/all', SITE_SETTINGS_ALL.path); |
| 36 assertEquals(SITE_SETTINGS, SITE_SETTINGS_ALL.parent); | 40 assertEquals(SITE_SETTINGS, SITE_SETTINGS_ALL.parent); |
| 41 assertEquals(3, SITE_SETTINGS_ALL.depth); |
| 37 assertTrue(SITE_SETTINGS_ALL.isSubpage()); | 42 assertTrue(SITE_SETTINGS_ALL.isSubpage()); |
| 38 }); | 43 }); |
| 39 | 44 |
| 40 test('no duplicate routes', function() { | 45 test('no duplicate routes', function() { |
| 41 var paths = new Set(); | 46 var paths = new Set(); |
| 42 Object.values(settings.Route).forEach(function(route) { | 47 Object.values(settings.Route).forEach(function(route) { |
| 43 assertFalse(paths.has(route.path), route.path); | 48 assertFalse(paths.has(route.path), route.path); |
| 44 paths.add(route.path); | 49 paths.add(route.path); |
| 45 }); | 50 }); |
| 46 }); | 51 }); |
| 47 }); | 52 }); |
| OLD | NEW |