commit:     3d870225af3c41a7b5f45f315246ec5ce70421ae
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 31 19:52:52 2023 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Fri Mar 31 19:53:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d870225

dev-python/crispy-bootstrap5: new package, add 0.7

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-python/crispy-bootstrap5/Manifest              |   1 +
 .../crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild |  25 +++
 .../files/crispy-bootstrap5-0.7-test.patch         | 172 +++++++++++++++++++++
 dev-python/crispy-bootstrap5/metadata.xml          |  12 ++
 4 files changed, 210 insertions(+)

diff --git a/dev-python/crispy-bootstrap5/Manifest 
b/dev-python/crispy-bootstrap5/Manifest
new file mode 100644
index 000000000000..f709b3c7df14
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/Manifest
@@ -0,0 +1 @@
+DIST crispy-bootstrap5-0.7.gh.tar.gz 29728 BLAKE2B 
1209ab7d8340e30c71050ed60a86d8233f454c49d2f6d4fcf4f1d6be4a7d1c470c3f907211c1ee352fc3eba9a74e8152d41162e4d6f8113538eccbb3522409a5
 SHA512 
c73305c6661719cd45989679c33751f44b318b39f895e0328257eaffcdd52b726be9be624ebecb6bcba35635f0f615bb83e48c775e0f05c40f8f1e6e80ab737c

diff --git a/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild 
b/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
new file mode 100644
index 000000000000..334d9c3af66d
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+DESCRIPTION="Bootstrap5 template pack for django-crispy-forms"
+HOMEPAGE="
+       https://pypi.org/project/crispy-bootstrap5/
+"
+SRC_URI="https://github.com/django-crispy-forms/${PN}/archive/refs/tags/${PV}.tar.gz
+       -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/django-crispy-forms[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )

