Skip to content

Commit fc652d1

Browse files
committed
Fix appending inline tables to tables
1 parent 4636463 commit fc652d1

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Change Log
22

3+
## [Unreleased]
4+
5+
### Fixed
6+
7+
- Fixed appending inline tables to tables.
8+
9+
310
## [0.5.5] - 2019-07-01
411

512
### Fixed

tests/test_toml_document.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ def test_getting_inline_table_is_still_an_inline_table():
422422
name = "foo"
423423
424424
[tool.poetry.dependencies]
425+
[tool.poetry.dev-dependencies]
425426
"""
426427

427428
doc = parse(content)
@@ -430,7 +431,10 @@ def test_getting_inline_table_is_still_an_inline_table():
430431
dependencies["foo"] = tomlkit.inline_table()
431432
dependencies["foo"]["version"] = "^2.0"
432433
dependencies["foo"]["source"] = "local"
433-
doc["tool"]["poetry"] = poetry_section
434+
dependencies["bar"] = tomlkit.inline_table()
435+
dependencies["bar"]["version"] = "^3.0"
436+
dependencies["bar"]["source"] = "remote"
437+
# doc["tool"]["poetry"] = poetry_section
434438

435439
assert (
436440
"""\
@@ -439,6 +443,8 @@ def test_getting_inline_table_is_still_an_inline_table():
439443
440444
[tool.poetry.dependencies]
441445
foo = {version = "^2.0", source = "local"}
446+
bar = {version = "^3.0", source = "remote"}
447+
[tool.poetry.dev-dependencies]
442448
"""
443449
== doc.as_string()
444450
)

tomlkit/items.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,9 @@ def __setitem__(self, key, value): # type: (Union[Key, str], Any) -> None
10001000
if key is not None:
10011001
super(Table, self).__setitem__(key, value)
10021002

1003+
if self._value.last_item() is value and "\n" not in value.trivia.trail:
1004+
value.trivia.trail += "\n"
1005+
10031006
m = re.match("(?s)^[^ ]*([ ]+).*$", self._trivia.indent)
10041007
if not m:
10051008
return

0 commit comments

Comments
 (0)