root/livinglogic.python.xist/test/test_xist_sims.py @ 4042:374af534512f

Revision 4042:374af534512f, 3.1 KB (checked in by Walter Doerwald <walter@…>, 9 years ago)

Strip trailing whitespace.

Line 
1#! /usr/bin/env/python
2# -*- coding: utf-8 -*-
3
4## Copyright 1999-2010 by LivingLogic AG, Bayreuth/Germany
5## Copyright 1999-2010 by Walter Dörwald
6##
7## All Rights Reserved
8##
9## See ll/__init__.py for the license
10
11
12from ll.xist import xsc, sims
13from ll.xist.ns import html, php
14
15
16def test_empty(recwarn):
17    with xsc.Pool():
18        class el1(xsc.Element):
19            model = sims.Empty()
20
21        e = el1()
22        e.bytes()
23
24        e = el1(u"gurk")
25        e.bytes()
26        w = recwarn.pop(sims.EmptyElementWithContentWarning)
27
28        e = el1(php.php(u"gurk"))
29        e.bytes()
30        w = recwarn.pop(sims.EmptyElementWithContentWarning)
31
32        e = el1(xsc.Comment(u"gurk"))
33        e.bytes()
34        w = recwarn.pop(sims.EmptyElementWithContentWarning)
35
36        e = el1(el1())
37        e.bytes()
38        w = recwarn.pop(sims.EmptyElementWithContentWarning)
39
40
41def test_elements(recwarn):
42    with xsc.Pool():
43        class el11(xsc.Element):
44            xmlname = "el1"
45            xmlns = "ns1"
46        class el12(xsc.Element):
47            xmlname = "el2"
48            xmlns = "ns1"
49        class el21(xsc.Element):
50            xmlname = "el1"
51            xmlns = "ns2"
52        class el22(xsc.Element):
53            xmlname = "el2"
54            xmlns = "ns2"
55
56        el11.model = sims.Elements(el11, el21)
57
58        e = el11()
59        e.bytes()
60
61        e = el11(u"foo")
62        e.bytes()
63        w = recwarn.pop(sims.IllegalTextWarning)
64
65        e = el11(php.php(u"gurk"))
66        e.bytes()
67
68        e = el11(xsc.Comment(u"gurk"))
69        e.bytes()
70
71        e = el11(el11())
72        e.bytes()
73
74        e = el11(el21())
75        e.bytes()
76
77        e = el11(el12())
78        e.bytes()
79        w = recwarn.pop(sims.WrongElementWarning)
80
81        e = el11(el22())
82        e.bytes()
83        w = recwarn.pop(sims.WrongElementWarning)
84
85
86def test_elementsortext(recwarn):
87    with xsc.Pool():
88        class el11(xsc.Element):
89            xmlname = "el1"
90            xmlns = "ns1"
91        class el12(xsc.Element):
92            xmlname = "el2"
93            xmlns = "ns1"
94        class el21(xsc.Element):
95            xmlname = "el1"
96            xmlns = "ns2"
97        class el22(xsc.Element):
98            xmlname = "el2"
99            xmlns = "ns2"
100
101        el11.model = sims.ElementsOrText(el11, el21)
102
103        e = el11()
104        e.bytes()
105
106        e = el11(u"foo")
107        e.bytes()
108
109        e = el11(php.php(u"gurk"))
110        e.bytes()
111
112        e = el11(xsc.Comment(u"gurk"))
113        e.bytes()
114
115        e = el11(el11())
116        e.bytes()
117
118        e = el11(el21())
119        e.bytes()
120
121        e = el11(el12())
122        e.bytes()
123        w = recwarn.pop(sims.WrongElementWarning)
124
125        e = el11(el22())
126        e.bytes()
127        w = recwarn.pop(sims.WrongElementWarning)
128
129
130def test_noelements(recwarn):
131    with xsc.Pool():
132        class el1(xsc.Element):
133            xmlns = "ns1"
134            model = sims.NoElements()
135        class el2(xsc.Element):
136            xmlns = "ns2"
137
138        e = el1()
139        e.bytes()
140
141        e = el1(u"foo")
142        e.bytes()
143
144        e = el1(php.php(u"gurk"))
145        e.bytes()
146
147        e = el1(xsc.Comment(u"gurk"))
148        e.bytes()
149
150        e = el1(el1())
151        e.bytes()
152        w = recwarn.pop(sims.ElementWarning)
153
154        # Elements from a different namespace are OK
155        e = el1(el2())
156        e.bytes()
157
158
159def test_noelementsortext(recwarn):
160    with xsc.Pool():
161        class el1(xsc.Element):
162            xmlns = "ns1"
163            model = sims.NoElementsOrText()
164        class el2(xsc.Element):
165            xmlns = "ns2"
166
167        e = el1()
168        e.bytes()
169
170        e = el1(u"foo")
171        e.bytes()
172        w = recwarn.pop(sims.IllegalTextWarning)
173
174        e = el1(php.php(u"gurk"))
175        e.bytes()
176
177        e = el1(xsc.Comment(u"gurk"))
178        e.bytes()
179
180        e = el1(el1())
181        e.bytes()
182        w = recwarn.pop(sims.ElementWarning)
183
184        # Elements from a different namespace are OK
185        e = el1(el2())
186        e.bytes()
Note: See TracBrowser for help on using the browser.