def test_get_values_with_default_section(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] [singapore] fruit = dragonfruit ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( { 'color': 'red', 'fruit': 'apple' }, c.get_values('default') ) self.assertEqual( { 'color': 'green', 'fruit': 'kiwi' }, c.get_values('new_zealand') ) self.assertEqual( { 'color': 'red', 'fruit': 'apple' }, c.get_values('antartica') ) self.assertEqual( { 'color': 'red', 'fruit': 'dragonfruit' }, c.get_values('singapore') ) self.assertEqual( { 'color': 'yellow', 'fruit': 'durian' }, c.get_values('indonesia') )
def test_has_values_with_default_section(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] [singapore] fruit = dragonfruit ''' c = config.load_from_text(text, '<unittest>') self.assertTrue( c.has_value('default', 'color') ) self.assertTrue( c.has_value('default', 'fruit') ) self.assertTrue( c.has_value('new_zealand', 'color') ) self.assertTrue( c.has_value('new_zealand', 'fruit') ) self.assertTrue( c.has_value('antartica', 'color') ) self.assertTrue( c.has_value('antartica', 'fruit') ) self.assertTrue( c.has_value('singapore', 'color') ) self.assertTrue( c.has_value('singapore', 'fruit') ) self.assertTrue( c.has_value('indonesia', 'color') ) self.assertTrue( c.has_value('indonesia', 'fruit') )
def test_change_version_quoted(self): c = config.load_from_text('[something]\nversion = 1.2.3\n', '<unittest>', string_quote_char = '"') self.assertEqual( '1.2.3', c.get_value('something', 'version') ) c.change_version('something', 'version', config.MAJOR, 9) self.assertEqual( '9.2.3', c.get_value('something', 'version') ) c.change_version('something', 'version', config.MINOR, 6) self.assertEqual( '9.6.3', c.get_value('something', 'version') ) c.change_version('something', 'version', config.REVISION, 8) self.assertEqual( '9.6.8', c.get_value('something', 'version') )
def test_bump_version_quoted(self): c = config.load_from_text('[something]\nversion = 1.2.3\n', '<unittest>', string_quote_char = '"') self.assertEqual( '1.2.3', c.get_value('something', 'version') ) c.bump_version('something', 'version', config.REVISION) self.assertEqual( '1.2.4', c.get_value('something', 'version') ) c.bump_version('something', 'version', config.MAJOR) self.assertEqual( '2.2.4', c.get_value('something', 'version') ) c.bump_version('something', 'version', config.MAJOR) self.assertEqual( '3.2.4', c.get_value('something', 'version') )
def test_comment_semicolon(self): text = '''\ [s1] foo = lemon bar = orange ; this is a comment ? baz = grape ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( 'lemon', c.get_value('s1', 'foo') ) self.assertEqual( 'orange', c.get_value('s1', 'bar') ) self.assertEqual( 'grape', c.get_value('s1', 'baz') )
def test_comment_semicolon_with_quotes(self): text = '''\ [s1] foo = "lemon" bar = "orange" ; this is a comment ? baz = "grape" ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertEqual( 'lemon', c.get_value('s1', 'foo') ) self.assertEqual( 'orange', c.get_value('s1', 'bar') ) self.assertEqual( 'grape', c.get_value('s1', 'baz') )
def test___str__(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' self.assertMultiLineEqual( text, str(config.load_from_text(text, '<unittest>')) )
def test_get_values_quoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertEqual( { 'color': 'red', 'fruit': 'apple' }, c.get_values('default') )
def test_get_values(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( { 'color': 'red', 'fruit': 'apple' }, c.get_values('default') )
def test_sections(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( [ 'default', 'new_zealand', 'indonesia', 'antartica' ], c.sections() )
def test_convert_unquoted_to_quoted(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertEqual( { 'default': { 'color': 'red', 'fruit': 'apple' }, 'new_zealand': { 'color': 'green', 'fruit': 'kiwi' }, 'indonesia': { 'color': 'yellow', 'fruit': 'durian' }, 'antartica': {'color': 'red', 'fruit': 'apple'}, }, c.to_dict() ) tmp = temp_file.make_temp_file() c.save(tmp, codec = 'utf-8') expected = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' self.assertMultiLineEqual( expected, file_util.read(tmp, codec = 'utf-8') )
def test_has_section(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertTrue( c.has_section('default') ) self.assertTrue( c.has_section('indonesia') ) self.assertFalse( c.has_section('pakistan') )
def test_save_quoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') tmp = temp_file.make_temp_file() c.save(tmp, codec = 'utf-8') self.assertMultiLineEqual( text, file_util.read(tmp, codec = 'utf-8') )
def test_save(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] ''' c = config.load_from_text(text, '<unittest>') tmp = temp_file.make_temp_file() c.save(tmp, codec = 'utf-8') self.assertMultiLineEqual( text, file_util.read(tmp, codec = 'utf-8') )
def test_has_value_quoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertTrue( c.has_value('default', 'color') ) self.assertTrue( c.has_value('default', 'fruit') ) self.assertFalse( c.has_value('default', 'notthere') )
def test_get_value_quoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertEqual( 'red', c.get_value('default', 'color') ) self.assertEqual( 'apple', c.get_value('default', 'fruit') ) with self.assertRaises(ValueError) as ctx: c.get_value('default', 'notthere')
def test_get_value(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( 'red', c.get_value('default', 'color') ) self.assertEqual( 'apple', c.get_value('default', 'fruit') ) with self.assertRaises(ValueError) as ctx: c.get_value('default', 'notthere')
def test_load_unquoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( { 'default': { 'color': '"red"', 'fruit': '"apple"' }, 'new_zealand': { 'color': '"green"', 'fruit': '"kiwi"' }, 'indonesia': { 'color': '"yellow"', 'fruit': '"durian"' }, 'antartica': {'color': '"red"', 'fruit': '"apple"'}, }, c.to_dict() )
def test_load(self): text = '''\ [default] color = red fruit = apple [new_zealand] color = green fruit = kiwi [indonesia] color = yellow fruit = durian [antartica] ''' c = config.load_from_text(text, '<unittest>') self.assertEqual( { 'default': { 'color': 'red', 'fruit': 'apple' }, 'new_zealand': { 'color': 'green', 'fruit': 'kiwi' }, 'indonesia': { 'color': 'yellow', 'fruit': 'durian' }, 'antartica': {'color': 'red', 'fruit': 'apple'}, }, c.to_dict() )
def test_load_quoted(self): text = '''\ [default] color = "red" fruit = "apple" [new_zealand] color = "green" fruit = "kiwi" [indonesia] color = "yellow" fruit = "durian" [antartica] ''' c = config.load_from_text(text, '<unittest>', string_quote_char = '"') self.assertEqual( { 'default': { 'color': 'red', 'fruit': 'apple' }, 'new_zealand': { 'color': 'green', 'fruit': 'kiwi' }, 'indonesia': { 'color': 'yellow', 'fruit': 'durian' }, 'antartica': {'color': 'red', 'fruit': 'apple'}, }, c.to_dict() )