-
Notifications
You must be signed in to change notification settings - Fork 0
/
xslt-unit-tests.xspec
170 lines (155 loc) · 5.82 KB
/
xslt-unit-tests.xspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?xml version="1.0" encoding="UTF-8"?>
<x:description xmlns:x="http://www.jenitennison.com/xslt/xspec"
xmlns:pa="http://www.pagina-online.de/xlib"
stylesheet="../xlib.xsl">
<x:scenario label="Scenario for testing function create_uri">
<x:scenario label="Windows Pfad">
<x:call function="pa:create_uri">
<x:param name="path" select="'C:\Users\To Fi\git\xLib\demo.xsl'"/>
</x:call>
<x:expect label="Windows-Pfad" select="xs:string('file:///C:/Users/To%20Fi/git/xLib/demo.xsl')"/>
</x:scenario>
<x:scenario label="Mac Pfad">
<x:call function="pa:create_uri">
<x:param name="path" select="'/Users/To Fi/git/xLib/demo.xsl'"/>
</x:call>
<x:expect label="Mac-Pfad" select="xs:string('file:////Users/To%20Fi/git/xLib/demo.xsl')"/>
</x:scenario>
</x:scenario>
<x:scenario label="When passing a node to function get-current-xpath">
<x:call function="pa:get-current-xpath">
<x:param name="current-node" select="/root/element/child/inline/node()">
<root>
<element>
<child>Content <inline>in</inline> child</child>
</element>
</root>
</x:param>
</x:call>
<x:expect label="it should return the absolute path of the node" select="'/root[1]/element[1]/child[1]/inline[1]'"/>
</x:scenario>
<x:scenario label="Scenario for testing function Character-to-hexCode">
<x:scenario label="pa:Character-to-hexCode('A')">
<x:call function="pa:Character-to-hexCode">
<x:param name="character" select="'A'"/>
</x:call>
<x:expect label="A ist #x0041" select="'#x0041'"/>
</x:scenario>
<x:scenario label="pa:Character-to-hexCode(' ')">
<x:call function="pa:Character-to-hexCode">
<x:param name="character" select="' '"/>
</x:call>
<x:expect label="Em Space ist #x2001" select="'#x2001'"/>
</x:scenario>
<x:scenario label="pa:Character-to-hexCode('😀')">
<x:call function="pa:Character-to-hexCode">
<x:param name="character" select="'😀'"/>
</x:call>
<x:expect label="😀 ist #x1F600" select="'#x1F600'"/>
</x:scenario>
</x:scenario>
<x:scenario label="Scenario for testing function decimal-to-hex">
<x:scenario label="pa:decimal-to-hex(65)">
<x:call function="pa:decimal-to-hex">
<x:param name="decimalNumber" select="65"/>
</x:call>
<x:expect label="Dezimalzahl 65 ist hexadezimal 41" select="'41'"/>
</x:scenario>
<x:scenario label="pa:decimal-to-hex(8193)">
<x:call function="pa:decimal-to-hex">
<x:param name="decimalNumber" select="8193"/>
</x:call>
<x:expect label="Dezimalzahl 8193 ist hexadezimal 2001" select="'2001'"/>
</x:scenario>
<x:scenario label="pa:decimal-to-hex(128512)">
<x:call function="pa:decimal-to-hex">
<x:param name="decimalNumber" select="128512"/>
</x:call>
<x:expect label="Dezimalzahl 128512 ist hexadezimal 1F600" select="'1F600'"/>
</x:scenario>
</x:scenario>
<x:scenario label="Scenario for testing function is-element">
<x:scenario label="Test auf Element">
<x:call function="pa:is-element">
<x:param name="item"><root/></x:param>
</x:call>
<x:expect label="Element ist ein Element -> true()" select="true()"/>
</x:scenario>
<x:scenario label="Test auf Attribut">
<x:call function="pa:is-element">
<x:param name="item" select="@attribut"/>
</x:call>
<x:expect label="Attribut ist kein Element -> false()" select="false()"/>
</x:scenario>
<x:scenario label="Test auf Kommentar">
<x:call function="pa:is-element">
<x:param name="item"><!-- comment --></x:param>
</x:call>
<x:expect label="Kommentar ist kein Element -> false()" select="false()"/>
</x:scenario>
<x:scenario label="Test auf PI">
<x:call function="pa:is-element">
<x:param name="item"><?processing instruction?></x:param>
</x:call>
<x:expect label="PI ist kein Element -> false()" select="false()"/>
</x:scenario>
</x:scenario>
<x:scenario label="Scenario for testing function int-to-letter">
<x:scenario label="pa:int-to-letter(1)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="1"/>
</x:call>
<x:expect label="1 -> a" select="'a'"/>
</x:scenario>
<x:scenario label="pa:int-to-letter(13)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="13"/>
</x:call>
<x:expect label="13 -> m" select="'m'"/>
</x:scenario>
<x:scenario label="pa:int-to-letter(26)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="26"/>
</x:call>
<x:expect label="26 -> z" select="'z'"/>
</x:scenario>
<x:scenario label="pa:int-to-letter(27)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="27"/>
</x:call>
<x:expect label="27 -> aa" select="'aa'"/>
</x:scenario>
<x:scenario label="pa:int-to-letter(39)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="39"/>
</x:call>
<x:expect label="39 -> am" select="'am'"/>
</x:scenario>
<x:scenario label="pa:int-to-letter(113)">
<x:call function="pa:int-to-letter">
<x:param name="int" select="113"/>
</x:call>
<x:expect label="113 -> di" select="'di'"/>
</x:scenario>
</x:scenario>
<x:scenario label="Scenario for testing function capitalize-first">
<x:scenario label="pa:capitalize-first('hallo')">
<x:call function="pa:capitalize-first">
<x:param name="arg" select="'hallo'"/>
</x:call>
<x:expect label="hallo -> Hallo" select="'Hallo'"/>
</x:scenario>
<x:scenario label="pa:capitalize-first('Hallo')">
<x:call function="pa:capitalize-first">
<x:param name="arg" select="'Hallo'"/>
</x:call>
<x:expect label="Hallo -> Hallo" select="'Hallo'"/>
</x:scenario>
<x:scenario label="pa:capitalize-first('hallo welt')">
<x:call function="pa:capitalize-first">
<x:param name="arg" select="'hallo welt'"/>
</x:call>
<x:expect label="hallo welt -> Hallo Welt" select="'Hallo welt'"/>
</x:scenario>
</x:scenario>
</x:description>