Changeset 2647:1c11a2f0249c in livinglogic.python.xist

Show
Ignore:
Timestamp:
02/06/07 20:00:17 (13 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Fix test_sims (drop namespace use).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • test/test_sims.py

    r2618 r2647  
    99## See xist/__init__.py for the license 
    1010 
     11 
     12from __future__ import with_statement 
    1113 
    1214import warnings 
     
    3638 
    3739def test_empty(): 
    38     class ns1(xsc.Namespace): 
     40    with xsc.Pool(): 
    3941        class el1(xsc.Element): 
    4042            model = sims.Empty() 
    4143 
    42     e = ns1.el1() 
    43     e.asBytes() 
    44  
    45     e = ns1.el1("gurk") 
    46     py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
    47  
    48     e = ns1.el1(php.php("gurk")) 
    49     py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
    50  
    51     e = ns1.el1(xsc.Comment("gurk")) 
    52     py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
    53  
    54     e = ns1.el1(ns1.el1()) 
    55     py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
     44        e = el1() 
     45        e.asBytes() 
     46     
     47        e = el1("gurk") 
     48        py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
     49     
     50        e = el1(php.php("gurk")) 
     51        py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
     52     
     53        e = el1(xsc.Comment("gurk")) 
     54        py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
     55     
     56        e = el1(el1()) 
     57        py.test.raises(sims.EmptyElementWithContentWarning, e.asBytes) 
    5658 
    5759 
    5860def test_elements(): 
    59     class ns1(xsc.Namespace): 
    60         class el1(xsc.Element): pass 
    61         class el2(xsc.Element): pass 
     61    with xsc.Pool(): 
     62        class el11(xsc.Element): 
     63            xmlname = "el1" 
     64            xmlns = "ns1" 
     65        class el12(xsc.Element): 
     66            xmlname = "el2" 
     67            xmlns = "ns1" 
     68        class el21(xsc.Element): 
     69            xmlname = "el1" 
     70            xmlns = "ns2" 
     71        class el22(xsc.Element): 
     72            xmlname = "el2" 
     73            xmlns = "ns2" 
    6274 
    63     class ns2(xsc.Namespace): 
    64         class el1(xsc.Element): pass 
    65         class el2(xsc.Element): pass 
    66  
    67     ns1.el1.model = sims.Elements(ns1.el1, ns2.el1) 
    68  
    69     e = ns1.el1() 
    70     e.asBytes() 
    71  
    72     e = ns1.el1("foo") 
    73     py.test.raises(sims.IllegalTextWarning, e.asBytes) 
    74  
    75     e = ns1.el1(php.php("gurk")) 
    76     e.asBytes() 
    77  
    78     e = ns1.el1(xsc.Comment("gurk")) 
    79     e.asBytes() 
    80  
    81     e = ns1.el1(ns1.el1()) 
    82     e.asBytes() 
    83  
    84     e = ns1.el1(ns2.el1()) 
    85     e.asBytes() 
    86  
    87     e = ns1.el1(ns1.el2()) 
    88     py.test.raises(sims.WrongElementWarning, e.asBytes) 
    89  
    90     e = ns1.el1(ns2.el2()) 
    91     py.test.raises(sims.WrongElementWarning, e.asBytes) 
     75        el11.model = sims.Elements(el11, el21) 
     76     
     77        e = el11() 
     78        e.asBytes() 
     79     
     80        e = el11("foo") 
     81        py.test.raises(sims.IllegalTextWarning, e.asBytes) 
     82     
     83        e = el11(php.php("gurk")) 
     84        e.asBytes() 
     85     
     86        e = el11(xsc.Comment("gurk")) 
     87        e.asBytes() 
     88     
     89        e = el11(el11()) 
     90        e.asBytes() 
     91     
     92        e = el11(el21()) 
     93        e.asBytes() 
     94     
     95        e = el11(el12()) 
     96        py.test.raises(sims.WrongElementWarning, e.asBytes) 
     97     
     98        e = el11(el22()) 
     99        py.test.raises(sims.WrongElementWarning, e.asBytes) 
    92100 
    93101 
    94102def test_elementsortext(): 
    95     class ns1(xsc.Namespace): 
    96         class el1(xsc.Element): pass 
    97         class el2(xsc.Element): pass 
     103    with xsc.Pool(): 
     104        class el11(xsc.Element): 
     105            xmlname = "el1" 
     106            xmlns = "ns1" 
     107        class el12(xsc.Element): 
     108            xmlname = "el2" 
     109            xmlns = "ns1" 
     110        class el21(xsc.Element): 
     111            xmlname = "el1" 
     112            xmlns = "ns2" 
     113        class el22(xsc.Element): 
     114            xmlname = "el2" 
     115            xmlns = "ns2" 
    98116 
    99     class ns2(xsc.Namespace): 
    100         class el1(xsc.Element): pass 
    101         class el2(xsc.Element): pass 
    102  
    103     ns1.el1.model = sims.ElementsOrText(ns1.el1, ns2.el1) 
    104  
    105     e = ns1.el1() 
    106     e.asBytes() 
    107  
    108     e = ns1.el1("foo") 
    109     e.asBytes() 
    110  
    111     e = ns1.el1(php.php("gurk")) 
    112     e.asBytes() 
    113  
    114     e = ns1.el1(xsc.Comment("gurk")) 
    115     e.asBytes() 
    116  
    117     e = ns1.el1(ns1.el1()) 
    118     e.asBytes() 
    119  
    120     e = ns1.el1(ns2.el1()) 
    121     e.asBytes() 
    122  
    123     e = ns1.el1(ns1.el2()) 
    124     py.test.raises(sims.WrongElementWarning, e.asBytes) 
    125  
    126     e = ns1.el1(ns2.el2()) 
    127     py.test.raises(sims.WrongElementWarning, e.asBytes) 
     117        el11.model = sims.ElementsOrText(el11, el21) 
     118     
     119        e = el11() 
     120        e.asBytes() 
     121     
     122        e = el11("foo") 
     123        e.asBytes() 
     124     
     125        e = el11(php.php("gurk")) 
     126        e.asBytes() 
     127     
     128        e = el11(xsc.Comment("gurk")) 
     129        e.asBytes() 
     130     
     131        e = el11(el11()) 
     132        e.asBytes() 
     133     
     134        e = el11(el21()) 
     135        e.asBytes() 
     136     
     137        e = el11(el12()) 
     138        py.test.raises(sims.WrongElementWarning, e.asBytes) 
     139     
     140        e = el11(el22()) 
     141        py.test.raises(sims.WrongElementWarning, e.asBytes) 
    128142 
    129143 
    130144def test_noelements(): 
    131     class ns1(xsc.Namespace): 
     145    with xsc.Pool(): 
    132146        class el1(xsc.Element): 
     147            xmlns = "ns1" 
    133148            model = sims.NoElements() 
     149        class el2(xsc.Element): 
     150            xmlns = "ns2" 
    134151 
    135     class ns2(xsc.Namespace): 
    136         class el1(xsc.Element): pass 
     152        e = el1() 
     153        e.asBytes() 
     154     
     155        e = el1("foo") 
     156        e.asBytes() 
     157     
     158        e = el1(php.php("gurk")) 
     159        e.asBytes() 
     160     
     161        e = el1(xsc.Comment("gurk")) 
     162        e.asBytes() 
     163     
     164        e = el1(el1()) 
     165        py.test.raises(sims.ElementWarning, e.asBytes) 
    137166 
    138     e = ns1.el1() 
    139     e.asBytes() 
    140  
    141     e = ns1.el1("foo") 
    142     e.asBytes() 
    143  
    144     e = ns1.el1(php.php("gurk")) 
    145     e.asBytes() 
    146  
    147     e = ns1.el1(xsc.Comment("gurk")) 
    148     e.asBytes() 
    149  
    150     e = ns1.el1(ns1.el1()) 
    151     py.test.raises(sims.ElementWarning, e.asBytes) 
    152  
    153     e = ns1.el1(ns2.el1()) 
    154     e.asBytes() 
     167        # Elements from a different namespace are OK 
     168        e = el1(el2()) 
     169        e.asBytes() 
    155170 
    156171 
    157172def test_noelementsortext(): 
    158     class ns1(xsc.Namespace): 
     173    with xsc.Pool(): 
    159174        class el1(xsc.Element): 
     175            xmlns = "ns1" 
    160176            model = sims.NoElementsOrText() 
     177        class el2(xsc.Element): 
     178            xmlns = "ns2" 
    161179 
    162     class ns2(xsc.Namespace): 
    163         class el1(xsc.Element): pass 
    164  
    165     e = ns1.el1() 
    166     e.asBytes() 
    167  
    168     e = ns1.el1("foo") 
    169     py.test.raises(sims.IllegalTextWarning, e.asBytes) 
    170  
    171     e = ns1.el1(php.php("gurk")) 
    172     e.asBytes() 
    173  
    174     e = ns1.el1(xsc.Comment("gurk")) 
    175     e.asBytes() 
    176  
    177     e = ns1.el1(ns1.el1()) 
    178     py.test.raises(sims.ElementWarning, e.asBytes) 
    179  
    180     e = ns1.el1(ns2.el1()) 
    181     e.asBytes() 
     180        e = el1() 
     181        e.asBytes() 
     182     
     183        e = el1("foo") 
     184        py.test.raises(sims.IllegalTextWarning, e.asBytes) 
     185     
     186        e = el1(php.php("gurk")) 
     187        e.asBytes() 
     188     
     189        e = el1(xsc.Comment("gurk")) 
     190        e.asBytes() 
     191     
     192        e = el1(el1()) 
     193        py.test.raises(sims.ElementWarning, e.asBytes) 
     194     
     195        # Elements from a different namespace are OK 
     196        e = el1(el2()) 
     197        e.asBytes()