コード例 #1
0
  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') )
コード例 #2
0
  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') )
コード例 #3
0
 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') )
コード例 #4
0
 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') )
コード例 #5
0
  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') )
コード例 #6
0
  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') )
コード例 #7
0
  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>')) )
コード例 #8
0
  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') )
コード例 #9
0
  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') )
コード例 #10
0
  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() )
コード例 #11
0
  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') )
コード例 #12
0
  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') )
コード例 #13
0
  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') )
コード例 #14
0
  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') )
コード例 #15
0
  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') )
コード例 #16
0
  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')
コード例 #17
0
  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')
コード例 #18
0
  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() )
コード例 #19
0
  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() )
コード例 #20
0
  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() )