/
WebTests.st
149 lines (90 loc) · 2.36 KB
/
WebTests.st
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
Module import: #Web.
[Web isNil not] assert.
[Web.Canvas isNil not] assert.
[Web.Component isNil not] assert.
[Web.Brush isNil not] assert.
!
| canvas |
canvas := Web.Canvas new.
canvas render: 'Hello'.
[canvas asString = 'Hello'] assert
!
| canvas brush |
canvas := Web.Canvas new.
brush := Web.Brush new.
brush tag: 'h1'.
brush canvas: canvas.
brush with: 'Hello'.
[canvas asString = '<h1>Hello</h1>'] assert
!
| canvas brush |
canvas := Web.Canvas new.
brush := Web.Paragraph new.
brush canvas: canvas.
brush with: 'Hello'.
[canvas asString = '<p>Hello</p>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas paragraph: 'Hello'.
"(@System.Exception new: canvas asString) raise."
[canvas asString = '<p>Hello</p>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas paragraph: 'Hello'.
canvas paragraph: 'World'.
[canvas asString = '<p>Hello</p><p>World</p>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas header: 'Hello, World'.
[canvas asString = '<h1>Hello, World</h1>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas header: 'Hello, World'.
canvas paragraph: 'Great demo'.
[canvas asString = '<h1>Hello, World</h1><p>Great demo</p>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas header: 'Hello, World'.
canvas paragraph: [
canvas render: 'Great '.
canvas render: 'demo'
].
[canvas asString = '<h1>Hello, World</h1><p>Great demo</p>'] assert.
!
| canvas brush |
canvas := Web.Canvas new.
canvas header: 'Hello, World'.
canvas div: [
canvas render: 'Great '.
canvas render: 'demo'
].
[canvas asString = '<h1>Hello, World</h1><div>Great demo</div>'] assert.
!
| canvas |
canvas := Web.Canvas new.
Web.Canvas define: #Html tag: 'html'.
canvas html: 'Example'.
[canvas asString = '<html>Example</html>'] assert.
!
| canvas |
canvas := Web.Canvas new.
Web.Canvas define: #Head tag: 'head'.
Web.Canvas define: #Body tag: 'body'.
Web.Canvas define: #Title tag: 'title'.
canvas html: [
canvas head: [
canvas title: 'My Page'
].
canvas body: [
canvas header: 'My Page'.
canvas paragraph: 'Great demo'
]
].
[canvas asString = '<html><head><title>My Page</title></head><body><h1>My Page</h1><p>Great demo</p></body></html>'] assert.
!