Ejemplo n.º 1
0
    def test_sources_stored_for_model_with_two_fields(self):
        field = RichTextField(
            model=Article,
            field_name="text",
        )

        field2 = RichTextField(
            model=Article,
            field_name="title",
        )
        Article.objects.create(text=field.clean(value=self.text),
                               title=field2.clean(value=self.text + self.text))
        self.assert_equals(2, SourceText.objects.count())
        self.assert_equals(
            [self.text, self.text + self.text],
            [st.content for st in SourceText.objects.order_by('field')])
Ejemplo n.º 2
0
class TestCzechtileFieldCleaning(DatabaseTestCase):
    def setUp(self):
        try:
            import czechtile
        except ImportError:
            raise self.SkipTest("Czechtile not installed, skipping")
        super(TestCzechtileFieldCleaning, self).setUp()

        self.text = u"""= Test =
of ""Czechtile"" text.
"""
        self.text_czechtile = u"<h1>Test</h1><p>of <em>Czechtile</em> text.</p>"

        self.article = Article.objects.create(text=u"")
        self.field = RichTextField(instance=self.article,
                                   model=Article,
                                   syntax_processor_name="czechtile",
                                   field_name="text",
                                   required=True,
                                   label="Text")

    def test_render_retrieved(self):

        self.assert_equals(self.text_czechtile,
                           self.field.clean(value=self.text).strip())
Ejemplo n.º 3
0
class TestRichTextFieldCleaning(DatabaseTestCase):
    def setUp(self):
        super(TestRichTextFieldCleaning, self).setUp()

        self.text = u"我说,你们听。"
        self.article = Article.objects.create(text=u"")
        self.field = RichTextField(instance=self.article,
                                   model=Article,
                                   syntax_processor_name="markdown",
                                   field_name="text",
                                   required=True,
                                   label="Text")

    def test_source_text_not_stored_on_form_clean(self):
        self.field.clean(value=self.text)
        self.assert_equals(0, len(SourceText.objects.all()))


#    def test_source_text_stored_on_update(self):
#        self.field.clean(value=self.text)
#        new_value = u"对不起"
#        self.field.clean(value=new_value)
#        self.assert_equals(new_value, SourceText.objects.all()[0].content)

    def test_render_retrieved(self):
        self.assert_equals(u"<p>%s</p>" % self.text,
                           self.field.clean(value=self.text).strip())

    def test_sources_stored_for_model_with_two_fields(self):
        field = RichTextField(
            model=Article,
            field_name="text",
        )

        field2 = RichTextField(
            model=Article,
            field_name="title",
        )
        Article.objects.create(text=field.clean(value=self.text),
                               title=field2.clean(value=self.text + self.text))
        self.assert_equals(2, SourceText.objects.count())
        self.assert_equals(
            [self.text, self.text + self.text],
            [st.content for st in SourceText.objects.order_by('field')])

    def test_source_stored_for_fresh_model(self):
        self.field = RichTextField(instance=None,
                                   model=Article,
                                   syntax_processor_name="markdown",
                                   field_name="text",
                                   required=True,
                                   label="Text")
        Article.objects.create(text=self.field.clean(value=self.text))
        self.assert_equals(self.text, SourceText.objects.all()[0].content)

    def test_empty_clean_same_as_render(self):
        self.field = RichTextField(instance=self.article,
                                   model=Article,
                                   syntax_processor_name="markdown",
                                   field_name="text",
                                   required=False,
                                   label="Text")
        self.assert_equals(self.field.get_rendered_text(),
                           self.field.clean(u''))

    def test_deleting_article_deletes_source_text(self):
        self.field = RichTextField(instance=None,
                                   model=Article,
                                   syntax_processor_name="markdown",
                                   field_name="text",
                                   required=True,
                                   label="Text")
        a = Article.objects.create(text=self.field.clean(value=self.text))
        a.delete()

        self.assert_equals(0, SourceText.objects.count())