示例#1
0
 def test_invalid_prepare_value(self):
     "Check form field raises exception when given an invalid value"
     form = test_forms.TagFieldForm()
     with self.assertRaises(ValueError) as cm:
         form["tags"].field.prepare_value(["tag", "list", "fails"])
     self.assertEqual(
         six.text_type(cm.exception), "Tag field could not prepare unexpected value"
     )
示例#2
0
 def test_initial_string(self):
     "Check initial tag string"
     form = test_forms.TagFieldForm(initial={"tags": "red, blue"})
     self.assertHTMLEqual(
         six.text_type(form["tags"]),
         (
             '<input autocomplete="off" '
             'data-tag-options="{&quot;required&quot;: true}" '
             'data-tagulous="true" '
             'id="id_tags" name="tags" {{required}}type="text" '
             'value="red, blue" />'
         ),
     )
示例#3
0
 def test_render_value(self):
     "Check widget renders value"
     form = test_forms.TagFieldForm(data={"tags": "run, walk"})
     self.assertHTMLEqual(
         six.text_type(form["tags"]),
         (
             '<input autocomplete="off" '
             'data-tag-options="{&quot;required&quot;: true}" '
             'data-tagulous="true" '
             'id="id_tags" name="tags" {{required}}type="text" '
             'value="run, walk" />'
         ),
     )
示例#4
0
 def test_initial_tag_list(self):
     "Check initial tag list"
     t1 = self.tag_model.objects.create(name="red")
     t2 = self.tag_model.objects.create(name="blue")
     form = test_forms.TagFieldForm(initial={"tags": [t1, t2]})
     self.assertHTMLEqual(
         six.text_type(form["tags"]),
         (
             '<input autocomplete="off" '
             'data-tag-options="{&quot;required&quot;: true}" '
             'data-tagulous="true" '
             'id="id_tags" name="tags" {{required}}type="text" '
             'value="blue, red" />'
         ),
     )
示例#5
0
 def test_initial_tag_queryset(self):
     "Check initial tag queryset"
     self.tag_model.objects.create(name="red")
     self.tag_model.objects.create(name="blue")
     tags = self.tag_model.objects.all()
     form = test_forms.TagFieldForm(initial={"tags": tags})
     self.assertHTMLEqual(
         str(form["tags"]),
         (
             '<input autocomplete="off" '
             'data-tag-options="{&quot;required&quot;: true}" '
             'data-tagulous="true" '
             'id="id_tags" name="tags" {{required}}type="text" '
             'value="blue, red" />'
         ),
     )
示例#6
0
 def test_response(self):
     "Test response is as expected"
     form = test_forms.TagFieldForm(data={"tags": "red, blue"})
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data["tags"], ["blue", "red"])