djlint 1.30.0 → 1.30.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/.coveragerc +0 -9
- package/.editorconfig +0 -21
- package/.flake8 +0 -0
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/config.yml +0 -6
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
- package/.github/ISSUE_TEMPLATE/formatter_but_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/linter_bug_report.md +0 -34
- package/.github/ISSUE_TEMPLATE/translation.md +0 -14
- package/.github/config.yml +0 -4
- package/.github/pull_request_template.md +0 -10
- package/.github/workflows/cancel.yml +0 -17
- package/.github/workflows/demo.yml +0 -98
- package/.github/workflows/issues.yml +0 -23
- package/.github/workflows/linkcheck.yaml +0 -21
- package/.github/workflows/lint.yml +0 -25
- package/.github/workflows/release.yml +0 -57
- package/.github/workflows/test.yml +0 -85
- package/.pre-commit-config.yaml +0 -45
- package/.pre-commit-hooks.yaml +0 -71
- package/.prettierignore +0 -7
- package/.prettierrc +0 -11
- package/.releaserc +0 -16
- package/CHANGELOG.md +0 -13
- package/MANIFEST.in +0 -2
- package/build_demo.sh +0 -17
- package/docs/.eleventy.js +0 -425
- package/docs/.eleventyignore +0 -2
- package/docs/.prettierignore +0 -3
- package/docs/.prettierrc +0 -11
- package/docs/package.json +0 -73
- package/docs/readme.md +0 -17
- package/docs/src/_data/configuration.json +0 -646
- package/docs/src/_data/eleventyComputed.js +0 -22
- package/docs/src/_data/i18n/index.js +0 -159
- package/docs/src/_data/js.js +0 -7
- package/docs/src/_data/locales.js +0 -17
- package/docs/src/_data/site.json +0 -8
- package/docs/src/_includes/demo.njk +0 -157
- package/docs/src/_includes/docs_layout.njk +0 -34
- package/docs/src/_includes/foot.njk +0 -26
- package/docs/src/_includes/index.njk +0 -187
- package/docs/src/_includes/languages_layout.njk +0 -11
- package/docs/src/_includes/layout.njk +0 -111
- package/docs/src/_includes/nav.njk +0 -85
- package/docs/src/_utils/minify-html.js +0 -14
- package/docs/src/_utils/rollupper.js +0 -91
- package/docs/src/_utils/scripts.11ty.js +0 -27
- package/docs/src/demo.njk +0 -4
- package/docs/src/docs/best-practices.md +0 -78
- package/docs/src/docs/changelog.md +0 -452
- package/docs/src/docs/configuration.md +0 -145
- package/docs/src/docs/docs.json +0 -4
- package/docs/src/docs/formatter.md +0 -82
- package/docs/src/docs/getting-started.md +0 -126
- package/docs/src/docs/ignoring-code.md +0 -75
- package/docs/src/docs/integrations.md +0 -120
- package/docs/src/docs/languages/angular.md +0 -31
- package/docs/src/docs/languages/django.md +0 -40
- package/docs/src/docs/languages/golang.md +0 -31
- package/docs/src/docs/languages/handlebars.md +0 -31
- package/docs/src/docs/languages/jinja.md +0 -39
- package/docs/src/docs/languages/languages.json +0 -3
- package/docs/src/docs/languages/mustache.md +0 -31
- package/docs/src/docs/languages/nunjucks.md +0 -39
- package/docs/src/docs/languages/twig.md +0 -41
- package/docs/src/docs/linter.md +0 -199
- package/docs/src/fr/demo.njk +0 -4
- package/docs/src/fr/docs/best-practices.md +0 -78
- package/docs/src/fr/docs/changelog.md +0 -452
- package/docs/src/fr/docs/configuration.md +0 -144
- package/docs/src/fr/docs/docs.json +0 -3
- package/docs/src/fr/docs/formatter.md +0 -83
- package/docs/src/fr/docs/getting-started.md +0 -127
- package/docs/src/fr/docs/ignoring-code.md +0 -75
- package/docs/src/fr/docs/integrations.md +0 -100
- package/docs/src/fr/docs/languages/angular.md +0 -31
- package/docs/src/fr/docs/languages/django.md +0 -31
- package/docs/src/fr/docs/languages/golang.md +0 -31
- package/docs/src/fr/docs/languages/handlebars.md +0 -31
- package/docs/src/fr/docs/languages/jinja.md +0 -31
- package/docs/src/fr/docs/languages/languages.json +0 -3
- package/docs/src/fr/docs/languages/mustache.md +0 -31
- package/docs/src/fr/docs/languages/nunjucks.md +0 -31
- package/docs/src/fr/docs/languages/twig.md +0 -31
- package/docs/src/fr/docs/linter.md +0 -207
- package/docs/src/fr/fr.json +0 -4
- package/docs/src/fr/index.njk +0 -4
- package/docs/src/index.njk +0 -4
- package/docs/src/lib/generate-content-hash.js +0 -13
- package/docs/src/robots.txt +0 -4
- package/docs/src/ru/demo.njk +0 -4
- package/docs/src/ru/docs/best-practices.md +0 -78
- package/docs/src/ru/docs/changelog.md +0 -453
- package/docs/src/ru/docs/configuration.md +0 -142
- package/docs/src/ru/docs/docs.json +0 -3
- package/docs/src/ru/docs/formatter.md +0 -82
- package/docs/src/ru/docs/getting-started.md +0 -127
- package/docs/src/ru/docs/ignoring-code.md +0 -75
- package/docs/src/ru/docs/integrations.md +0 -100
- package/docs/src/ru/docs/languages/angular.md +0 -31
- package/docs/src/ru/docs/languages/django.md +0 -31
- package/docs/src/ru/docs/languages/golang.md +0 -31
- package/docs/src/ru/docs/languages/handlebars.md +0 -31
- package/docs/src/ru/docs/languages/jinja.md +0 -31
- package/docs/src/ru/docs/languages/languages.json +0 -3
- package/docs/src/ru/docs/languages/mustache.md +0 -31
- package/docs/src/ru/docs/languages/nunjucks.md +0 -31
- package/docs/src/ru/docs/languages/twig.md +0 -31
- package/docs/src/ru/docs/linter.md +0 -126
- package/docs/src/ru/index.njk +0 -4
- package/docs/src/ru/ru.json +0 -4
- package/docs/src/sitemap.njk +0 -16
- package/docs/src/static/css/site.scss +0 -467
- package/docs/src/static/font/fontawesome/stylesheet.scss +0 -78
- package/docs/src/static/img/apple-touch-icon.png +0 -0
- package/docs/src/static/img/demo-min.gif +0 -0
- package/docs/src/static/img/demo.gif +0 -0
- package/docs/src/static/img/demo.webm +0 -0
- package/docs/src/static/img/favicon-16x16.png +0 -0
- package/docs/src/static/img/favicon-32x32.png +0 -0
- package/docs/src/static/img/favicon.ico +0 -0
- package/docs/src/static/img/icon-square.indd +0 -0
- package/docs/src/static/img/icon-square.png +0 -0
- package/docs/src/static/img/icon.png +0 -0
- package/docs/src/static/img/logo-192x192.png +0 -0
- package/docs/src/static/img/logo-512x512.png +0 -0
- package/docs/src/static/img/logos/angular.png +0 -0
- package/docs/src/static/img/logos/django.png +0 -0
- package/docs/src/static/img/logos/golang.png +0 -0
- package/docs/src/static/img/logos/handlebars.png +0 -0
- package/docs/src/static/img/logos/jinja.png +0 -0
- package/docs/src/static/img/logos/mustache.png +0 -0
- package/docs/src/static/img/logos/nunjucks.png +0 -0
- package/docs/src/static/img/logos/twig.png +0 -0
- package/docs/src/static/img/old_demo.gif +0 -0
- package/docs/src/static/img/style.css +0 -122
- package/docs/src/static/js/animate.js +0 -69
- package/docs/src/static/js/editor.js +0 -171
- package/docs/src/static/js/hamburger.js +0 -19
- package/docs/src/static/js/modal.js +0 -47
- package/docs/src/static/js/worker.js +0 -142
- package/docs/src/static/py/EditorConfig-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/PyYAML-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/click-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/colorama-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/cssbeautifier-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/djlint-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/html_tag_names-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/html_void_elements-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/jsbeautifier-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/json5-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/pathspec-99-py3-none-any.whl +0 -0
- package/docs/src/static/py/regex-2023.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl +0 -0
- package/docs/src/static/py/six-1.16.0-py2.py3-none-any.whl +0 -0
- package/docs/src/static/py/tomli-2.0.1-py3-none-any.whl +0 -0
- package/docs/src/static/py/tqdm-4.65.0-py3-none-any.whl +0 -0
- package/icon.xcf +0 -0
- package/poetry.lock +0 -835
- package/pyproject.toml +0 -100
- package/renovate.json +0 -44
- package/scripts/updateVersion.js +0 -16
- package/src/djlint/__init__.py +0 -451
- package/src/djlint/__main__.py +0 -4
- package/src/djlint/formatter/__init__.py +0 -1
- package/src/djlint/formatter/attributes.py +0 -212
- package/src/djlint/formatter/compress.py +0 -64
- package/src/djlint/formatter/condense.py +0 -221
- package/src/djlint/formatter/css.py +0 -60
- package/src/djlint/formatter/expand.py +0 -111
- package/src/djlint/formatter/indent.py +0 -418
- package/src/djlint/formatter/js.py +0 -58
- package/src/djlint/helpers.py +0 -321
- package/src/djlint/lint.py +0 -128
- package/src/djlint/output.py +0 -220
- package/src/djlint/reformat.py +0 -63
- package/src/djlint/rules/H025.py +0 -65
- package/src/djlint/rules.yaml +0 -279
- package/src/djlint/settings.py +0 -969
- package/src/djlint/src.py +0 -91
- package/tests/__init__.py +0 -0
- package/tests/conftest.py +0 -239
- package/tests/test_cli.py +0 -71
- package/tests/test_config/__init__.py +0 -0
- package/tests/test_config/test_blank_line_after_tag.py +0 -135
- package/tests/test_config/test_blank_line_before_tag.py +0 -141
- package/tests/test_config/test_close_void_tags.py +0 -31
- package/tests/test_config/test_custom_blocks.py +0 -56
- package/tests/test_config/test_custom_html.py +0 -45
- package/tests/test_config/test_djlintrc/.djlintrc +0 -38
- package/tests/test_config/test_djlintrc/__init__.py +0 -0
- package/tests/test_config/test_djlintrc/test_config.py +0 -44
- package/tests/test_config/test_djlintrc_custom/.djlint-cust +0 -38
- package/tests/test_config/test_djlintrc_custom/.djlintrc +0 -2
- package/tests/test_config/test_djlintrc_custom/__init__.py +0 -0
- package/tests/test_config/test_djlintrc_custom/test_config.py +0 -48
- package/tests/test_config/test_excludes/__init__.py +0 -0
- package/tests/test_config/test_excludes/excluded.html +0 -1
- package/tests/test_config/test_excludes/foo/excluded.html +0 -1
- package/tests/test_config/test_excludes/html.html +0 -1
- package/tests/test_config/test_excludes/pyproject.toml +0 -3
- package/tests/test_config/test_excludes/test_config.py +0 -30
- package/tests/test_config/test_extension/__init__.py +0 -0
- package/tests/test_config/test_extension/html.test +0 -1
- package/tests/test_config/test_extension/pyproject.toml +0 -3
- package/tests/test_config/test_extension/test_config.py +0 -27
- package/tests/test_config/test_files/.djlintrc_global +0 -9
- package/tests/test_config/test_files/test.html +0 -3
- package/tests/test_config/test_files/test_config.py +0 -123
- package/tests/test_config/test_files/test_two.html +0 -1
- package/tests/test_config/test_format_attribute_template_tags.py +0 -280
- package/tests/test_config/test_format_css.py +0 -197
- package/tests/test_config/test_format_js.py +0 -220
- package/tests/test_config/test_gitignore/__init__.py +0 -0
- package/tests/test_config/test_gitignore/html_one.html +0 -1
- package/tests/test_config/test_gitignore/html_two.html +0 -1
- package/tests/test_config/test_gitignore/test_config.py +0 -142
- package/tests/test_config/test_ignore/__init__.py +0 -0
- package/tests/test_config/test_ignore/html.html +0 -1
- package/tests/test_config/test_ignore/html_two.html +0 -12
- package/tests/test_config/test_ignore/pyproject.toml +0 -3
- package/tests/test_config/test_ignore/test_config.py +0 -32
- package/tests/test_config/test_ignore_blocks.py +0 -45
- package/tests/test_config/test_ignore_case.py +0 -39
- package/tests/test_config/test_indent.py +0 -63
- package/tests/test_config/test_linter_output_format/__init__.py +0 -0
- package/tests/test_config/test_linter_output_format/html-one.html +0 -1
- package/tests/test_config/test_linter_output_format/html-two.html +0 -1
- package/tests/test_config/test_linter_output_format/pyproject.toml +0 -3
- package/tests/test_config/test_linter_output_format/test_config.py +0 -34
- package/tests/test_config/test_max_attribute_length.py +0 -100
- package/tests/test_config/test_max_line_length.py +0 -94
- package/tests/test_config/test_per_file_ignores/__init__.py +0 -0
- package/tests/test_config/test_per_file_ignores/html.html +0 -2
- package/tests/test_config/test_per_file_ignores/pyproject.toml +0 -2
- package/tests/test_config/test_per_file_ignores/test_config.py +0 -25
- package/tests/test_config/test_pragmas/__init__.py +0 -0
- package/tests/test_config/test_pragmas/html_five.html +0 -2
- package/tests/test_config/test_pragmas/html_four.html +0 -5
- package/tests/test_config/test_pragmas/html_one.html +0 -1
- package/tests/test_config/test_pragmas/html_six.html +0 -2
- package/tests/test_config/test_pragmas/html_three.html +0 -4
- package/tests/test_config/test_pragmas/html_two.html +0 -2
- package/tests/test_config/test_pragmas/pyproject.toml +0 -3
- package/tests/test_config/test_pragmas/test_config.py +0 -142
- package/tests/test_config/test_preserve_blank_lines.py +0 -109
- package/tests/test_config/test_preserve_leading_space.py +0 -159
- package/tests/test_config/test_profile/__init__.py +0 -0
- package/tests/test_config/test_profile/html.html +0 -2
- package/tests/test_config/test_profile/pyproject.toml +0 -3
- package/tests/test_config/test_profile/test_config.py +0 -64
- package/tests/test_config/test_pyproject/__init__.py +0 -0
- package/tests/test_config/test_pyproject/blank.html +0 -0
- package/tests/test_config/test_pyproject/pyproject.toml +0 -36
- package/tests/test_config/test_pyproject/test_config.py +0 -44
- package/tests/test_django/__init__.py +0 -0
- package/tests/test_django/test_asset.py +0 -32
- package/tests/test_django/test_autoescape.py +0 -25
- package/tests/test_django/test_block.py +0 -29
- package/tests/test_django/test_blocktrans.py +0 -236
- package/tests/test_django/test_blocktrans_trimmed.py +0 -283
- package/tests/test_django/test_comments.py +0 -164
- package/tests/test_django/test_filter.py +0 -30
- package/tests/test_django/test_for.py +0 -34
- package/tests/test_django/test_if.py +0 -34
- package/tests/test_django/test_ifchanged.py +0 -37
- package/tests/test_django/test_include.py +0 -24
- package/tests/test_django/test_load.py +0 -24
- package/tests/test_django/test_quoted.py +0 -34
- package/tests/test_django/test_spaceless.py +0 -30
- package/tests/test_django/test_tag_spaces.py +0 -35
- package/tests/test_django/test_templatetag.py +0 -40
- package/tests/test_django/test_verbatim.py +0 -24
- package/tests/test_django/test_with.py +0 -32
- package/tests/test_djlint/-.html +0 -1
- package/tests/test_djlint/__init__.py +0 -0
- package/tests/test_djlint/bad.html +0 -6
- package/tests/test_djlint/bad.html.dj +0 -23
- package/tests/test_djlint/bad.html.dj2 +0 -2
- package/tests/test_djlint/multiple_files/a/a.html +0 -1
- package/tests/test_djlint/multiple_files/b/b1.html +0 -1
- package/tests/test_djlint/multiple_files/b/b2.html +0 -1
- package/tests/test_djlint/test_djlint.py +0 -242
- package/tests/test_golang/__init__.py +0 -0
- package/tests/test_golang/test_if.py +0 -24
- package/tests/test_golang/test_range.py +0 -24
- package/tests/test_handlebars/__init__.py +0 -0
- package/tests/test_handlebars/test_each.py +0 -34
- package/tests/test_handlebars/test_else.py +0 -24
- package/tests/test_handlebars/test_with.py +0 -24
- package/tests/test_html/__init__.py +0 -0
- package/tests/test_html/test_alpinejs.py +0 -65
- package/tests/test_html/test_attributes.py +0 -935
- package/tests/test_html/test_aurelia.py +0 -24
- package/tests/test_html/test_basics.py +0 -905
- package/tests/test_html/test_bracket_same_line.py +0 -177
- package/tests/test_html/test_case.py +0 -81
- package/tests/test_html/test_cdata.py +0 -34
- package/tests/test_html/test_comments.py +0 -333
- package/tests/test_html/test_css.py +0 -193
- package/tests/test_html/test_doctype_declarations.py +0 -202
- package/tests/test_html/test_ignored.py +0 -193
- package/tests/test_html/test_interpolation.py +0 -56
- package/tests/test_html/test_line_break_after_multiline_tag.py +0 -95
- package/tests/test_html/test_next_line_empty.py +0 -53
- package/tests/test_html/test_selfclosing.py +0 -55
- package/tests/test_html/test_single_attribute_per_line.py +0 -87
- package/tests/test_html/test_srcset.py +0 -43
- package/tests/test_html/test_svg.py +0 -104
- package/tests/test_html/test_symbol_entities.py +0 -34
- package/tests/test_html/test_tag_code.py +0 -24
- package/tests/test_html/test_tag_dd.py +0 -24
- package/tests/test_html/test_tag_details_summary.py +0 -24
- package/tests/test_html/test_tag_dt.py +0 -24
- package/tests/test_html/test_tag_fig_caption.py +0 -29
- package/tests/test_html/test_tag_hr.py +0 -29
- package/tests/test_html/test_tag_picture.py +0 -32
- package/tests/test_html/test_tag_pre.py +0 -45
- package/tests/test_html/test_tag_script.py +0 -516
- package/tests/test_html/test_tag_small.py +0 -24
- package/tests/test_html/test_tag_span.py +0 -119
- package/tests/test_html/test_tag_textarea.py +0 -82
- package/tests/test_html/test_tags.py +0 -842
- package/tests/test_html/test_text.py +0 -34
- package/tests/test_html/test_whitespace.py +0 -477
- package/tests/test_html/test_yaml.py +0 -156
- package/tests/test_jinja/__init__.py +0 -0
- package/tests/test_jinja/test_call.py +0 -34
- package/tests/test_jinja/test_parenthesis.py +0 -24
- package/tests/test_linter/__init__.py +0 -0
- package/tests/test_linter/test_custom_rules/.djlint_rules.yaml +0 -6
- package/tests/test_linter/test_custom_rules/__init__.py +0 -0
- package/tests/test_linter/test_custom_rules/html.html +0 -1
- package/tests/test_linter/test_custom_rules/pyproject.toml +0 -1
- package/tests/test_linter/test_custom_rules/test_linter.py +0 -29
- package/tests/test_linter/test_custom_rules_bad/.djlint_rules.yaml +0 -24
- package/tests/test_linter/test_custom_rules_bad/__init__.py +0 -0
- package/tests/test_linter/test_custom_rules_bad/html.html +0 -1
- package/tests/test_linter/test_custom_rules_bad/pyproject.toml +0 -1
- package/tests/test_linter/test_custom_rules_bad/test_linter.py +0 -29
- package/tests/test_linter/test_django_linter.py +0 -476
- package/tests/test_linter/test_h005.py +0 -45
- package/tests/test_linter/test_h006.py +0 -81
- package/tests/test_linter/test_h007.py +0 -45
- package/tests/test_linter/test_h008.py +0 -60
- package/tests/test_linter/test_h009.py +0 -45
- package/tests/test_linter/test_h010.py +0 -44
- package/tests/test_linter/test_h037.py +0 -150
- package/tests/test_linter/test_ignore_rules.py +0 -45
- package/tests/test_linter/test_jinja_linter.py +0 -227
- package/tests/test_linter/test_linter.py +0 -691
- package/tests/test_linter/test_nunjucks_linter.py +0 -59
- package/tests/test_linter/test_python_module_rules/.djlint_rules.yaml +0 -4
- package/tests/test_linter/test_python_module_rules/__init__.py +0 -0
- package/tests/test_linter/test_python_module_rules/html_bad.html +0 -3
- package/tests/test_linter/test_python_module_rules/html_ok.html +0 -3
- package/tests/test_linter/test_python_module_rules/my_module.py +0 -32
- package/tests/test_linter/test_python_module_rules/pyproject.toml +0 -1
- package/tests/test_linter/test_python_module_rules/test_linter.py +0 -26
- package/tests/test_nunjucks/__init__.py +0 -0
- package/tests/test_nunjucks/test_functions.py +0 -94
- package/tests/test_nunjucks/test_macros.py +0 -41
- package/tests/test_nunjucks/test_set.py +0 -206
- package/tests/test_nunjucks/test_spaceless.py +0 -24
- package/tests/test_twig/__init__.py +0 -0
- package/tests/test_twig/test_comments.py +0 -51
- package/tox.ini +0 -48
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"""Tests html details/summary tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_details_summary.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import config_builder, printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
'<div attribute="value" attributea="value" attributeb="value" attributec="value" attributed="value" attributef="value">string</div>\n'
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
'<div attribute="value"\n'
|
|
17
|
-
' attributea="value"\n'
|
|
18
|
-
' attributeb="value"\n'
|
|
19
|
-
' attributec="value"\n'
|
|
20
|
-
' attributed="value"\n'
|
|
21
|
-
' attributef="value">string</div>\n'
|
|
22
|
-
),
|
|
23
|
-
({}),
|
|
24
|
-
id="no_line_break_after_multiline_tag",
|
|
25
|
-
),
|
|
26
|
-
pytest.param(
|
|
27
|
-
(
|
|
28
|
-
'<div attribute="value"\n'
|
|
29
|
-
' attributea="value"\n'
|
|
30
|
-
' attributeb="value"\n'
|
|
31
|
-
' attributec="value"\n'
|
|
32
|
-
' attributed="value"\n'
|
|
33
|
-
' attributef="value">\n'
|
|
34
|
-
" string\n"
|
|
35
|
-
"</div>\n"
|
|
36
|
-
),
|
|
37
|
-
(
|
|
38
|
-
'<div attribute="value"\n'
|
|
39
|
-
' attributea="value"\n'
|
|
40
|
-
' attributeb="value"\n'
|
|
41
|
-
' attributec="value"\n'
|
|
42
|
-
' attributed="value"\n'
|
|
43
|
-
' attributef="value">string</div>\n'
|
|
44
|
-
),
|
|
45
|
-
({}),
|
|
46
|
-
id="no_line_break_after_multiline_tag_when_already_split",
|
|
47
|
-
),
|
|
48
|
-
pytest.param(
|
|
49
|
-
(
|
|
50
|
-
'<div attribute="value" attributea="value" attributeb="value" attributec="value" attributed="value" attributef="value">string</div>\n'
|
|
51
|
-
),
|
|
52
|
-
(
|
|
53
|
-
'<div attribute="value"\n'
|
|
54
|
-
' attributea="value"\n'
|
|
55
|
-
' attributeb="value"\n'
|
|
56
|
-
' attributec="value"\n'
|
|
57
|
-
' attributed="value"\n'
|
|
58
|
-
' attributef="value">\n'
|
|
59
|
-
" string\n"
|
|
60
|
-
"</div>\n"
|
|
61
|
-
),
|
|
62
|
-
({"line_break_after_multiline_tag": True}),
|
|
63
|
-
id="line_break_after_multiline_tag",
|
|
64
|
-
),
|
|
65
|
-
pytest.param(
|
|
66
|
-
(
|
|
67
|
-
'<div attribute="value"\n'
|
|
68
|
-
' attributea="value"\n'
|
|
69
|
-
' attributeb="value"\n'
|
|
70
|
-
' attributec="value"\n'
|
|
71
|
-
' attributed="value"\n'
|
|
72
|
-
' attributef="value">string</div>\n'
|
|
73
|
-
),
|
|
74
|
-
(
|
|
75
|
-
'<div attribute="value"\n'
|
|
76
|
-
' attributea="value"\n'
|
|
77
|
-
' attributeb="value"\n'
|
|
78
|
-
' attributec="value"\n'
|
|
79
|
-
' attributed="value"\n'
|
|
80
|
-
' attributef="value">\n'
|
|
81
|
-
" string\n"
|
|
82
|
-
"</div>\n"
|
|
83
|
-
),
|
|
84
|
-
({"line_break_after_multiline_tag": True}),
|
|
85
|
-
id="line_break_after_multiline_tag_when_already_condensed",
|
|
86
|
-
),
|
|
87
|
-
]
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
@pytest.mark.parametrize(("source", "expected", "args"), test_data)
|
|
91
|
-
def test_base(source, expected, args):
|
|
92
|
-
output = formatter(config_builder(args), source)
|
|
93
|
-
|
|
94
|
-
printer(expected, source, output)
|
|
95
|
-
assert expected == output
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"""Test next line empty.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_next_line_empty.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
"<div></div\n"
|
|
14
|
-
">\n"
|
|
15
|
-
"<span></span>\n"
|
|
16
|
-
"<div></div\n"
|
|
17
|
-
"\n"
|
|
18
|
-
"\n"
|
|
19
|
-
" >\n"
|
|
20
|
-
"<span></span>\n"
|
|
21
|
-
"<div></div\n"
|
|
22
|
-
">\n"
|
|
23
|
-
"<span></span>\n"
|
|
24
|
-
"<div>\n"
|
|
25
|
-
' <a href="#123123123123123131231312321312312312312312312312312313123123123123123"\n'
|
|
26
|
-
" >123123123123</a\n"
|
|
27
|
-
" >\n"
|
|
28
|
-
" 123123\n"
|
|
29
|
-
"</div>\n"
|
|
30
|
-
),
|
|
31
|
-
(
|
|
32
|
-
"<div></div>\n"
|
|
33
|
-
"<span></span>\n"
|
|
34
|
-
"<div></div>\n"
|
|
35
|
-
"<span></span>\n"
|
|
36
|
-
"<div></div>\n"
|
|
37
|
-
"<span></span>\n"
|
|
38
|
-
"<div>\n"
|
|
39
|
-
' <a href="#123123123123123131231312321312312312312312312312312313123123123123123">123123123123</a>\n'
|
|
40
|
-
" 123123\n"
|
|
41
|
-
"</div>\n"
|
|
42
|
-
),
|
|
43
|
-
id="standalone_end_marker",
|
|
44
|
-
)
|
|
45
|
-
]
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
49
|
-
def test_base(source, expected, basic_config):
|
|
50
|
-
output = formatter(basic_config, source)
|
|
51
|
-
|
|
52
|
-
printer(expected, source, output)
|
|
53
|
-
assert expected == output
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"""Test self closing tags.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_selfclosing.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
"<p><span>Hello</span> <br /><input /><link /><img /><source /><meta /> <span>World</span></p>\n"
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
"<p>\n"
|
|
17
|
-
" <span>Hello</span>\n"
|
|
18
|
-
" <br />\n"
|
|
19
|
-
" <input />\n"
|
|
20
|
-
" <link />\n"
|
|
21
|
-
" <img />\n"
|
|
22
|
-
" <source />\n"
|
|
23
|
-
" <meta />\n"
|
|
24
|
-
" <span>World</span>\n"
|
|
25
|
-
"</p>\n"
|
|
26
|
-
),
|
|
27
|
-
id="self_closing",
|
|
28
|
-
),
|
|
29
|
-
pytest.param(
|
|
30
|
-
(
|
|
31
|
-
"<p><span>Hello</span> <br><input><link><img><source><meta> <span>World</span></p>\n"
|
|
32
|
-
),
|
|
33
|
-
(
|
|
34
|
-
"<p>\n"
|
|
35
|
-
" <span>Hello</span>\n"
|
|
36
|
-
" <br>\n"
|
|
37
|
-
" <input>\n"
|
|
38
|
-
" <link>\n"
|
|
39
|
-
" <img>\n"
|
|
40
|
-
" <source>\n"
|
|
41
|
-
" <meta>\n"
|
|
42
|
-
" <span>World</span>\n"
|
|
43
|
-
"</p>\n"
|
|
44
|
-
),
|
|
45
|
-
id="void_self_closing",
|
|
46
|
-
),
|
|
47
|
-
]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
51
|
-
def test_base(source, expected, basic_config):
|
|
52
|
-
output = formatter(basic_config, source)
|
|
53
|
-
|
|
54
|
-
printer(expected, source, output)
|
|
55
|
-
assert expected == output
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"""Test single attribute per line.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_single_attribute_per_line.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
'<div data-a="1">\n'
|
|
14
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
15
|
-
"</div>\n"
|
|
16
|
-
'<div data-a="1" data-b="2" data-c="3">\n'
|
|
17
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
18
|
-
"</div>\n"
|
|
19
|
-
'<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">\n'
|
|
20
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
21
|
-
"</div>\n"
|
|
22
|
-
'<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">\n'
|
|
23
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
24
|
-
"</div>\n"
|
|
25
|
-
'<img src="/images/foo.png" />\n'
|
|
26
|
-
'<img src="/images/foo.png" alt="bar" />\n'
|
|
27
|
-
'<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />\n'
|
|
28
|
-
),
|
|
29
|
-
(
|
|
30
|
-
'<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
31
|
-
'<div data-a="1" data-b="2" data-c="3">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
32
|
-
'<div data-a="Lorem ipsum dolor sit amet"\n'
|
|
33
|
-
' data-b="Lorem ipsum dolor sit amet"\n'
|
|
34
|
-
' data-c="Lorem ipsum dolor sit amet">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
35
|
-
'<div data-long-attribute-a="1"\n'
|
|
36
|
-
' data-long-attribute-b="2"\n'
|
|
37
|
-
' data-long-attribute-c="3">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
38
|
-
'<img src="/images/foo.png" />\n'
|
|
39
|
-
'<img src="/images/foo.png" alt="bar" />\n'
|
|
40
|
-
'<img src="/images/foo.png"\n'
|
|
41
|
-
' alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />\n'
|
|
42
|
-
),
|
|
43
|
-
id="single_attrib_per_line_enabled",
|
|
44
|
-
),
|
|
45
|
-
pytest.param(
|
|
46
|
-
(
|
|
47
|
-
'<div data-a="1">\n'
|
|
48
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
49
|
-
"</div>\n"
|
|
50
|
-
'<div data-a="1" data-b="2" data-c="3">\n'
|
|
51
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
52
|
-
"</div>\n"
|
|
53
|
-
'<div data-a="Lorem ipsum dolor sit amet" data-b="Lorem ipsum dolor sit amet" data-c="Lorem ipsum dolor sit amet">\n'
|
|
54
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
55
|
-
"</div>\n"
|
|
56
|
-
'<div data-long-attribute-a="1" data-long-attribute-b="2" data-long-attribute-c="3">\n'
|
|
57
|
-
" Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
|
|
58
|
-
"</div>\n"
|
|
59
|
-
'<img src="/images/foo.png" />\n'
|
|
60
|
-
'<img src="/images/foo.png" alt="bar" />\n'
|
|
61
|
-
'<img src="/images/foo.png" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />\n'
|
|
62
|
-
),
|
|
63
|
-
(
|
|
64
|
-
'<div data-a="1">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
65
|
-
'<div data-a="1" data-b="2" data-c="3">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
66
|
-
'<div data-a="Lorem ipsum dolor sit amet"\n'
|
|
67
|
-
' data-b="Lorem ipsum dolor sit amet"\n'
|
|
68
|
-
' data-c="Lorem ipsum dolor sit amet">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
69
|
-
'<div data-long-attribute-a="1"\n'
|
|
70
|
-
' data-long-attribute-b="2"\n'
|
|
71
|
-
' data-long-attribute-c="3">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>\n'
|
|
72
|
-
'<img src="/images/foo.png" />\n'
|
|
73
|
-
'<img src="/images/foo.png" alt="bar" />\n'
|
|
74
|
-
'<img src="/images/foo.png"\n'
|
|
75
|
-
' alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit." />\n'
|
|
76
|
-
),
|
|
77
|
-
id="single_attrib_per_line_disabled",
|
|
78
|
-
),
|
|
79
|
-
]
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
83
|
-
def test_base(source, expected, basic_config):
|
|
84
|
-
output = formatter(basic_config, source)
|
|
85
|
-
|
|
86
|
-
printer(expected, source, output)
|
|
87
|
-
assert expected == output
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"""Test srcset.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_srcset.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
'<img src="a"\n'
|
|
14
|
-
'srcset="\n'
|
|
15
|
-
" should-not-format 400w 100h,\n"
|
|
16
|
-
" should-not-format 500w 200h\n"
|
|
17
|
-
'"\n'
|
|
18
|
-
' alt="" />\n'
|
|
19
|
-
'<img src="a"\n'
|
|
20
|
-
'srcset="\n'
|
|
21
|
-
" should-not-format ,, should-not-format 0q,,,\n"
|
|
22
|
-
'"\n'
|
|
23
|
-
' alt=""/>\n'
|
|
24
|
-
),
|
|
25
|
-
(
|
|
26
|
-
'<img src="a"\n'
|
|
27
|
-
' srcset="should-not-format 400w 100h, should-not-format 500w 200h"\n'
|
|
28
|
-
' alt="" />\n'
|
|
29
|
-
'<img src="a"\n'
|
|
30
|
-
' srcset="should-not-format ,, should-not-format 0q,,,"\n'
|
|
31
|
-
' alt="" />\n'
|
|
32
|
-
),
|
|
33
|
-
id="invalid",
|
|
34
|
-
),
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
39
|
-
def test_base(source, expected, basic_config):
|
|
40
|
-
output = formatter(basic_config, source)
|
|
41
|
-
|
|
42
|
-
printer(expected, source, output)
|
|
43
|
-
assert expected == output
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"""Test svg.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_svg.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
"<!DOCTYPE html>\n"
|
|
14
|
-
"<html>\n"
|
|
15
|
-
" <head>\n"
|
|
16
|
-
" <title>SVG</title>\n"
|
|
17
|
-
" </head>\n"
|
|
18
|
-
" <body>\n"
|
|
19
|
-
' <svg width="100" height="100">\n'
|
|
20
|
-
' <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />\n'
|
|
21
|
-
" </svg>\n"
|
|
22
|
-
" </body>\n"
|
|
23
|
-
"</html>\n"
|
|
24
|
-
'<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">\n'
|
|
25
|
-
"<defs /> <style >\n"
|
|
26
|
-
" polygon { fill: black }\n"
|
|
27
|
-
" div {\n"
|
|
28
|
-
" color: white;\n"
|
|
29
|
-
" font:18px serif;\n"
|
|
30
|
-
" height: 100%;\n"
|
|
31
|
-
" overflow: auto;\n"
|
|
32
|
-
" }\n"
|
|
33
|
-
" </style>\n"
|
|
34
|
-
" <g>\n"
|
|
35
|
-
' <g><polygon points="5,5 195,10 185,185 10,195" />\n'
|
|
36
|
-
" <text> Text</text></g>\n"
|
|
37
|
-
" </g>\n"
|
|
38
|
-
" <!-- Common use case: embed HTML text into SVG -->\n"
|
|
39
|
-
' <foreignObject x="20" y="20" width="160" height="160">\n'
|
|
40
|
-
" <!--\n"
|
|
41
|
-
" In the context of SVG embeded into HTML, the XHTML namespace could be avoided, but it is mandatory in the context of an SVG document\n"
|
|
42
|
-
" -->\n"
|
|
43
|
-
' <div xmlns="http://www.w3.org/1999/xhtml">\n'
|
|
44
|
-
" <p>\n"
|
|
45
|
-
" 123\n"
|
|
46
|
-
" </p>\n"
|
|
47
|
-
" <span>\n"
|
|
48
|
-
" 123\n"
|
|
49
|
-
" </span>\n"
|
|
50
|
-
" </div>\n"
|
|
51
|
-
" </foreignObject>\n"
|
|
52
|
-
"</svg>\n"
|
|
53
|
-
),
|
|
54
|
-
(
|
|
55
|
-
"<!DOCTYPE html>\n"
|
|
56
|
-
"<html>\n"
|
|
57
|
-
" <head>\n"
|
|
58
|
-
" <title>SVG</title>\n"
|
|
59
|
-
" </head>\n"
|
|
60
|
-
" <body>\n"
|
|
61
|
-
' <svg width="100" height="100">\n'
|
|
62
|
-
' <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />\n'
|
|
63
|
-
" </svg>\n"
|
|
64
|
-
" </body>\n"
|
|
65
|
-
"</html>\n"
|
|
66
|
-
'<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">\n'
|
|
67
|
-
" <defs /> <style>\n"
|
|
68
|
-
" polygon { fill: black }\n"
|
|
69
|
-
" div {\n"
|
|
70
|
-
" color: white;\n"
|
|
71
|
-
" font:18px serif;\n"
|
|
72
|
-
" height: 100%;\n"
|
|
73
|
-
" overflow: auto;\n"
|
|
74
|
-
" }\n"
|
|
75
|
-
" </style>\n"
|
|
76
|
-
" <g>\n"
|
|
77
|
-
" <g>\n"
|
|
78
|
-
' <polygon points="5,5 195,10 185,185 10,195" />\n'
|
|
79
|
-
" <text> Text</text>\n"
|
|
80
|
-
" </g>\n"
|
|
81
|
-
" </g>\n"
|
|
82
|
-
" <!-- Common use case: embed HTML text into SVG -->\n"
|
|
83
|
-
' <foreignObject x="20" y="20" width="160" height="160">\n'
|
|
84
|
-
" <!--\n"
|
|
85
|
-
" In the context of SVG embeded into HTML, the XHTML namespace could be avoided, but it is mandatory in the context of an SVG document\n"
|
|
86
|
-
" -->\n"
|
|
87
|
-
' <div xmlns="http://www.w3.org/1999/xhtml">\n'
|
|
88
|
-
" <p>123</p>\n"
|
|
89
|
-
" <span>123</span>\n"
|
|
90
|
-
" </div>\n"
|
|
91
|
-
" </foreignObject>\n"
|
|
92
|
-
"</svg>\n"
|
|
93
|
-
),
|
|
94
|
-
id="svg",
|
|
95
|
-
),
|
|
96
|
-
]
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
100
|
-
def test_base(source, expected, basic_config):
|
|
101
|
-
output = formatter(basic_config, source)
|
|
102
|
-
|
|
103
|
-
printer(expected, source, output)
|
|
104
|
-
assert expected == output
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Test symbol entities.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_symbol_entities.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
"<p>I will display €</p>\n"
|
|
14
|
-
"<p>I will display !</p>\n"
|
|
15
|
-
"<p>I will display €</p>\n"
|
|
16
|
-
"<p>I will display €</p>\n"
|
|
17
|
-
),
|
|
18
|
-
(
|
|
19
|
-
"<p>I will display €</p>\n"
|
|
20
|
-
"<p>I will display !</p>\n"
|
|
21
|
-
"<p>I will display €</p>\n"
|
|
22
|
-
"<p>I will display €</p>\n"
|
|
23
|
-
),
|
|
24
|
-
id="symbol_entities",
|
|
25
|
-
),
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
30
|
-
def test_base(source, expected, basic_config):
|
|
31
|
-
output = formatter(basic_config, source)
|
|
32
|
-
|
|
33
|
-
printer(expected, source, output)
|
|
34
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Test html code tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_code.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
("<ol>\n" " <li>\n" " <code>a</code> b\n" " </li>\n" "</ol>\n"),
|
|
13
|
-
("<ol>\n" " <li>\n" " <code>a</code> b\n" " </li>\n" "</ol>\n"),
|
|
14
|
-
id="code_tag",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, basic_config):
|
|
21
|
-
output = formatter(basic_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Test html dd tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_dd.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
("<dd>text</dd>"),
|
|
13
|
-
("<dd>\n" " text\n" "</dd>\n"),
|
|
14
|
-
id="dd_tag",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, basic_config):
|
|
21
|
-
output = formatter(basic_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Tests html details/summary tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_details_summary.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
("<details><summary>summary</summary>body</details>"),
|
|
13
|
-
("<details>\n" " <summary>summary</summary>\n" " body\n" "</details>\n"),
|
|
14
|
-
id="details_summary_tags",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, basic_config):
|
|
21
|
-
output = formatter(basic_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Test html dt tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_dt.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
"<dt>text</dt>",
|
|
13
|
-
("<dt>text</dt>\n"),
|
|
14
|
-
id="dt_tag",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, basic_config):
|
|
21
|
-
output = formatter(basic_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"""Test html figure tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_fig_caption.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
('<figure><img src="" alt=""><figcaption>caption</figcaption></figure>'),
|
|
13
|
-
(
|
|
14
|
-
"<figure>\n"
|
|
15
|
-
' <img src="" alt="">\n'
|
|
16
|
-
" <figcaption>caption</figcaption>\n"
|
|
17
|
-
"</figure>\n"
|
|
18
|
-
),
|
|
19
|
-
id="figure_figcaption_tags",
|
|
20
|
-
),
|
|
21
|
-
]
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
25
|
-
def test_base(source, expected, basic_config):
|
|
26
|
-
output = formatter(basic_config, source)
|
|
27
|
-
|
|
28
|
-
printer(expected, source, output)
|
|
29
|
-
assert expected == output
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"""Test html hr tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_hr.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
("<div>\n" " <div>\n" " <hr>\n" " </div>\n" "</div>\n"),
|
|
13
|
-
("<div>\n" " <div>\n" " <hr>\n" " </div>\n" "</div>\n"),
|
|
14
|
-
id="hr",
|
|
15
|
-
),
|
|
16
|
-
pytest.param(
|
|
17
|
-
("<div>\n" " <div>\n" " <hr />\n" " </div>\n" "</div>\n"),
|
|
18
|
-
("<div>\n" " <div>\n" " <hr />\n" " </div>\n" "</div>\n"),
|
|
19
|
-
id="hr_void",
|
|
20
|
-
),
|
|
21
|
-
]
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
25
|
-
def test_base(source, expected, basic_config):
|
|
26
|
-
output = formatter(basic_config, source)
|
|
27
|
-
|
|
28
|
-
printer(expected, source, output)
|
|
29
|
-
assert expected == output
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"""Test html picture tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_html/test_tag_picture.py
|
|
4
|
-
"""
|
|
5
|
-
import pytest
|
|
6
|
-
|
|
7
|
-
from src.djlint.reformat import formatter
|
|
8
|
-
from tests.conftest import printer
|
|
9
|
-
|
|
10
|
-
test_data = [
|
|
11
|
-
pytest.param(
|
|
12
|
-
(
|
|
13
|
-
'<picture><source media="(max-width:640px)"\n'
|
|
14
|
-
'srcset="image.jpg"><img src="image.jpg" alt="image"></picture>\n'
|
|
15
|
-
),
|
|
16
|
-
(
|
|
17
|
-
"<picture>\n"
|
|
18
|
-
' <source media="(max-width:640px)" srcset="image.jpg">\n'
|
|
19
|
-
' <img src="image.jpg" alt="image">\n'
|
|
20
|
-
"</picture>\n"
|
|
21
|
-
),
|
|
22
|
-
id="picture_source_img_tags",
|
|
23
|
-
),
|
|
24
|
-
]
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
28
|
-
def test_base(source, expected, basic_config):
|
|
29
|
-
output = formatter(basic_config, source)
|
|
30
|
-
|
|
31
|
-
printer(expected, source, output)
|
|
32
|
-
assert expected == output
|