[silva.core.editor][Sylvain Viollon] Add support in order to get...

[email protected] Tue, 15 Oct 2013 15:42:38 +0200
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Tue Oct 15 15:42:34 2013 +0200
revision:  270:56b8af58c8db in silva.core.editor
branch:    
details:   https://hg.infrae.com/silva.core.editor?cmd=changeset;node=56b8af58c8db
modified:  src/silva/core/editor/interfaces.py src/silva/core/editor/tests/test_text.py src/silva/core/editor/text.py
added:     
removed:   
log:       Add support in order to get the size of the stored text.


diffstat:

 src/silva/core/editor/interfaces.py      |   4 ++++
 src/silva/core/editor/tests/test_text.py |  14 ++++++++++++--
 src/silva/core/editor/text.py            |   3 +++
 3 files changed, 19 insertions(+), 2 deletions(-)

diffs (52 lines):

diff -r 9b6c9b4e5968 -r 56b8af58c8db src/silva/core/editor/interfaces.py
--- a/src/silva/core/editor/interfaces.py	Wed Oct 09 15:37:58 2013 +0200
+++ b/src/silva/core/editor/interfaces.py	Tue Oct 15 15:42:34 2013 +0200
@@ -345,6 +345,10 @@
         """Return stored text without any transformation.
         """
 
+    def __len__():
+        """Return the size of the stored text.
+        """
+
 
 class ITextIndexEntries(interface.Interface):
     """Reprensent index entries in a text.
diff -r 9b6c9b4e5968 -r 56b8af58c8db src/silva/core/editor/tests/test_text.py
--- a/src/silva/core/editor/tests/test_text.py	Wed Oct 09 15:37:58 2013 +0200
+++ b/src/silva/core/editor/tests/test_text.py	Tue Oct 15 15:42:34 2013 +0200
@@ -34,9 +34,19 @@
     def setUp(self):
         self.root = self.layer.get_application()
 
-    def test_text(self):
-        text = Text('test_text', '')
+    def test_empty_text(self):
+        text = Text('test_text')
         self.assertTrue(verifyObject(IText, text))
+        self.assertEqual(len(text), 0)
+        self.assertEqual(str(text), "")
+        self.assertEqual(unicode(text), u"")
+
+    def test_html_text(self):
+        html_text = Text("test_intro", HTML_CHUNK)
+        self.assertTrue(verifyObject(IText, html_text))
+        self.assertEqual(len(html_text), 352)
+        self.assertEqual(str(html_text), HTML_CHUNK)
+        self.assertEqual(unicode(html_text), HTML_CHUNK)
 
 
 class IntroductionTestCase(TestCase):
diff -r 9b6c9b4e5968 -r 56b8af58c8db src/silva/core/editor/text.py
--- a/src/silva/core/editor/text.py	Wed Oct 09 15:37:58 2013 +0200
+++ b/src/silva/core/editor/text.py	Tue Oct 15 15:42:34 2013 +0200
@@ -97,6 +97,9 @@
         transformer = factory(self.__name, self, None, type)
         self.save_raw_text(transformer.truncate())
 
+    def __len__(self):
+        return len(self.__text)
+
     def __str__(self):
         return str(self.__text)