def test_appendtextarea_timestamp_widget(self): """ This is a test I can write """ request = FakeRequest() mystring = str('<<<<this is a test string>>>>') doc = makeContent(self.folder, portal_type='ComplexType', id='demodoc') field = doc.Schema()['textarea_appendonly_timestamp'] widget = field.widget form = {'textarea_appendonly_timestamp': ''} result = widget.process_form(doc, field, form) expected = '', {} self.assertEqual(expected, result) form = {'textarea_appendonly_timestamp': mystring} expected = mystring, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) doc.Schema()[field.getName()].set(doc, mystring) form = {'textarea_appendonly_timestamp': mystring} expectation = mystring + '\n\n' + str(DateTime()) + widget.divider + mystring, {} results = widget.process_form(doc, field, form) # some magic (nightmares?) here for rectifying DateTime delay result = results[0].split('\n\n') expected = expectation[0].split('\n\n') result[1] = result[1].split(' ') expected[1] = expected[1].split(' ') result[1][1] = expected[1][1][:-3] expected[1][1] = expected[1][1][:-3] self.assertEqual(expected, result)
def test_appendtextarea_widget(self): request = FakeRequest() mystring = str('<<<<this is a test string>>>>') doc = makeContent(self.folder, portal_type='ComplexType', id='demodoc') field = doc.Schema()['textarea_appendonly'] widget = field.widget form = {'textarea_appendonly': ''} result = widget.process_form(doc, field, form) expected = '', {} self.assertEqual(expected, result) form = {'textarea_appendonly': mystring} expected = mystring, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) doc.Schema()[field.getName()].set(doc, mystring) form = {'textarea_appendonly': mystring} expected = mystring + widget.divider + mystring, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result)
def test_maxlength_textarea_widget(self): """ Show me HOW to write this test and I will ~Spanky """ request = FakeRequest() mystring = str('The little black dog jumped over the sleeping Moose') doc = makeContent(self.folder, portal_type='ComplexType', id='demodoc') field = doc.Schema()['textarea_maxlength'] widget = field.widget form = {'textarea_maxlength': ''} result = widget.process_form(doc, field, form) expected = '', {} self.assertEqual(expected, result) form = {'textarea_maxlength': mystring} expected = mystring, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) doc.Schema()[field.getName()].set(doc, mystring) form = {'textarea_maxlength': mystring} expected = 'The little black dog', {} result = widget.process_form(doc, field, form)
def test_rich_text_widget(self): request = FakeRequest() doc = makeContent(self.folder, portal_type='ComplexType', id='demodoc') field = doc.Schema()['richtextfield'] widget = field.widget form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': stub_bin_file, 'richtextfield': '', } expected = stub_bin_file, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': stub_bin_file, 'richtextfield': stub_text_file, } expected = stub_bin_file, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': stub_text_file, 'richtextfield': '', } expected = stub_text_file, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': stub_text_file, 'richtextfield': stub_text_content, } expected = stub_text_file, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': '', 'richtextfield': stub_text_content, } expected = stub_text_content, {'mimetype': 'text/x-rst'} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = {'richtextfield_file': stub_text_file} request.form.update(form) doc.processForm(REQUEST=request) self.assertEqual(field.getContentType(doc), 'text/x-rst') # XXX: This makes wv-1.0.3 spin. #form = {'richtextfield_file': stub_bin_file} #request.form.update(form) #doc.processForm(REQUEST=request) #self.assertEqual(field.getContentType(doc), 'application/msword') #self.assertEqual(str(doc[field.getName()]), stub_bin_content) form = { 'richtextfield_text_format': 'text/x-rst', 'richtextfield_file': '', 'richtextfield': stub_text_content, } expected = stub_text_content, {'mimetype': 'text/x-rst'} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': '', 'richtextfield_file': '', 'richtextfield': stub_text_content, } expected = stub_text_content, {} result = widget.process_form(doc, field, form) self.assertEqual(expected, result) form = { 'richtextfield_text_format': 'text/plain', 'richtextfield_file': stub_text_file, } request.form.update(form) doc.processForm(REQUEST=request) self.assertEqual(field.getContentType(doc), 'text/x-rst') self.assertEqual(str(doc[field.getName()]), stub_text_content)