1261
1261
def test_get_global_config(self):
1262
1262
my_config = config.BranchConfig(FakeBranch('http://example.com'))
1263
1263
global_config = my_config._get_global_config()
1264
self.assertIsInstance(global_config, config.GlobalConfig)
1265
self.assertIs(global_config, my_config._get_global_config())
1267
def assertLocationMatching(self, expected):
1268
self.assertEqual(expected,
1269
list(self.my_location_config._get_matching_sections()))
1264
self.failUnless(isinstance(global_config, config.GlobalConfig))
1265
self.failUnless(global_config is my_config._get_global_config())
1271
1267
def test__get_matching_sections_no_match(self):
1272
1268
self.get_branch_config('/')
1273
self.assertLocationMatching([])
1269
self.assertEqual([], self.my_location_config._get_matching_sections())
1275
1271
def test__get_matching_sections_exact(self):
1276
1272
self.get_branch_config('http://www.example.com')
1277
self.assertLocationMatching([('http://www.example.com', '')])
1273
self.assertEqual([('http://www.example.com', '')],
1274
self.my_location_config._get_matching_sections())
1279
1276
def test__get_matching_sections_suffix_does_not(self):
1280
1277
self.get_branch_config('http://www.example.com-com')
1281
self.assertLocationMatching([])
1278
self.assertEqual([], self.my_location_config._get_matching_sections())
1283
1280
def test__get_matching_sections_subdir_recursive(self):
1284
1281
self.get_branch_config('http://www.example.com/com')
1285
self.assertLocationMatching([('http://www.example.com', 'com')])
1282
self.assertEqual([('http://www.example.com', 'com')],
1283
self.my_location_config._get_matching_sections())
1287
1285
def test__get_matching_sections_ignoreparent(self):
1288
1286
self.get_branch_config('http://www.example.com/ignoreparent')
1289
self.assertLocationMatching([('http://www.example.com/ignoreparent',
1287
self.assertEqual([('http://www.example.com/ignoreparent', '')],
1288
self.my_location_config._get_matching_sections())
1292
1290
def test__get_matching_sections_ignoreparent_subdir(self):
1293
1291
self.get_branch_config(
1294
1292
'http://www.example.com/ignoreparent/childbranch')
1295
self.assertLocationMatching([('http://www.example.com/ignoreparent',
1293
self.assertEqual([('http://www.example.com/ignoreparent',
1295
self.my_location_config._get_matching_sections())
1298
1297
def test__get_matching_sections_subdir_trailing_slash(self):
1299
1298
self.get_branch_config('/b')
1300
self.assertLocationMatching([('/b/', '')])
1299
self.assertEqual([('/b/', '')],
1300
self.my_location_config._get_matching_sections())
1302
1302
def test__get_matching_sections_subdir_child(self):
1303
1303
self.get_branch_config('/a/foo')
1304
self.assertLocationMatching([('/a/*', ''), ('/a/', 'foo')])
1304
self.assertEqual([('/a/*', ''), ('/a/', 'foo')],
1305
self.my_location_config._get_matching_sections())
1306
1307
def test__get_matching_sections_subdir_child_child(self):
1307
1308
self.get_branch_config('/a/foo/bar')
1308
self.assertLocationMatching([('/a/*', 'bar'), ('/a/', 'foo/bar')])
1309
self.assertEqual([('/a/*', 'bar'), ('/a/', 'foo/bar')],
1310
self.my_location_config._get_matching_sections())
1310
1312
def test__get_matching_sections_trailing_slash_with_children(self):
1311
1313
self.get_branch_config('/a/')
1312
self.assertLocationMatching([('/a/', '')])
1314
self.assertEqual([('/a/', '')],
1315
self.my_location_config._get_matching_sections())
1314
1317
def test__get_matching_sections_explicit_over_glob(self):
1315
1318
# XXX: 2006-09-08 jamesh
1317
1320
# was a config section for '/a/?', it would get precedence
1319
1322
self.get_branch_config('/a/c')
1320
self.assertLocationMatching([('/a/c', ''), ('/a/*', ''), ('/a/', 'c')])
1323
self.assertEqual([('/a/c', ''), ('/a/*', ''), ('/a/', 'c')],
1324
self.my_location_config._get_matching_sections())
1322
1326
def test__get_option_policy_normal(self):
1323
1327
self.get_branch_config('http://www.example.com')