diff --git 
a/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch 
b/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
new file mode 100644
index 000000000000..914b48385437
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
@@ -0,0 +1,172 @@
+From 69ff88bed286a76e6216a54ecf93a0b27d87bc8d Mon Sep 17 00:00:00 2001
+From: David Smith <[email protected]>
+Date: Thu, 15 Dec 2022 08:01:04 +0000
+Subject: [PATCH] Fixed tests for crispy-forms 2.x (#133)
+
+---
+ tests/templates/custom_field_template.html         |  2 +-
+ tests/templates/custom_form_template.html          |  2 +-
+ .../custom_form_template_with_context.html         |  2 +-
+ tests/test_layout.py                               | 14 ++++++++++++--
+ tests/test_layout_objects.py                       | 12 ++++++++++++
+ tox.ini                                            |  2 --
+ 6 files changed, 27 insertions(+), 7 deletions(-)
+
+diff --git a/tests/templates/custom_field_template.html 
b/tests/templates/custom_field_template.html
+index 4724226..04f0274 100644
+--- a/tests/templates/custom_field_template.html
++++ b/tests/templates/custom_field_template.html
+@@ -1,2 +1,2 @@
+ <h1>Special custom field</h1>
+-{% include 'bootstrap/field.html' %}
++{% include 'bootstrap5/field.html' %}
+diff --git a/tests/templates/custom_form_template.html 
b/tests/templates/custom_form_template.html
+index f2da757..c09b4c7 100644
+--- a/tests/templates/custom_form_template.html
++++ b/tests/templates/custom_form_template.html
+@@ -1,2 +1,2 @@
+ <h1>Special custom form</h1>
+-{% include "bootstrap/whole_uni_form.html" %}
++{% include "bootstrap5/whole_uni_form.html" %}
+diff --git a/tests/templates/custom_form_template_with_context.html 
b/tests/templates/custom_form_template_with_context.html
+index 2378296..477997a 100644
+--- a/tests/templates/custom_form_template_with_context.html
++++ b/tests/templates/custom_form_template_with_context.html
+@@ -1,4 +1,4 @@
+ <h1>Special custom form with context passthrough</h1>
+ Got prefix: {{ prefix }}.
+-{% include "bootstrap/whole_uni_form.html" %}
++{% include "bootstrap5/whole_uni_form.html" %}
+ Got suffix: {{ suffix }}.
+diff --git a/tests/test_layout.py b/tests/test_layout.py
+index 512facf..a2a72e8 100644
+--- a/tests/test_layout.py
++++ b/tests/test_layout.py
+@@ -16,6 +16,7 @@
+ from django.middleware.csrf import _get_new_csrf_string
+ from django.shortcuts import render
+ from django.template import Context, Template
++from django.test import override_settings
+ from django.urls import reverse
+ from django.utils.translation import gettext_lazy as _
+ 
+@@ -36,6 +37,12 @@
+ )
+ from .utils import contains_partial, parse_expected, parse_form
+ 
++CONVERTERS = {
++    "textinput": "inputtext textinput textInput",
++    "fileinput": "fileinput fileUpload",
++    "passwordinput": "textinput textInput",
++}
++
+ 
+ def test_invalid_unicode_characters(settings):
+     # Adds a BooleanField that uses non valid unicode characters "ñ"
+@@ -331,6 +338,7 @@ def test_bs5_field_with_buttons_css_classes():
+     assert parse_form(form) == 
parse_expected("field_with_buttons_failing.html")
+ 
+ 
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_formset_layout():
+     SampleFormSet = formset_factory(SampleForm, extra=3)
+     formset = SampleFormSet()
+@@ -523,6 +531,7 @@ def test_keepcontext_context_manager():
+     assert response.content.count(b"form-check-input") > 0
+ 
+ 
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_bootstrap5_form_inline():
+     form = SampleForm()
+     form.helper = FormHelper()
+@@ -557,7 +566,7 @@ def test_update_attributes_class():
+     form.helper.layout = Layout("email", Field("password1"), "password2")
+     form.helper["password1"].update_attributes(css_class="hello")
+     html = render_crispy_form(form)
+-    assert html.count(' class="hello textinput') == 1
++    assert html.count(' class="hello') == 1
+     form.helper = FormHelper()
+     form.helper.layout = Layout(
+         "email",
+@@ -566,7 +575,7 @@ def test_update_attributes_class():
+     )
+     form.helper["password1"].update_attributes(css_class="hello2")
+     html = render_crispy_form(form)
+-    assert html.count(' class="hello hello2 textinput') == 1
++    assert html.count(' class="hello hello2') == 1
+ 
+ 
+ def test_file_field():
+@@ -611,6 +620,7 @@ def test_html_label_escape():
+     assert "&lt;&gt;&amp;" in html
+ 
+ 
++@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+ def test_tabular_formset_layout():
+     SampleFormSet = formset_factory(SampleForm, extra=3)
+     formset = SampleFormSet()
+diff --git a/tests/test_layout_objects.py b/tests/test_layout_objects.py
+index b386c0b..0e3dde7 100644
+--- a/tests/test_layout_objects.py
++++ b/tests/test_layout_objects.py
+@@ -21,6 +21,7 @@
+ from crispy_forms.utils import render_crispy_form
+ from django import forms
+ from django.template import Context, Template
++from django.test import override_settings
+ from django.utils.translation import activate, deactivate
+ from django.utils.translation import gettext as _
+ 
+@@ -37,6 +38,12 @@
+ )
+ from .utils import parse_expected, parse_form
+ 
++CONVERTERS = {
++    "textinput": "inputtext textinput textInput",
++    "fileinput": "fileinput fileUpload",
++    "passwordinput": "textinput textInput",
++}
++
+ 
+ def test_field_with_custom_template():
+     test_form = SampleForm()
+@@ -202,6 +209,7 @@ def test_custom_django_widget(self):
+         html = render_crispy_form(form)
+         assert 'class="form-check-input"' in html
+ 
++    @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+     def test_prepended_appended_text(self):
+         test_form = SampleForm()
+         test_form.helper = FormHelper()
+@@ -223,6 +231,7 @@ def test_inline_radios(self):
+         html = render_crispy_form(test_form)
+         assert html.count('form-check-inline"') == 2
+ 
++    @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+     def test_accordion_and_accordiongroup(self):
+         random.seed(0)
+         form = SampleForm()
+@@ -269,6 +278,7 @@ def test_accordion_active_false_not_rendered(self):
+             == 0
+         )
+ 
++    @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+     def test_bs5accordion(self):
+         random.seed(0)
+         form = SampleForm()
+@@ -315,6 +325,7 @@ def test_bs5accordion_active_false_not_rendered(self):
+             == 0
+         )
+ 
++    @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+     def test_bs5accordion_flush(self):
+         random.seed(0)
+         test_form = SampleForm()
+@@ -329,6 +340,7 @@ def test_bs5accordion_flush(self):
+         )
+         assert parse_form(test_form) == parse_expected("accordion_flush.html")
+ 
++    @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
+     def test_bs5accordion_always_open(self):
+         random.seed(0)
+         test_form = SampleForm()

diff --git a/dev-python/crispy-bootstrap5/metadata.xml 
b/dev-python/crispy-bootstrap5/metadata.xml
new file mode 100644
index 000000000000..4883d99a164b
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Tupone Alfredo</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="pypi">crispy-bootstrap5</remote-id>
+               <remote-id 
type="github">django-crispy-forms/crispy-bootstrap5</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to