src/cm/tests/test_spannifier.py
author gibus
Wed, 11 Sep 2013 23:13:01 +0200
changeset 532 0bad3613f59d
parent 271 542f1b389a29
permissions -rw-r--r--
Reverse to YUI 3.0.0 since with YUI.3.10.3, comment content including words 'paragraph' or 'section' do not show up on Firefox, this is weird and has to be investigated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
from django.test import TestCase
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
from cm.utils.spannifier import *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
from BeautifulSoup import BeautifulSoup
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
# python manage.py test 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
# python manage.py test cm.SpannifyTest
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
file_tests = ["simple.html",]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
class SpannifyTest(TestCase):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
    def test_spannify(self):
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
        string_tests_spannify = [
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
                                 [u"""<body>kéké</body>""", 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
                                  u"""<body><span id="sv_0" class="c-s"><span id="sv-0" class="c-count-0 c-c">kéké</span></span></body>""",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
                                  u'kéké',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
                                  ],
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
                                  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
                                 [u"""<body>aaa <span>bbb</span> ccc ddd <b>eee</b></body>""",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
                                  u"""<body><span id="sv_0" class="c-s"><span id="sv-0" class="c-count-0 c-c">aaa </span></span><span><span id="sv_1" class="c-s"><span id="sv-1" class="c-count-0 c-c">bbb</span></span></span><span id="sv_2" class="c-s"><span id="sv-2" class="c-count-0 c-c"> ccc ddd </span></span><b><span id="sv_3" class="c-s"><span id="sv-3" class="c-count-0 c-c">eee</span></span></b></body>""",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
                                  u"""aaa bbb ccc ddd eee""",]                                  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
                                ]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
#        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
        for input, expected_spanned, expected_raw in string_tests_spannify :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
            res, raw_text, corresp = spannify(input)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
            self.assertEqual(unicode(res),expected_spanned)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
            self.assertEqual(unicode(raw_text),expected_raw)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
#        for filename in file_tests :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
#            if filename[:5] == "span_" :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
#                doc = xml.dom.minidom.parse('cm/tests/data/%s' % filename)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
#                soup = BeautifulSoup('cm/tests/data/%s' % filename, convertEntities=["xml", "html"])
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
#                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
#                res = spannifier.spannify(doc)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
#                res2 = spannifier.spannify_new(soup)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
#                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
#                expectedResult = file('cm/tests/data/res_%s' % filename).read()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
##                print res
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
#                self.assertEqual(res2,expectedResult)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
271
542f1b389a29 add test case for long lasting spannify
raph
parents: 0
diff changeset
    45
542f1b389a29 add test case for long lasting spannify
raph
parents: 0
diff changeset
    46
    def test_long_spannify(self):
542f1b389a29 add test case for long lasting spannify
raph
parents: 0
diff changeset
    47
        content =  unicode(file('src/cm/tests/data/long_text_to_spannify.html').read(), 'utf8')
542f1b389a29 add test case for long lasting spannify
raph
parents: 0
diff changeset
    48
        
542f1b389a29 add test case for long lasting spannify
raph
parents: 0
diff changeset
    49
        res, raw_text, corresp = spannify(content)