diff --git a/tests/test_renderers.py b/tests/test_renderers.py
index de89e50aa..48ace1626 100644
--- a/tests/test_renderers.py
+++ b/tests/test_renderers.py
@@ -485,3 +485,90 @@ class TestHTMLFormRenderer(TestCase):
result = renderer.render(self.serializer.data, None, {})
self.assertIsInstance(result, SafeText)
+
+
+class TestChoiceFieldHTMLFormRenderer(TestCase):
+ """
+ Test rendering ChoiceField with HTMLFormRenderer.
+ """
+
+ def setUp(self):
+ choices = ((1, 'Option1'), (2, 'Option2'), (12, 'Option12'))
+
+ class TestSerializer(serializers.Serializer):
+ test_field = serializers.ChoiceField(choices=choices,
+ initial=2)
+
+ self.TestSerializer = TestSerializer
+ self.renderer = HTMLFormRenderer()
+
+ def test_render_initial_option(self):
+ serializer = self.TestSerializer()
+ result = self.renderer.render(serializer.data)
+
+ self.assertIsInstance(result, SafeText)
+
+ self.assertInHTML('',
+ result)
+ self.assertInHTML('', result)
+ self.assertInHTML('', result)
+
+ def test_render_selected_option(self):
+ serializer = self.TestSerializer(data={'test_field': '12'})
+
+ serializer.is_valid()
+ result = self.renderer.render(serializer.data)
+
+ self.assertIsInstance(result, SafeText)
+
+ self.assertInHTML('',
+ result)
+ self.assertInHTML('', result)
+ self.assertInHTML('', result)
+
+
+class TestMultipleChoiceFieldHTMLFormRenderer(TestCase):
+ """
+ Test rendering MultipleChoiceField with HTMLFormRenderer.
+ """
+
+ def setUp(self):
+ self.renderer = HTMLFormRenderer()
+
+ def test_render_selected_option_with_string_option_ids(self):
+ choices = (('1', 'Option1'), ('2', 'Option2'), ('12', 'Option12'),
+ ('}', 'OptionBrace'))
+
+ class TestSerializer(serializers.Serializer):
+ test_field = serializers.MultipleChoiceField(choices=choices)
+
+ serializer = TestSerializer(data={'test_field': ['12']})
+ serializer.is_valid()
+
+ result = self.renderer.render(serializer.data)
+
+ self.assertIsInstance(result, SafeText)
+
+ self.assertInHTML('',
+ result)
+ self.assertInHTML('', result)
+ self.assertInHTML('', result)
+ self.assertInHTML('', result)
+
+ def test_render_selected_option_with_integer_option_ids(self):
+ choices = ((1, 'Option1'), (2, 'Option2'), (12, 'Option12'))
+
+ class TestSerializer(serializers.Serializer):
+ test_field = serializers.MultipleChoiceField(choices=choices)
+
+ serializer = TestSerializer(data={'test_field': ['12']})
+ serializer.is_valid()
+
+ result = self.renderer.render(serializer.data)
+
+ self.assertIsInstance(result, SafeText)
+
+ self.assertInHTML('',
+ result)
+ self.assertInHTML('', result)
+ self.assertInHTML('', result)