##// END OF EJS Templates
test getattr / getitem behavior in Config...
MinRK -
Show More
@@ -31,11 +31,12 b' from IPython.testing.tools import mute_warn'
31
31
32 from IPython.config.loader import (
32 from IPython.config.loader import (
33 Config,
33 Config,
34 LazyConfigValue,
34 PyFileConfigLoader,
35 PyFileConfigLoader,
35 KeyValueConfigLoader,
36 KeyValueConfigLoader,
36 ArgParseConfigLoader,
37 ArgParseConfigLoader,
37 KVArgParseConfigLoader,
38 KVArgParseConfigLoader,
38 ConfigError
39 ConfigError,
39 )
40 )
40
41
41 #-----------------------------------------------------------------------------
42 #-----------------------------------------------------------------------------
@@ -207,14 +208,15 b' class TestConfig(TestCase):'
207
208
208 def test_auto_section(self):
209 def test_auto_section(self):
209 c = Config()
210 c = Config()
210 self.assertEqual('A' in c, True)
211 self.assertNotIn('A', c)
211 self.assertEqual(c._has_section('A'), False)
212 assert not c._has_section('A')
212 A = c.A
213 A = c.A
213 A.foo = 'hi there'
214 A.foo = 'hi there'
214 self.assertEqual(c._has_section('A'), True)
215 self.assertIn('A', c)
216 assert c._has_section('A')
215 self.assertEqual(c.A.foo, 'hi there')
217 self.assertEqual(c.A.foo, 'hi there')
216 del c.A
218 del c.A
217 self.assertEqual(len(c.A.keys()),0)
219 self.assertEqual(c.A, Config())
218
220
219 def test_merge_doesnt_exist(self):
221 def test_merge_doesnt_exist(self):
220 c1 = Config()
222 c1 = Config()
@@ -294,4 +296,32 b' class TestConfig(TestCase):'
294 pcfg = pickle.dumps(cfg)
296 pcfg = pickle.dumps(cfg)
295 cfg2 = pickle.loads(pcfg)
297 cfg2 = pickle.loads(pcfg)
296 self.assertEqual(cfg2, cfg)
298 self.assertEqual(cfg2, cfg)
299
300 def test_getattr_section(self):
301 cfg = Config()
302 self.assertNotIn('Foo', cfg)
303 Foo = cfg.Foo
304 assert isinstance(Foo, Config)
305 self.assertIn('Foo', cfg)
306
307 def test_getitem_section(self):
308 cfg = Config()
309 self.assertNotIn('Foo', cfg)
310 Foo = cfg['Foo']
311 assert isinstance(Foo, Config)
312 self.assertIn('Foo', cfg)
313
314 def test_getattr_not_section(self):
315 cfg = Config()
316 self.assertNotIn('foo', cfg)
317 foo = cfg.foo
318 assert isinstance(foo, LazyConfigValue)
319 self.assertIn('foo', cfg)
320
321 def test_getitem_not_section(self):
322 cfg = Config()
323 self.assertNotIn('foo', cfg)
324 foo = cfg['foo']
325 assert isinstance(foo, LazyConfigValue)
326 self.assertIn('foo', cfg)
297
327
General Comments 0
You need to be logged in to leave comments. Login now