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,283 +0,0 @@
|
|
|
1
|
-
"""Test django blocktrans(late) tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_blocktrans_trimmed.py
|
|
4
|
-
|
|
5
|
-
blocktrans/late contents cannot be touched.
|
|
6
|
-
|
|
7
|
-
leading tag can be indented, but not trailing tag.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
blocktrans/late "trimmed" can be fully formatted.
|
|
12
|
-
|
|
13
|
-
"""
|
|
14
|
-
import pytest
|
|
15
|
-
|
|
16
|
-
from src.djlint.reformat import formatter
|
|
17
|
-
from tests.conftest import config_builder, printer
|
|
18
|
-
|
|
19
|
-
test_data = [
|
|
20
|
-
pytest.param(
|
|
21
|
-
(
|
|
22
|
-
"{% blocktranslate trimmed %} The width is: {{ width }}{% endblocktranslate %}"
|
|
23
|
-
),
|
|
24
|
-
(
|
|
25
|
-
"{% blocktranslate trimmed %}\n"
|
|
26
|
-
" The width is: {{ width }}\n"
|
|
27
|
-
"{% endblocktranslate %}\n"
|
|
28
|
-
),
|
|
29
|
-
({"max_line_length": 10}),
|
|
30
|
-
id="blocktranslate_no_attr",
|
|
31
|
-
),
|
|
32
|
-
pytest.param(
|
|
33
|
-
(
|
|
34
|
-
"{% blocktranslate trimmed %}The width is: {{ width }} {% endblocktranslate %}"
|
|
35
|
-
),
|
|
36
|
-
(
|
|
37
|
-
"{% blocktranslate trimmed %}\n"
|
|
38
|
-
" The width is: {{ width }}\n"
|
|
39
|
-
"{% endblocktranslate %}\n"
|
|
40
|
-
),
|
|
41
|
-
({"max_line_length": 10}),
|
|
42
|
-
id="blocktranslate_with_attr",
|
|
43
|
-
),
|
|
44
|
-
pytest.param(
|
|
45
|
-
("{% blocktrans trimmed %} The width is: {{ width }}{% endblocktrans %}"),
|
|
46
|
-
(
|
|
47
|
-
"{% blocktrans trimmed %}\n"
|
|
48
|
-
" The width is: {{ width }}\n"
|
|
49
|
-
"{% endblocktrans %}\n"
|
|
50
|
-
),
|
|
51
|
-
({"max_line_length": 10}),
|
|
52
|
-
id="blocktrans_no_attr",
|
|
53
|
-
),
|
|
54
|
-
pytest.param(
|
|
55
|
-
(
|
|
56
|
-
"{% blocktranslate trimmed %}The width is: {{ width }} {% endblocktranslate %}"
|
|
57
|
-
),
|
|
58
|
-
(
|
|
59
|
-
"{% blocktranslate trimmed %}\n"
|
|
60
|
-
" The width is: {{ width }}\n"
|
|
61
|
-
"{% endblocktranslate %}\n"
|
|
62
|
-
),
|
|
63
|
-
({"max_line_length": 10}),
|
|
64
|
-
id="blocktranslage",
|
|
65
|
-
),
|
|
66
|
-
pytest.param(
|
|
67
|
-
(
|
|
68
|
-
"<p>\n"
|
|
69
|
-
" {% blocktrans trimmed%}If you have not created an account yet, then please\n"
|
|
70
|
-
' <a href="{{ signup_url }}">sign up</a> first.{% endblocktrans %}\n'
|
|
71
|
-
"</p>\n"
|
|
72
|
-
"<p>\n"
|
|
73
|
-
" {% blocktrans trimmed%} If you have not created an account yet, then please\n"
|
|
74
|
-
' <a href="{{ signup_url }}">sign up</a> first. {% endblocktrans %}\n'
|
|
75
|
-
"</p>\n"
|
|
76
|
-
),
|
|
77
|
-
(
|
|
78
|
-
"<p>\n"
|
|
79
|
-
" {% blocktrans trimmed %}\n"
|
|
80
|
-
" If you have not created an account yet, then please\n"
|
|
81
|
-
' <a href="{{ signup_url }}">sign up</a> first.\n'
|
|
82
|
-
" {% endblocktrans %}\n"
|
|
83
|
-
"</p>\n"
|
|
84
|
-
"<p>\n"
|
|
85
|
-
" {% blocktrans trimmed %}\n"
|
|
86
|
-
" If you have not created an account yet, then please\n"
|
|
87
|
-
' <a href="{{ signup_url }}">sign up</a> first.\n'
|
|
88
|
-
" {% endblocktrans %}\n"
|
|
89
|
-
"</p>\n"
|
|
90
|
-
),
|
|
91
|
-
({"max_line_length": 10}),
|
|
92
|
-
id="blocktrans_with_nested_tags",
|
|
93
|
-
),
|
|
94
|
-
pytest.param(
|
|
95
|
-
(
|
|
96
|
-
"<div>\n"
|
|
97
|
-
' {% translate "View all" %}\n'
|
|
98
|
-
" <br />\n"
|
|
99
|
-
" ({% blocktranslate count counter=images|length trimmed %}\n"
|
|
100
|
-
" {{ counter }} photo\n"
|
|
101
|
-
" {% plural %}\n"
|
|
102
|
-
" {{ counter }} photos\n"
|
|
103
|
-
"{% endblocktranslate %})\n"
|
|
104
|
-
" ({% blocktrans count counter=images|length trimmed %}\n"
|
|
105
|
-
" {{ counter }} photo\n"
|
|
106
|
-
" {% plural %}\n"
|
|
107
|
-
" {{ counter }} photos\n"
|
|
108
|
-
" {% endblocktrans %})\n"
|
|
109
|
-
"</div>\n"
|
|
110
|
-
),
|
|
111
|
-
(
|
|
112
|
-
"<div>\n"
|
|
113
|
-
' {% translate "View all" %}\n'
|
|
114
|
-
" <br />\n"
|
|
115
|
-
" (\n"
|
|
116
|
-
" {% blocktranslate count counter=images|length trimmed %}\n"
|
|
117
|
-
" {{ counter }} photo\n"
|
|
118
|
-
" {% plural %}\n"
|
|
119
|
-
" {{ counter }} photos\n"
|
|
120
|
-
" {% endblocktranslate %}\n"
|
|
121
|
-
" )\n"
|
|
122
|
-
" (\n"
|
|
123
|
-
" {% blocktrans count counter=images|length trimmed %}\n"
|
|
124
|
-
" {{ counter }} photo\n"
|
|
125
|
-
" {% plural %}\n"
|
|
126
|
-
" {{ counter }} photos\n"
|
|
127
|
-
" {% endblocktrans %}\n"
|
|
128
|
-
" )\n"
|
|
129
|
-
"</div>\n"
|
|
130
|
-
),
|
|
131
|
-
({"max_line_length": 10}),
|
|
132
|
-
id="blocktrans_indent",
|
|
133
|
-
),
|
|
134
|
-
pytest.param(
|
|
135
|
-
(
|
|
136
|
-
"<div>\n"
|
|
137
|
-
' {% translate "View all" %}\n'
|
|
138
|
-
" <br />\n"
|
|
139
|
-
" ({% blocktranslate count counter=images|length trimmed %}\n"
|
|
140
|
-
" {{ counter }} photo\n"
|
|
141
|
-
" {% plural %}\n"
|
|
142
|
-
"asdf\n"
|
|
143
|
-
" {{ counter }} photos\n"
|
|
144
|
-
" {% endblocktranslate %})\n"
|
|
145
|
-
" ({% blocktrans count counter=images|length trimmed %}\n"
|
|
146
|
-
" {{ counter }} photo\n"
|
|
147
|
-
" {% plural %}\n"
|
|
148
|
-
" {{ counter }} photos\n"
|
|
149
|
-
" {% endblocktrans %})\n"
|
|
150
|
-
"</div>\n"
|
|
151
|
-
),
|
|
152
|
-
(
|
|
153
|
-
"<div>\n"
|
|
154
|
-
' {% translate "View all" %}\n'
|
|
155
|
-
" <br />\n"
|
|
156
|
-
" (\n"
|
|
157
|
-
" {% blocktranslate count counter=images|length trimmed %}\n"
|
|
158
|
-
" {{ counter }} photo\n"
|
|
159
|
-
" {% plural %}\n"
|
|
160
|
-
" asdf\n"
|
|
161
|
-
" {{ counter }} photos\n"
|
|
162
|
-
" {% endblocktranslate %}\n"
|
|
163
|
-
" )\n"
|
|
164
|
-
" (\n"
|
|
165
|
-
" {% blocktrans count counter=images|length trimmed %}\n"
|
|
166
|
-
" {{ counter }} photo\n"
|
|
167
|
-
" {% plural %}\n"
|
|
168
|
-
" {{ counter }} photos\n"
|
|
169
|
-
" {% endblocktrans %}\n"
|
|
170
|
-
" )\n"
|
|
171
|
-
"</div>\n"
|
|
172
|
-
),
|
|
173
|
-
({"max_line_length": 10}),
|
|
174
|
-
id="blocktrans_indent_2",
|
|
175
|
-
),
|
|
176
|
-
pytest.param(
|
|
177
|
-
(
|
|
178
|
-
"<tr>\n"
|
|
179
|
-
" {% if status.stage.value == 0 %}\n"
|
|
180
|
-
" {% blocktranslate with obj=status.scanned_objects trimmed%}{{ obj }} objects scanned{% endblocktranslate %}\n"
|
|
181
|
-
" {% elif status.stage.value == 2 %}\n"
|
|
182
|
-
" {% blocktranslate with obj=status.scanned_objects %} {{ obj }} objects scanned {% endblocktranslate %}\n"
|
|
183
|
-
" {% endif %}\n"
|
|
184
|
-
"</tr>\n"
|
|
185
|
-
),
|
|
186
|
-
(
|
|
187
|
-
"<tr>\n"
|
|
188
|
-
" {% if status.stage.value == 0 %}\n"
|
|
189
|
-
" {% blocktranslate with obj=status.scanned_objects trimmed %}\n"
|
|
190
|
-
" {{ obj }} objects scanned\n"
|
|
191
|
-
" {% endblocktranslate %}\n"
|
|
192
|
-
" {% elif status.stage.value == 2 %}\n"
|
|
193
|
-
" {% blocktranslate with obj=status.scanned_objects %} {{ obj }} objects scanned {% endblocktranslate %}\n"
|
|
194
|
-
" {% endif %}\n"
|
|
195
|
-
"</tr>\n"
|
|
196
|
-
),
|
|
197
|
-
({"max_line_length": 10}),
|
|
198
|
-
id="blocktrans_indent_if",
|
|
199
|
-
),
|
|
200
|
-
pytest.param(
|
|
201
|
-
(
|
|
202
|
-
"<tr>\n"
|
|
203
|
-
" {% if status.stage.value == 0 %}\n"
|
|
204
|
-
" {% blocktranslate trimmed with obj=status.scanned_objects %}{{ obj }} objects scanned {% endblocktranslate %}\n"
|
|
205
|
-
" {% elif status.stage.value == 2 %}\n"
|
|
206
|
-
" {% blocktranslate with obj=status.scanned_objects %} {{ obj }} objects scanned{% endblocktranslate %}\n"
|
|
207
|
-
" {% endif %}\n"
|
|
208
|
-
"</tr>\n"
|
|
209
|
-
),
|
|
210
|
-
(
|
|
211
|
-
"<tr>\n"
|
|
212
|
-
" {% if status.stage.value == 0 %}\n"
|
|
213
|
-
" {% blocktranslate trimmed with obj=status.scanned_objects %}\n"
|
|
214
|
-
" {{ obj }} objects scanned\n"
|
|
215
|
-
" {% endblocktranslate %}\n"
|
|
216
|
-
" {% elif status.stage.value == 2 %}\n"
|
|
217
|
-
" {% blocktranslate with obj=status.scanned_objects %} {{ obj }} objects scanned{% endblocktranslate %}\n"
|
|
218
|
-
" {% endif %}\n"
|
|
219
|
-
"</tr>\n"
|
|
220
|
-
),
|
|
221
|
-
({"max_line_length": 10}),
|
|
222
|
-
id="blocktrans_indent_if_2",
|
|
223
|
-
),
|
|
224
|
-
pytest.param(
|
|
225
|
-
(
|
|
226
|
-
"{% autoescape off %}\n"
|
|
227
|
-
"\n"
|
|
228
|
-
" {% blocktrans trimmed %}\n"
|
|
229
|
-
" You're receiving this email because you requested a password reset for your user account at {{ site_name }}.\n"
|
|
230
|
-
" {% endblocktrans %}\n"
|
|
231
|
-
),
|
|
232
|
-
(
|
|
233
|
-
"{% autoescape off %}\n"
|
|
234
|
-
" {% blocktrans trimmed %}\n"
|
|
235
|
-
" You're receiving this email because you requested a password reset for your user account at {{ site_name }}.\n"
|
|
236
|
-
" {% endblocktrans %}\n"
|
|
237
|
-
),
|
|
238
|
-
({"max_line_length": 10}),
|
|
239
|
-
id="blocktrans_autoescape",
|
|
240
|
-
),
|
|
241
|
-
pytest.param(
|
|
242
|
-
(
|
|
243
|
-
"{% autoescape off %}\n"
|
|
244
|
-
" {% blocktrans trimmed %}\n"
|
|
245
|
-
" You're receiving this email because you requested a password reset for your user account at {{ site_name }}.\n"
|
|
246
|
-
" {% endblocktrans %}\n"
|
|
247
|
-
),
|
|
248
|
-
(
|
|
249
|
-
"{% autoescape off %}\n"
|
|
250
|
-
" {% blocktrans trimmed %}\n"
|
|
251
|
-
" You're receiving this email because you requested a password reset for your user account at {{ site_name }}.\n"
|
|
252
|
-
" {% endblocktrans %}\n"
|
|
253
|
-
),
|
|
254
|
-
({"max_line_length": 10}),
|
|
255
|
-
id="blocktrans_autoescape_two",
|
|
256
|
-
),
|
|
257
|
-
pytest.param(
|
|
258
|
-
(
|
|
259
|
-
"{% blocktranslate count counter=list|length trimmed %}\n"
|
|
260
|
-
"There is only one {{ name }} object.\n"
|
|
261
|
-
" {% plural %} There are {{ counter }} {{ name }} objects.\n"
|
|
262
|
-
"{% endblocktranslate %}\n"
|
|
263
|
-
),
|
|
264
|
-
(
|
|
265
|
-
"{% blocktranslate count counter=list|length trimmed %}\n"
|
|
266
|
-
" There is only one {{ name }} object.\n"
|
|
267
|
-
"{% plural %}\n"
|
|
268
|
-
" There are {{ counter }} {{ name }} objects.\n"
|
|
269
|
-
"{% endblocktranslate %}\n"
|
|
270
|
-
),
|
|
271
|
-
({}),
|
|
272
|
-
id="plural formatted",
|
|
273
|
-
),
|
|
274
|
-
]
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
@pytest.mark.parametrize(("source", "expected", "args"), test_data)
|
|
278
|
-
def test_base(source, expected, args):
|
|
279
|
-
args["profile"] = "django"
|
|
280
|
-
output = formatter(config_builder(args), source)
|
|
281
|
-
|
|
282
|
-
printer(expected, source, output)
|
|
283
|
-
assert expected == output
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
"""Test django comment tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_comments.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
|
-
("{# comment #}{% if this %}<div></div>{% endif %}"),
|
|
13
|
-
("{# comment #}\n" "{% if this %}<div></div>{% endif %}\n"),
|
|
14
|
-
id="dj_comments_tag",
|
|
15
|
-
),
|
|
16
|
-
pytest.param(
|
|
17
|
-
('{% comment "Optional note" %}{{ body }}{% endcomment %}'),
|
|
18
|
-
('{% comment "Optional note" %}{{ body }}{% endcomment %}\n'),
|
|
19
|
-
id="multi_line",
|
|
20
|
-
),
|
|
21
|
-
pytest.param(
|
|
22
|
-
(
|
|
23
|
-
'<div class="hi">\n'
|
|
24
|
-
' <div class="poor">\n'
|
|
25
|
-
' <p class="format">\n'
|
|
26
|
-
" Lorem ipsum dolor\n"
|
|
27
|
-
' <span class="bold">sit</span>\n'
|
|
28
|
-
" amet\n"
|
|
29
|
-
" </p>\n"
|
|
30
|
-
' <img src="./pic.jpg">\n'
|
|
31
|
-
" </div>\n"
|
|
32
|
-
' <script src="file1.js"></script>\n'
|
|
33
|
-
' {% comment %} <script src="file2.js"></script>\n'
|
|
34
|
-
' <script src="file3.js"></script> {% endcomment %}\n'
|
|
35
|
-
' <script src="file4.js"></script>\n'
|
|
36
|
-
"</div>"
|
|
37
|
-
),
|
|
38
|
-
(
|
|
39
|
-
'<div class="hi">\n'
|
|
40
|
-
' <div class="poor">\n'
|
|
41
|
-
' <p class="format">\n'
|
|
42
|
-
" Lorem ipsum dolor\n"
|
|
43
|
-
' <span class="bold">sit</span>\n'
|
|
44
|
-
" amet\n"
|
|
45
|
-
" </p>\n"
|
|
46
|
-
' <img src="./pic.jpg">\n'
|
|
47
|
-
" </div>\n"
|
|
48
|
-
' <script src="file1.js"></script>\n'
|
|
49
|
-
' {% comment %} <script src="file2.js"></script>\n'
|
|
50
|
-
' <script src="file3.js"></script> {% endcomment %}\n'
|
|
51
|
-
' <script src="file4.js"></script>\n'
|
|
52
|
-
"</div>\n"
|
|
53
|
-
),
|
|
54
|
-
id="nested_multi_line",
|
|
55
|
-
),
|
|
56
|
-
pytest.param(
|
|
57
|
-
(
|
|
58
|
-
'<div class="hi">\n'
|
|
59
|
-
' <div class="poor">\n'
|
|
60
|
-
" {# djlint:off #}\n"
|
|
61
|
-
' <p class="format">\n'
|
|
62
|
-
' Lorem ipsum dolor <span class="bold">sit</span> amet\n'
|
|
63
|
-
" </p>\n"
|
|
64
|
-
" {# djlint:on #}\n"
|
|
65
|
-
' <img src="./pic.jpg">\n'
|
|
66
|
-
" </div>\n"
|
|
67
|
-
" <ul>\n"
|
|
68
|
-
" {% for i in items %}\n"
|
|
69
|
-
" <li>item {{i}}</li>\n"
|
|
70
|
-
" {% if i > 10 %}{% endif %}\n"
|
|
71
|
-
" <li>item {{i}}</li>\n"
|
|
72
|
-
" {% endfor %}\n"
|
|
73
|
-
" </ul>\n"
|
|
74
|
-
"</div>"
|
|
75
|
-
),
|
|
76
|
-
(
|
|
77
|
-
'<div class="hi">\n'
|
|
78
|
-
' <div class="poor">\n'
|
|
79
|
-
" {# djlint:off #}\n"
|
|
80
|
-
' <p class="format">\n'
|
|
81
|
-
' Lorem ipsum dolor <span class="bold">sit</span> amet\n'
|
|
82
|
-
" </p>\n"
|
|
83
|
-
" {# djlint:on #}\n"
|
|
84
|
-
' <img src="./pic.jpg">\n'
|
|
85
|
-
" </div>\n"
|
|
86
|
-
" <ul>\n"
|
|
87
|
-
" {% for i in items %}\n"
|
|
88
|
-
" <li>item {{ i }}</li>\n"
|
|
89
|
-
" {% if i > 10 %}{% endif %}\n"
|
|
90
|
-
" <li>item {{ i }}</li>\n"
|
|
91
|
-
" {% endfor %}\n"
|
|
92
|
-
" </ul>\n"
|
|
93
|
-
"</div>\n"
|
|
94
|
-
),
|
|
95
|
-
id="djlint_comment",
|
|
96
|
-
),
|
|
97
|
-
pytest.param(
|
|
98
|
-
(
|
|
99
|
-
"<html>\n"
|
|
100
|
-
" <head>\n"
|
|
101
|
-
' <script src="file1.js"></script>\n'
|
|
102
|
-
" {% comment %}\n"
|
|
103
|
-
' <script src="file2.js"></script>\n'
|
|
104
|
-
' <script src="file3.js"></script>\n'
|
|
105
|
-
' <script src="file4.js"></script>\n'
|
|
106
|
-
" {% endcomment %}\n"
|
|
107
|
-
' <script src="file5.js"></script>\n'
|
|
108
|
-
" </head>\n"
|
|
109
|
-
" <body></body>\n"
|
|
110
|
-
"</html>"
|
|
111
|
-
),
|
|
112
|
-
(
|
|
113
|
-
"<html>\n"
|
|
114
|
-
" <head>\n"
|
|
115
|
-
' <script src="file1.js"></script>\n'
|
|
116
|
-
" {% comment %}\n"
|
|
117
|
-
' <script src="file2.js"></script>\n'
|
|
118
|
-
' <script src="file3.js"></script>\n'
|
|
119
|
-
' <script src="file4.js"></script>\n'
|
|
120
|
-
" {% endcomment %}\n"
|
|
121
|
-
' <script src="file5.js"></script>\n'
|
|
122
|
-
" </head>\n"
|
|
123
|
-
" <body></body>\n"
|
|
124
|
-
"</html>\n"
|
|
125
|
-
),
|
|
126
|
-
id="comment_around_script",
|
|
127
|
-
),
|
|
128
|
-
pytest.param(
|
|
129
|
-
("{# <div></div> #}\n" "{% if this %}<div></div>{% endif %}"),
|
|
130
|
-
("{# <div></div> #}\n" "{% if this %}<div></div>{% endif %}\n"),
|
|
131
|
-
id="inline_comment",
|
|
132
|
-
),
|
|
133
|
-
pytest.param(
|
|
134
|
-
(
|
|
135
|
-
"<div>\n"
|
|
136
|
-
" {% if 1 %}\n"
|
|
137
|
-
' <div class="{% if 1 %}class {% else %} class {% endif %}">\n'
|
|
138
|
-
' <div class="class"\n'
|
|
139
|
-
' data-parameters="{#?@ViewBag.DefaultFilters#}"\n'
|
|
140
|
-
' data-target="profile-{{ profile_type }}-{{ profile_id }}"></div>\n'
|
|
141
|
-
" </div>\n"
|
|
142
|
-
" {% endif %}"
|
|
143
|
-
),
|
|
144
|
-
(
|
|
145
|
-
"<div>\n"
|
|
146
|
-
" {% if 1 %}\n"
|
|
147
|
-
' <div class="{% if 1 %}class {% else %} class {% endif %}">\n'
|
|
148
|
-
' <div class="class"\n'
|
|
149
|
-
' data-parameters="{#?@ViewBag.DefaultFilters#}"\n'
|
|
150
|
-
' data-target="profile-{{ profile_type }}-{{ profile_id }}"></div>\n'
|
|
151
|
-
" </div>\n"
|
|
152
|
-
" {% endif %}\n"
|
|
153
|
-
),
|
|
154
|
-
id="nested_inline_comment",
|
|
155
|
-
),
|
|
156
|
-
]
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
160
|
-
def test_base(source, expected, django_config):
|
|
161
|
-
output = formatter(django_config, source)
|
|
162
|
-
|
|
163
|
-
printer(expected, source, output)
|
|
164
|
-
assert expected == output
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"""Test django filter tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_filter.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
|
-
"{% filter force_escape|lower %}This text will be HTML-escaped, and will appear in all lowercase.{% endfilter %}"
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
"{% filter force_escape|lower %}\n"
|
|
17
|
-
" This text will be HTML-escaped, and will appear in all lowercase.\n"
|
|
18
|
-
"{% endfilter %}\n"
|
|
19
|
-
),
|
|
20
|
-
id="filter_tag",
|
|
21
|
-
),
|
|
22
|
-
]
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
26
|
-
def test_base(source, expected, django_config):
|
|
27
|
-
output = formatter(django_config, source)
|
|
28
|
-
|
|
29
|
-
printer(expected, source, output)
|
|
30
|
-
assert expected == output
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Test django for tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_for.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
|
-
"<ul>{% for athlete in athlete_list %}<li>{{ athlete.name }}</li>{% empty %}<li>Sorry, no athletes in this list.</li>{% endfor %}</ul>"
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
"<ul>\n"
|
|
17
|
-
" {% for athlete in athlete_list %}\n"
|
|
18
|
-
" <li>{{ athlete.name }}</li>\n"
|
|
19
|
-
" {% empty %}\n"
|
|
20
|
-
" <li>Sorry, no athletes in this list.</li>\n"
|
|
21
|
-
" {% endfor %}\n"
|
|
22
|
-
"</ul>\n"
|
|
23
|
-
),
|
|
24
|
-
id="for_tag",
|
|
25
|
-
),
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
30
|
-
def test_base(source, expected, django_config):
|
|
31
|
-
output = formatter(django_config, source)
|
|
32
|
-
|
|
33
|
-
printer(expected, source, output)
|
|
34
|
-
assert expected == output
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Test django if tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_if.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
|
-
"{% if athlete_list %}Number of athletes: {{ athlete_list|length }}{% elif athlete_in_locker_room_list %}Athletes should be out of the locker room soon!{% else %}No athletes.{% endif %}"
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
"{% if athlete_list %}\n"
|
|
17
|
-
" Number of athletes: {{ athlete_list|length }}\n"
|
|
18
|
-
"{% elif athlete_in_locker_room_list %}\n"
|
|
19
|
-
" Athletes should be out of the locker room soon!\n"
|
|
20
|
-
"{% else %}\n"
|
|
21
|
-
" No athletes.\n"
|
|
22
|
-
"{% endif %}\n"
|
|
23
|
-
),
|
|
24
|
-
id="if_tag",
|
|
25
|
-
),
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
30
|
-
def test_base(source, expected, django_config):
|
|
31
|
-
output = formatter(django_config, source)
|
|
32
|
-
|
|
33
|
-
printer(expected, source, output)
|
|
34
|
-
assert expected == output
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"""Test django ifchanged tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_ifchanged.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
|
-
'{% for match in matches %}<div style="background-color:"pink">{% ifchanged match.ballot_id %}{% cycle "red" "blue" %}{% else %}gray{% endifchanged %}{{ match }}</div>{% endfor %}'
|
|
14
|
-
),
|
|
15
|
-
(
|
|
16
|
-
"{% for match in matches %}\n"
|
|
17
|
-
' <div style="background-color:"pink">\n'
|
|
18
|
-
" {% ifchanged match.ballot_id %}\n"
|
|
19
|
-
' {% cycle "red" "blue" %}\n'
|
|
20
|
-
" {% else %}\n"
|
|
21
|
-
" gray\n"
|
|
22
|
-
" {% endifchanged %}\n"
|
|
23
|
-
" {{ match }}\n"
|
|
24
|
-
" </div>\n"
|
|
25
|
-
"{% endfor %}\n"
|
|
26
|
-
),
|
|
27
|
-
id="ifchanged_tag",
|
|
28
|
-
),
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
33
|
-
def test_base(source, expected, django_config):
|
|
34
|
-
output = formatter(django_config, source)
|
|
35
|
-
|
|
36
|
-
printer(expected, source, output)
|
|
37
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Test django include tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_include.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
|
-
('{% include "this" %}{% include "that" %}'),
|
|
13
|
-
('{% include "this" %}\n' '{% include "that" %}\n'),
|
|
14
|
-
id="include_tag",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, django_config):
|
|
21
|
-
output = formatter(django_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Test django load tag.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_load.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
|
-
("{% block content %}{% load i18n %}{% endblock %}"),
|
|
13
|
-
("{% block content %}\n" " {% load i18n %}\n" "{% endblock %}\n"),
|
|
14
|
-
id="load_tag",
|
|
15
|
-
),
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
20
|
-
def test_base(source, expected, django_config):
|
|
21
|
-
output = formatter(django_config, source)
|
|
22
|
-
|
|
23
|
-
printer(expected, source, output)
|
|
24
|
-
assert expected == output
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Test django quoted tags.
|
|
2
|
-
|
|
3
|
-
poetry run pytest tests/test_django/test_filter.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
|
-
"<h1>\n"
|
|
14
|
-
' {% if condition1 %}<span class="cls"></span>{% endif %}\n'
|
|
15
|
-
' {% if condition2 %}"{{ text }}"{% endif %}\n'
|
|
16
|
-
" </h1>\n"
|
|
17
|
-
),
|
|
18
|
-
(
|
|
19
|
-
"<h1>\n"
|
|
20
|
-
' {% if condition1 %}<span class="cls"></span>{% endif %}\n'
|
|
21
|
-
' {% if condition2 %}"{{ text }}"{% endif %}\n'
|
|
22
|
-
"</h1>\n"
|
|
23
|
-
),
|
|
24
|
-
id="issue #640",
|
|
25
|
-
),
|
|
26
|
-
]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@pytest.mark.parametrize(("source", "expected"), test_data)
|
|
30
|
-
def test_base(source, expected, django_config):
|
|
31
|
-
output = formatter(django_config, source)
|
|
32
|
-
|
|
33
|
-
printer(expected, source, output)
|
|
34
|
-
assert expected == output
|