Пример #1
0
class TestRichTextFieldModifications(UnitTestCase):
    def setUp(self):
        super(TestRichTextFieldModifications, self).setUp()
        self.field = RichTextField(instance=Article(),
                                   model=Article,
                                   syntax_processor_name="markdown",
                                   field_name="text",
                                   required=True,
                                   label="Text")

    def test_retrieve_empty_source_for_empty_article(self):
        self.assert_equals(u'', self.field.get_source().content)

    def test_source_available_for_empty_article(self):
        self.assert_equals(u'', self.field.get_source_text())

    def test_render_available_for_empty_article(self):
        #self.assert_equals(u'<p></p>', self.field.get_rendered_text().strip())
        raise self.SkipTest()

    def test_value_error_raised_when_accessing_source_without_instance(self):
        field = RichTextField(instance=None,
                              model=Article,
                              syntax_processor_name="markdown",
                              field_name="text",
                              required=True,
                              label="Text")

        self.assert_raises(ValueError, field.get_source)
Пример #2
0
 def setUp(self):
     super(TestRichTextFieldModifications, self).setUp()
     self.field = RichTextField(instance=Article(),
                                model=Article,
                                syntax_processor_name="markdown",
                                field_name="text",
                                required=True,
                                label="Text")
Пример #3
0
 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''))
Пример #4
0
 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)
Пример #5
0
    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")
Пример #6
0
    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())
Пример #7
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())
Пример #8
0
    def test_value_error_raised_when_accessing_source_without_instance(self):
        field = RichTextField(instance=None,
                              model=Article,
                              syntax_processor_name="markdown",
                              field_name="text",
                              required=True,
                              label="Text")

        self.assert_raises(ValueError, field.get_source)
Пример #9
0
    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")
Пример #10
0
 def formfield_for_dbfield(self, db_field, **kwargs):
     if db_field.name in self.rich_text_field_names:
         kwargs.update({
             'required': not db_field.blank,
             'label': db_field.verbose_name,
             'field_name': db_field.name,
             'instance': self._magic_instance,
             'model': self.model,
             'syntax_processor_name': self.syntax_processor_name,
         })
         return RichTextField(**kwargs)
     return super(RichTextModelAdmin,
                  self).formfield_for_dbfield(db_field, **kwargs)
Пример #11
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')])
Пример #12
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())