Changeset 2438:93ef02e9ff92 in livinglogic.python.xist

Show
Ignore:
Timestamp:
07/01/05 13:59:25 (15 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Update sorted() for elements too.

Files:
2 modified

Legend:

Unmodified
Added
Removed
  • _xist/xsc.py

    r2426 r2438  
    32093209        return node 
    32103210 
    3211     def sorted(self, compare=lambda node1, node2: cmp(unicode(node1), unicode(node2))): 
     3211    def sorted(self, cmp=None, key=None, reverse=False): 
    32123212        """ 
    32133213        returns a sorted version of <self/>. <arg>compare</arg> is a comparison 
     
    32173217        node = self.__class__() 
    32183218        node.attrs = self.attrs.clone() 
    3219         node.content = self.content.sorted(compare) 
     3219        node.content = self.content.sorted(cmp, key, reverse) 
    32203220        return node 
    32213221 
  • test/test_xist.py

    r2407 r2438  
    862862 
    863863 
    864  
    865864def test_sortedreversed(): 
    866     def check(method): 
    867         for class_ in (xsc.Frag, html.div): 
    868             node = class_(3, 2, 1) 
    869             node2 = getattr(node, method)() 
    870             assert node == class_(3, 2, 1) 
    871             assert node2 == class_(1, 2, 3) 
    872  
    873     yield check, "sorted" 
    874     yield check, "reversed" 
     865    for class_ in (xsc.Frag, html.div): 
     866        node = class_(3, 2, 1) 
     867        node2 = node.sorted(key=str) 
     868        assert node == class_(3, 2, 1) 
     869        assert node2 == class_(1, 2, 3) 
     870 
     871    for class_ in (xsc.Frag, html.div): 
     872        node = class_(3, 2, 1) 
     873        node2 = node.reversed() 
     874        assert node == class_(3, 2, 1) 
     875        assert node2 == class_(1, 2, 3) 
     876