Unverified Commit 64bdcfe2 authored by Sébastien Eustace's avatar Sébastien Eustace
Browse files

Fix toml module not updating content

parent e8c3d110
Loading
Loading
Loading
Loading
+4 −0
Changes for poetry/toml/cascadedict.py: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -32,6 +32,10 @@ class CascadeDict:
        raise KeyError

    def __setitem__(self, key, value):
        for d in self._internal_dicts[1:]:
            if key in d:
                d[key] = value

        self._internal_dicts[0][key] = value

    def get(self, item, default=None):
+25 −0
Changes for tests/toml/test_toml.py: 25 added lines, 0 removed lines.
Original line number Diff line number Diff line
from poetry.toml import dumps
from poetry.toml import loads

from poetry.toml.prettify.errors import TOMLError
@@ -262,3 +263,27 @@ last_name = "Springsteen"
def non_empty(iterable):
    return tuple(filter(bool, iterable))


def test_set_elements():
    t = """\
[tool.poetry]
name = "poetry"
version = "0.1.0"

[tool.poetry.dependencies]
python = "^3.6"   
"""
    parsed = loads(t)

    content = parsed['tool']['poetry']
    assert content['name'] == 'poetry'
    assert content['version'] == '0.1.0'

    content['version'] = '0.2.0'
    t = dumps(parsed)

    parsed = loads(t)

    content = parsed['tool']['poetry']
    assert content['name'] == 'poetry'
    assert content['version'] == '0.2.0'