Ejemplo n.º 1
0
def test_iniconfig_from_file(tmpdir):
    path = tmpdir / 'test.txt'
    path.write('[metadata]\nname=1')

    config = IniConfig(path=path)
    assert list(config.sections) == ['metadata']
    config = IniConfig(path, "[diff]")
    assert list(config.sections) == ['diff']
    py.test.raises(TypeError, "IniConfig(data=path.read())")
Ejemplo n.º 2
0
def test_iniconfig_lineof():
    config = IniConfig("x.ini", data=
        '[section]\n'
        'value = 1\n'
        '[section2]\n'
        '# comment\n'
        'value =2'
    )

    assert config.lineof('missing') is None
    assert config.lineof('section') == 1
    assert config.lineof('section2') == 3
    assert config.lineof('section', 'value') == 2
    assert config.lineof('section2','value') == 5

    assert config['section'].lineof('value') == 2
    assert config['section2'].lineof('value') == 5
Ejemplo n.º 3
0
def test_config_contains():
    config = IniConfig("x.ini",
                       data=dedent('''
          [section1]
          value=1
          [section2]
          value=2
    '''))
    assert 'xyz' not in config
    assert 'section1' in config
    assert 'section2' in config
Ejemplo n.º 4
0
def test_config_iter():
    config = IniConfig("x.ini",
                       data=dedent('''
          [section1]
          value=1
          [section2]
          value=2
    '''))
    l = list(config)
    assert len(l) == 2
    assert l[0].name == 'section1'
    assert l[0]['value'] == '1'
    assert l[1].name == 'section2'
    assert l[1]['value'] == '2'
Ejemplo n.º 5
0
def test_iter_file_order():
    config = IniConfig("x.ini",
                       data="""
[section2] #cpython dict ordered before section
value = 1
value2 = 2 # dict ordered before value
[section]
a = 1
b = 2
""")
    l = list(config)
    secnames = [x.name for x in l]
    assert secnames == ['section2', 'section']
    assert list(config['section2']) == ['value', 'value2']
    assert list(config['section']) == ['a', 'b']
Ejemplo n.º 6
0
def test_iniconfig_lineof():
    config = IniConfig("x.ini",
                       data='[section]\n'
                       'value = 1\n'
                       '[section2]\n'
                       '# comment\n'
                       'value =2')

    assert config.lineof('missing') is None
    assert config.lineof('section') == 1
    assert config.lineof('section2') == 3
    assert config.lineof('section', 'value') == 2
    assert config.lineof('section2', 'value') == 5

    assert config['section'].lineof('value') == 2
    assert config['section2'].lineof('value') == 5
Ejemplo n.º 7
0
def test_example_pypirc():
    config = IniConfig("pypirc",
                       data=dedent('''
        [distutils]
        index-servers =
            pypi
            other

        [pypi]
        repository: <repository-url>
        username: <username>
        password: <password>

        [other]
        repository: http://example.com/pypi
        username: <username>
        password: <password>
    '''))
    distutils, pypi, other = list(config)
    assert distutils["index-servers"] == "pypi\nother"
    assert pypi['repository'] == '<repository-url>'
    assert pypi['username'] == '<username>'
    assert pypi['password'] == '<password>'
    assert ['repository', 'username', 'password'] == list(other)
Ejemplo n.º 8
0
def test_iniconfig_get_missing():
    config= IniConfig("x", data='[section]\nint = 1\nfloat = 1.1')
    assert config.get('section', 'missing', default=1) == 1
    assert config.get('section', 'missing') is None
Ejemplo n.º 9
0
def test_iniconfig_get_convert():
    config= IniConfig("x", data='[section]\nint = 1\nfloat = 1.1')
    assert config.get('section', 'int') == '1'
    assert config.get('section', 'int', convert=int) == 1
Ejemplo n.º 10
0
def test_parse_empty():
    parsed = parse("")
    assert not parsed
    ini = IniConfig("sample", "")
    assert not ini.sections
Ejemplo n.º 11
0
def test_section_iter():
    config = IniConfig("x", data='[section]\nvalue=1')
    names = list(config['section'])
    assert names == ['value']
    items = list(config['section'].items())
    assert items == [('value', '1')]
Ejemplo n.º 12
0
def test_section_getitem():
    config = IniConfig("x", data='[section]\nvalue=1')
    assert config['section']['value'] == '1'
    assert config['section']['value'] == '1'
Ejemplo n.º 13
0
def test_missing_section():
    config = IniConfig("x", data='[section]\nvalue=1')
    py.test.raises(KeyError, 'config["other"]')
Ejemplo n.º 14
0
def test_section_get():
    config = IniConfig("x", data='[section]\nvalue=1')
    section = config['section']
    assert section.get('value', convert=int) == 1
    assert section.get('value', 1) == "1"
    assert section.get('missing', 2) == 2
Ejemplo n.º 15
0
def test_iniconfig_get_missing():
    config = IniConfig("x", data='[section]\nint = 1\nfloat = 1.1')
    assert config.get('section', 'missing', default=1) == 1
    assert config.get('section', 'missing') is None
Ejemplo n.º 16
0
def test_iniconfig_get_convert():
    config = IniConfig("x", data='[section]\nint = 1\nfloat = 1.1')
    assert config.get('section', 'int') == '1'
    assert config.get('section', 'int', convert=int) == 1