fix: Add DottedKey to a super table gives wrong output (#431) (#435)

When a table is already a super table, appending dotted items to it will result in wrong behavior.
The header was missing, so the final result was an incorrect representation of the document.

Because super_table is already set and can no longer be re-evaluated,
I have added a check to the renderer instead, so that it can determine if the header should be rendered.

I have not gone through different edge cases, but it seems that all other tests are still passing.

Co-authored-by: deltamarnix <deltamarnix@users.noreply.github.com>
2 files changed
tree: 2ecc8cae505556d6c4e84e1d422f5b358151ca0f
  1. .github/
  2. docs/
  3. tests/
  4. tomlkit/
  5. .coveragerc
  6. .gitignore
  7. .gitmodules
  8. .pre-commit-config.yaml
  9. .readthedocs.yaml
  10. CHANGELOG.md
  11. LICENSE
  12. poetry.lock
  13. pyproject.toml
  14. README.md
  15. tox.ini
README.md

GitHub Release PyPI Version Python Versions License
Tests

TOML Kit - Style-preserving TOML library for Python

TOML Kit is a 1.0.0-compliant TOML library.

It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, and makes them accessible and editable via an intuitive API.

You can also create new TOML documents from scratch using the provided helpers.

Part of the implementation has been adapted, improved and fixed from Molten.

Usage

See the documentation for more information.

Installation

If you are using Poetry, add tomlkit to your pyproject.toml file by using:

poetry add tomlkit

If not, you can use pip:

pip install tomlkit

Running tests

Please clone the repo with submodules with the following command:

git clone --recurse-submodules https://github.com/python-poetry/tomlkit.git

The toml-test submodule is required for running the tests.

You can then run the tests with

poetry run pytest -q tests