Edgewall Software

Ticket #4339: t4339b.diff

File t4339b.diff, 3.2 KB (added by thatch, 5 years ago)

New patch, closer to the problem, as of r4575

  • trac/mimeview/tests/pygments_renderer.py

     
    4646    def _test(self, expected_id, result): 
    4747        expected = str(self._expected(expected_id)) 
    4848        result = str(result) 
     49        print "E: " + expected 
     50        print "R: " + result 
    4951        expected, result = expected.splitlines(), result.splitlines() 
    5052        for exp, res in zip(expected, result): 
    5153            self.assertEquals(exp, res) 
  • trac/mimeview/tests/pygments.html

     
    1313  <body> 
    1414    <h1>Pygments Renderer Test Cases</h1> 
    1515    <br /> 
    16     <div id="python_hello"> 
    17 <span class="k">def</span><span class=""> </span><span class="nf">hello</span><span class="">(): 
     16    <div id="python_hello"><span class="k">def</span> <span class="nf">hello</span>(): 
     17        <span class="k">return</span> <span class="s">"Hello World!"</span> 
     18</div> 
     19    <div id="python_hello_mimeview"><div class="code"><pre><span class="k">def</span><span class=""> </span><span class="nf">hello</span><span class="">(): 
    1820        </span><span class="k">return</span><span class=""> </span><span class="s">"Hello World!"</span><span class=""> 
    19 </span> 
    20     </div> 
    21     <div id="python_hello_mimeview"> 
    22 <div class="code"><pre><span class="k">def</span><span class=""> </span><span class="nf">hello</span><span class="">(): 
    23         </span><span class="k">return</span><span class=""> </span><span class="s">"Hello World!"</span><span class=""> 
    2421</span></pre></div> 
    2522    </div> 
    2623    <div id="empty_content"> 
    27 <span class=""> 
    28 </span> 
    29     </div> 
     24</div> 
    3025    <hr /> 
    3126  </body> 
    3227</html> 
  • trac/mimeview/pygments_renderer.py

     
    224224 
    225225            def _generate(): 
    226226                lattrs = None 
     227                t = [] 
    227228 
    228229                for ttype, value in tokens: 
    229                     attrs = Attrs([('class', self._get_css_class(ttype))]) 
     230                    attrs = self._get_css_class(ttype) 
    230231 
    231232                    if attrs == lattrs: 
    232                         yield TEXT, value, pos 
     233                        t.append(value) 
    233234 
    234235                    elif value: # if no value, leave old span open 
     236                        yield TEXT, u''.join(t), pos 
    235237                        if lattrs: 
    236238                            yield END, span, pos 
    237239                        lattrs = attrs 
    238240                        if attrs: 
    239                             yield START, (span, attrs), pos 
    240                         yield TEXT, value, pos 
     241                            a = Attrs([('class', attrs)]) 
     242                            yield START, (span, a), pos 
     243                        t = [value] 
    241244 
     245                if t: 
     246                    yield TEXT, u''.join(t), pos 
    242247                if lattrs: 
    243248                    yield END, span, pos 
    244249