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')])
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())
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())