def test_contains_partial(): c = SimpleTestCase() needle = "<span></span>" html = "<form>%s</form>" c.assertTrue(contains_partial(html % needle, needle)) needle = "<span></span><b></b>" c.assertRaises(NotImplementedError, contains_partial, html % needle, needle) needle = "<span>a</span>" c.assertRaises(NotImplementedError, contains_partial, html % needle, needle) needle = '<span id="e"></span>' html = '<form id="tt"><span id="f"></span>%s</form>' c.assertTrue(contains_partial(html % needle, needle)) missing = "<script></script>" c.assertFalse(contains_partial(html % missing, needle)) needle = '<span id="e"></span>' html = '<form id="tt"><span id="f"></span>%s</form>' missing = '<span id="g"></span>' c.assertFalse(contains_partial(html % missing, needle)) needle = '<div id="r"><span>toto</span></div>' html = '<form><div id="r"></div></form>' c.assertRaises(NotImplementedError, contains_partial, html, needle) # as we do not look at the children, needle is equivalent to <div id="r"></div> which IS in html c.assertTrue(contains_partial(html, needle, ignore_needle_children=True))
def test_prepended_appended_text(self, settings): test_form = SampleForm() test_form.helper = FormHelper() test_form.helper.layout = Layout( PrependedAppendedText("email", "@", "gmail.com"), AppendedText("password1", "#"), PrependedText("password2", "$"), ) html = render_crispy_form(test_form) dom = parse_html(html) # Check form parameters if settings.CRISPY_TEMPLATE_PACK == "css": assert dom.count(parse_html('<span class="add-on">@</span>')) == 1 assert dom.count( parse_html('<span class="add-on">gmail.com</span>')) == 1 assert dom.count(parse_html('<span class="add-on">#</span>')) == 1 assert dom.count(parse_html('<span class="add-on">$</span>')) == 1 if settings.CRISPY_TEMPLATE_PACK == "bootstrap3": assert html.count('<span class="input-group-addon">@</span>') == 1 assert html.count( '<span class="input-group-addon">gmail.com</span>') == 1 assert html.count('<span class="input-group-addon">#</span>') == 1 assert html.count('<span class="input-group-addon">$</span>') == 1 test_form.helper.layout = Layout( PrependedAppendedText("email", "@", "gmail.com", css_class="input-lg"), ) html = render_crispy_form(test_form) assert 'class="input-lg' in html assert contains_partial( html, '<span class="input-group-addon input-lg"/>') if settings.CRISPY_TEMPLATE_PACK == "bootstrap4": assert html.count('<span class="input-group-text">@</span>') == 1 assert html.count( '<span class="input-group-text">gmail.com</span>') == 1 assert html.count('<span class="input-group-text">#</span>') == 1 assert html.count('<span class="input-group-text">$</span>') == 1 test_form.helper.layout = Layout( PrependedAppendedText("email", "@", "gmail.com", css_class="form-control-lg"), ) html = render_crispy_form(test_form) assert 'class="form-control-lg' in html assert contains_partial(html, '<span class="input-group-text"/>')
def test_prepended_appended_text(self, settings): test_form = SampleForm() test_form.helper = FormHelper() test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com'), AppendedText('password1', '#'), PrependedText('password2', '$'), ) html = render_crispy_form(test_form) dom = parse_html(html) # Check form parameters if settings.CRISPY_TEMPLATE_PACK == 'bootstrap': assert dom.count(parse_html('<span class="add-on">@</span>')) == 1 assert dom.count( parse_html('<span class="add-on">gmail.com</span>')) == 1 assert dom.count(parse_html('<span class="add-on">#</span>')) == 1 assert dom.count(parse_html('<span class="add-on">$</span>')) == 1 if settings.CRISPY_TEMPLATE_PACK in ['bootstrap3', 'bootstrap4']: assert html.count('<span class="input-group-addon">@</span>') == 1 assert html.count( '<span class="input-group-addon">gmail.com</span>') == 1 assert html.count('<span class="input-group-addon">#</span>') == 1 assert html.count('<span class="input-group-addon">$</span>') == 1 if settings.CRISPY_TEMPLATE_PACK == 'bootstrap3': test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com', css_class='input-lg'), ) html = render_crispy_form(test_form) assert 'class="input-lg' in html assert contains_partial( html, '<span class="input-group-addon input-lg"/>') if settings.CRISPY_TEMPLATE_PACK == 'bootstrap4': test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com', css_class='form-control-lg'), ) html = render_crispy_form(test_form) assert 'class="form-control-lg' in html assert contains_partial(html, '<span class="input-group-addon"/>')
def test_prepended_appended_text(self, settings): test_form = SampleForm() test_form.helper = FormHelper() test_form.helper.layout = Layout( PrependedAppendedText("email", "@", "gmail.com"), AppendedText("password1", "#"), PrependedText("password2", "$"), ) html = render_crispy_form(test_form) # Check form parameters assert html.count('<span class="input-group-text">@</span>') == 1 assert html.count( '<span class="input-group-text">gmail.com</span>') == 1 assert html.count('<span class="input-group-text">#</span>') == 1 assert html.count('<span class="input-group-text">$</span>') == 1 test_form.helper.layout = Layout( PrependedAppendedText("email", "@", "gmail.com", css_class="form-control-lg")) html = render_crispy_form(test_form) assert 'class="form-control-lg' in html assert contains_partial(html, '<span class="input-group-text"/>')
def test_prepended_appended_text(self, settings): test_form = SampleForm() test_form.helper = FormHelper() test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com'), AppendedText('password1', '#'), PrependedText('password2', '$'), ) html = render_crispy_form(test_form) dom = parse_html(html) # Check form parameters if settings.CRISPY_TEMPLATE_PACK == 'bootstrap': assert dom.count(parse_html('<span class="add-on">@</span>')) == 1 assert dom.count(parse_html('<span class="add-on">gmail.com</span>')) == 1 assert dom.count(parse_html('<span class="add-on">#</span>')) == 1 assert dom.count(parse_html('<span class="add-on">$</span>')) == 1 if settings.CRISPY_TEMPLATE_PACK == 'bootstrap3': assert html.count('<span class="input-group-addon">@</span>') == 1 assert html.count( '<span class="input-group-addon">gmail.com</span>') == 1 assert html.count('<span class="input-group-addon">#</span>') == 1 assert html.count('<span class="input-group-addon">$</span>') == 1 test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com', css_class='input-lg'), ) html = render_crispy_form(test_form) assert 'class="input-lg' in html assert contains_partial(html, '<span class="input-group-addon input-lg"/>') if settings.CRISPY_TEMPLATE_PACK == 'bootstrap4': assert html.count('<span class="input-group-text">@</span>') == 1 assert html.count( '<span class="input-group-text">gmail.com</span>') == 1 assert html.count('<span class="input-group-text">#</span>') == 1 assert html.count('<span class="input-group-text">$</span>') == 1 test_form.helper.layout = Layout( PrependedAppendedText('email', '@', 'gmail.com', css_class='form-control-lg'), ) html = render_crispy_form(test_form) assert 'class="form-control-lg' in html assert contains_partial(html, '<span class="input-group-text"/>')