added test_block_formatter; restructured workflows; added workflow badges

This commit is contained in:
truePhilipp committed 2024-05-03 08:11:50 +00:00
1 parent 0b6a1b5d7a
commit 043b1e918f
6 files changed
+79 -37

No files matched your search

-37
View File
@@ -1,37 +0,0 @@
name: Python package
on: [push]
jobs:
stylecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install Dependencies
run: |
pip install ".[test]"
mypy html_to_django || true
mypy --install-types --non-interactive
- name: Stylecheck
run: |
mypy --strict html_to_django
pycodestyle --max-line-length 120 html_to_django
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: pip install ".[test]"
- name: Test on Python ${{ matrix.python-version }}
run: python -m unittest discover tests --verbose
+29
View File
@@ -0,0 +1,29 @@
name: Stylecheck
on:
push:
branches:
- 'main'
pull_request:
branches:
- 'main'
workflow_dispatch:
jobs:
stylecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python 3.12
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install Dependencies
run: |
pip install ".[test]"
mypy html_to_django || true
mypy --install-types --non-interactive
- name: MyPy
run: mypy --strict html_to_django
- name: Pycodestyle
run: pycodestyle --max-line-length 120 html_to_django
+27
View File
@@ -0,0 +1,27 @@
name: Tests
on:
push:
branches:
- 'main'
pull_request:
branches:
- 'main'
workflow_dispatch:
jobs:
unittest:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: pip install ".[test]"
- name: Test on Python ${{ matrix.python-version }}
run: python -m unittest discover tests --verbose
+3
View File
@@ -1,6 +1,9 @@
HTML To Django HTML To Django
=== ===
![tests workflow](https://github.com/truePhilipp/html_to_django/actions/workflows/tests.yml/badge.svg)
![stylecheck workflow](https://github.com/truePhilipp/html_to_django/actions/workflows/stylecheck.yml/badge.svg)
Convert HTML files with special syntax to Django template files. Convert HTML files with special syntax to Django template files.
Installation Installation
View File
Whitespace-only changes.
+20
View File
@@ -0,0 +1,20 @@
from unittest import TestCase
from bs4 import BeautifulSoup
from html_to_django.formatters import block_formatter
class BlockTests(TestCase):
def test_basic(self):
soup = BeautifulSoup('<div dj-block="content"></div>', "html.parser")
block_formatter.format(soup)
self.assertEqual("{% block content %}{% endblock %}", str(soup))
def test_with_content(self):
soup = BeautifulSoup('<div dj-block="content">Test</div>', "html.parser")
block_formatter.format(soup)
self.assertEqual("{% block content %}Test{% endblock %}", str(soup))
def test_with_block_inside(self):
soup = BeautifulSoup('<div dj-block="content"><div dj-block="inner">Test</div></div>', "html.parser")
block_formatter.format(soup)
self.assertEqual("{% block content %}{% block inner %}Test{% endblock %}{% endblock %}", str(soup))