lapillus 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/examples/guest_book.rb +5 -5
- data/examples/hello_world.rb +1 -1
- data/examples/{persons.rb → personspage.rb} +4 -4
- data/examples/tc_hello_world.rb +11 -11
- data/examples/{tc_persons.rb → tc_personspage.rb} +2 -2
- data/html/{Persons.html → Personspage.html} +0 -0
- data/lib/changelog.txt +10 -0
- data/lib/lapillus/base.rb +82 -82
- data/lib/lapillus/behaviours.rb +53 -38
- data/lib/lapillus/components.rb +9 -7
- data/lib/lapillus/containers.rb +32 -49
- data/lib/lapillus/dispatcher.rb +35 -24
- data/lib/lapillus/form_components.rb +11 -7
- data/lib/lapillus/html_visitor.rb +68 -0
- data/lib/lapillus/pager.rb +8 -8
- data/test/tc_base.rb +2 -2
- data/test/tc_behaviours.rb +29 -7
- data/test/tc_bookmarkablepagelink.rb +5 -5
- data/test/tc_components.rb +42 -21
- data/test/tc_containers.rb +22 -18
- data/test/tc_examples.rb +18 -18
- data/test/tc_form.rb +15 -15
- data/test/tc_fragments.rb +8 -6
- data/test/tc_hierarchy.rb +1 -1
- data/test/tc_lapillus.rb +2 -2
- data/test/tc_lapillus_testers.rb +6 -6
- data/test/tc_multiview.rb +7 -7
- data/test/tc_pager.rb +5 -3
- data/test/tc_rendering.rb +4 -4
- data/test/ts_all_test.rb +0 -1
- metadata +6 -5
data/test/tc_components.rb
CHANGED
@@ -13,8 +13,8 @@ end
|
|
13
13
|
class TC_Components < Test::Unit::TestCase
|
14
14
|
|
15
15
|
def test_component_id_no_value
|
16
|
-
component = Component.new(
|
17
|
-
assert_equal(
|
16
|
+
component = Component.new(:id)
|
17
|
+
assert_equal(:id, component.identifier)
|
18
18
|
assert(!component.has_model?)
|
19
19
|
end
|
20
20
|
|
@@ -61,7 +61,7 @@ class TC_Components < Test::Unit::TestCase
|
|
61
61
|
def webpage.default_htmlfile
|
62
62
|
return '<html><span lapillus:id="label">My Label</span></html>'
|
63
63
|
end
|
64
|
-
label = Label.new(
|
64
|
+
label = Label.new(:label, :model => "My Label")
|
65
65
|
webpage.add(label)
|
66
66
|
html = label.render_component
|
67
67
|
assert_equal("My Label", html)
|
@@ -71,9 +71,9 @@ class TC_Components < Test::Unit::TestCase
|
|
71
71
|
def webpage.default_htmlfile
|
72
72
|
return '<html><span lapillus:id="panel"><!-- <span lapillus:id="remark">Bla</span> --><span lapillus:id="visible">huh</span></span></html>'
|
73
73
|
end
|
74
|
-
panel = Panel.new(
|
75
|
-
remark = Label.new(
|
76
|
-
label = Label.new(
|
74
|
+
panel = Panel.new(:panel)
|
75
|
+
remark = Label.new(:remark, :model => "whatever")
|
76
|
+
label = Label.new(:visible, :model => "My Label")
|
77
77
|
panel.add(remark)
|
78
78
|
panel.add(label)
|
79
79
|
webpage.add(panel)
|
@@ -99,7 +99,7 @@ class TC_Components < Test::Unit::TestCase
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def test_label
|
102
|
-
label = Label.new(
|
102
|
+
label = Label.new(:label, :model => "hello world")
|
103
103
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
104
104
|
expectation = expected_html('<span lapillus:id="label">hello world</span>')
|
105
105
|
webpage.add(label)
|
@@ -108,7 +108,7 @@ class TC_Components < Test::Unit::TestCase
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def test_label_ignore_newlines
|
111
|
-
label = Label.new(
|
111
|
+
label = Label.new(:label, :model => "hello world\nbye")
|
112
112
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
113
113
|
expectation = expected_html("<span lapillus:id=\"label\">hello world\nbye</span>")
|
114
114
|
webpage.add(label)
|
@@ -117,7 +117,7 @@ class TC_Components < Test::Unit::TestCase
|
|
117
117
|
end
|
118
118
|
|
119
119
|
def test_label_xml_escaping
|
120
|
-
label = Label.new(
|
120
|
+
label = Label.new(:label, :model => "hello world < > ' & \" ")
|
121
121
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
122
122
|
expectation = expected_html('<span lapillus:id="label">hello world < > \' & " </span>')
|
123
123
|
webpage.add(label)
|
@@ -134,7 +134,7 @@ class TC_Components < Test::Unit::TestCase
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def test_multilinelabel_paragraphs
|
137
|
-
label = MultiLineLabel.new(
|
137
|
+
label = MultiLineLabel.new(:label, :model => "a paragraph\n\n")
|
138
138
|
webpage.add(label)
|
139
139
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
140
140
|
expectation = expected_html('<span lapillus:id="label"><p>a paragraph</p></span>')
|
@@ -143,7 +143,7 @@ class TC_Components < Test::Unit::TestCase
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def test_multilinelabel_paragraphs_2
|
146
|
-
label = MultiLineLabel.new(
|
146
|
+
label = MultiLineLabel.new(:label, :model => "a paragraph\n\n\nnext paragraph\n\n")
|
147
147
|
webpage.add(label)
|
148
148
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
149
149
|
expectation = expected_html('<span lapillus:id="label"><p>a paragraph</p><p>next paragraph</p></span>')
|
@@ -152,7 +152,7 @@ class TC_Components < Test::Unit::TestCase
|
|
152
152
|
end
|
153
153
|
|
154
154
|
def test_multilinelabel_newlines
|
155
|
-
label = MultiLineLabel.new(
|
155
|
+
label = MultiLineLabel.new(:label, :model => "hello world\nbye")
|
156
156
|
webpage.add(label)
|
157
157
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
158
158
|
expectation = expected_html('<span lapillus:id="label">hello world<br/>bye</span>')
|
@@ -161,7 +161,7 @@ class TC_Components < Test::Unit::TestCase
|
|
161
161
|
end
|
162
162
|
|
163
163
|
def test_multilinelabel_newlines_2
|
164
|
-
label = MultiLineLabel.new(
|
164
|
+
label = MultiLineLabel.new(:label, :model => "hello world\nbye\n")
|
165
165
|
webpage.add(label)
|
166
166
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
167
167
|
expectation = expected_html('<span lapillus:id="label">hello world<br/>bye<br/></span>')
|
@@ -171,7 +171,7 @@ class TC_Components < Test::Unit::TestCase
|
|
171
171
|
|
172
172
|
|
173
173
|
def test_multilinelabel_combi_br_p
|
174
|
-
label = MultiLineLabel.new(
|
174
|
+
label = MultiLineLabel.new(:label, :model => "a \nparagraph\n\n")
|
175
175
|
webpage.add(label)
|
176
176
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
177
177
|
expectation = expected_html('<span lapillus:id="label"><p>a <br/>paragraph</p></span>')
|
@@ -180,7 +180,7 @@ class TC_Components < Test::Unit::TestCase
|
|
180
180
|
end
|
181
181
|
|
182
182
|
def test_multilabel_with_html_content
|
183
|
-
label = MultiLineLabel.new(
|
183
|
+
label = MultiLineLabel.new(:label, :model => "a \n<p>paragraph</p>\n\n")
|
184
184
|
label.html_content=true
|
185
185
|
webpage.add(label)
|
186
186
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
@@ -194,7 +194,7 @@ class TC_Components < Test::Unit::TestCase
|
|
194
194
|
end
|
195
195
|
|
196
196
|
def test_multilinelabel_empty_string
|
197
|
-
label = MultiLineLabel.new(
|
197
|
+
label = MultiLineLabel.new(:label, :model => "")
|
198
198
|
webpage.add(label)
|
199
199
|
html = html_template('<span lapillus:id="label">this text should not be visible</span>')
|
200
200
|
expectation = expected_html('<span lapillus:id="label"></span>')
|
@@ -209,7 +209,7 @@ class TC_Components < Test::Unit::TestCase
|
|
209
209
|
end
|
210
210
|
|
211
211
|
def test_add_behaviour
|
212
|
-
test_component = Component.new(
|
212
|
+
test_component = Component.new(:test)
|
213
213
|
test_behaviour = TestBehaviour.new
|
214
214
|
test_component.add_behaviour(test_behaviour)
|
215
215
|
assert(test_component.has_behaviour?(TestBehaviour))
|
@@ -218,7 +218,7 @@ class TC_Components < Test::Unit::TestCase
|
|
218
218
|
end
|
219
219
|
|
220
220
|
def test_remove_behaviour
|
221
|
-
test_component = Component.new(
|
221
|
+
test_component = Component.new(:test)
|
222
222
|
test_behaviour = TestBehaviour.new
|
223
223
|
test_component.add_behaviour(test_behaviour)
|
224
224
|
assert(test_component.has_behaviour?(TestBehaviour))
|
@@ -227,7 +227,7 @@ class TC_Components < Test::Unit::TestCase
|
|
227
227
|
end
|
228
228
|
|
229
229
|
class ImagePage < Webpage
|
230
|
-
image
|
230
|
+
image :my_image, :model => "picture1.jpg", :root_url => "/application"
|
231
231
|
end
|
232
232
|
|
233
233
|
def test_image
|
@@ -250,9 +250,30 @@ END
|
|
250
250
|
assert_equal(expected.strip, result)
|
251
251
|
end
|
252
252
|
|
253
|
+
def test_image_url_escaping
|
254
|
+
html = <<END
|
255
|
+
<html>
|
256
|
+
<body>
|
257
|
+
<img lapillus:id='my_image'/>
|
258
|
+
</body>
|
259
|
+
</html>
|
260
|
+
END
|
261
|
+
expected = <<END
|
262
|
+
<html>
|
263
|
+
<body>
|
264
|
+
<img src="/application/images/url%23to%23be%23escaped/picture1.jpg" lapillus:id="my_image"/>
|
265
|
+
</body>
|
266
|
+
</html>
|
267
|
+
END
|
268
|
+
page = ImagePage.new
|
269
|
+
page.my_image.model="url#to#be#escaped/picture1.jpg"
|
270
|
+
result = page.render(html)
|
271
|
+
assert_equal(expected.strip, result)
|
272
|
+
end
|
273
|
+
|
253
274
|
class ListViewImagePage < Webpage
|
254
|
-
listview
|
255
|
-
image
|
275
|
+
listview :my_images, :model => ["pic1.jpg", "pic2.jpg"] do |the_image|
|
276
|
+
image :my_image, :model => the_image, :root_url => "/application"
|
256
277
|
end
|
257
278
|
end
|
258
279
|
|
data/test/tc_containers.rb
CHANGED
@@ -25,8 +25,8 @@ class TC_containers < Test::Unit::TestCase
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_container
|
28
|
-
container = Container.new(
|
29
|
-
component = Component.new(
|
28
|
+
container = Container.new(:container)
|
29
|
+
component = Component.new(:component)
|
30
30
|
container.add(component)
|
31
31
|
assert_equal([component], container.components)
|
32
32
|
assert(component.has_parent?)
|
@@ -35,9 +35,9 @@ class TC_containers < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_hierarchy
|
38
|
-
first = Container.new(
|
39
|
-
second = Container.new(
|
40
|
-
three = Component.new(
|
38
|
+
first = Container.new(:first)
|
39
|
+
second = Container.new(:second)
|
40
|
+
three = Component.new(:three)
|
41
41
|
first.add(second.add(three))
|
42
42
|
assert_equal([first, second, three], three.hierarchy)
|
43
43
|
assert_equal(first, three.webpage)
|
@@ -46,9 +46,9 @@ class TC_containers < Test::Unit::TestCase
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def test_path
|
49
|
-
first = Container.new(
|
50
|
-
second = Container.new(
|
51
|
-
three = Component.new(
|
49
|
+
first = Container.new(:first)
|
50
|
+
second = Container.new(:second)
|
51
|
+
three = Component.new(:three)
|
52
52
|
first.add(second.add(three))
|
53
53
|
assert_equal("second.three", three.path)
|
54
54
|
assert_equal("second", second.path)
|
@@ -56,10 +56,10 @@ class TC_containers < Test::Unit::TestCase
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_get
|
59
|
-
first = Container.new(
|
60
|
-
second = Container.new(
|
61
|
-
three = Component.new(
|
62
|
-
four = Component.new(
|
59
|
+
first = Container.new(:first)
|
60
|
+
second = Container.new(:second)
|
61
|
+
three = Component.new(:three)
|
62
|
+
four = Component.new(:four)
|
63
63
|
second.add(four)
|
64
64
|
first.add(second.add(three))
|
65
65
|
assert_equal(three, first["second.three"])
|
@@ -77,8 +77,8 @@ class TC_containers < Test::Unit::TestCase
|
|
77
77
|
|
78
78
|
class TestWebpage < Webpage
|
79
79
|
attr_accessor :values
|
80
|
-
listview
|
81
|
-
label
|
80
|
+
listview :listview, :model => :values do |text|
|
81
|
+
label :text, :model => text
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
@@ -90,9 +90,13 @@ class TC_containers < Test::Unit::TestCase
|
|
90
90
|
label2 = listview[1].text
|
91
91
|
assert_equal("first", label1.value)
|
92
92
|
assert_equal("second", label2.value)
|
93
|
-
assert_equal("listview.
|
94
|
-
assert_equal("listview.
|
93
|
+
assert_equal("listview.item0.text", label1.path)
|
94
|
+
assert_equal("listview.item1.text", label2.path)
|
95
|
+
assert_equal(label1, test["listview.item0.text"])
|
96
|
+
assert_equal(label2, test["listview.item1.text"])
|
95
97
|
end
|
98
|
+
|
99
|
+
|
96
100
|
|
97
101
|
def test_listview_rendering
|
98
102
|
html = html_template('<span lapillus:id="listview">'+
|
@@ -135,7 +139,7 @@ class TC_containers < Test::Unit::TestCase
|
|
135
139
|
#just copy the body
|
136
140
|
def test_remote_panel_render_from_within_webpage
|
137
141
|
webpage = TestPage.new #NOTE: uses html/TestPage.html
|
138
|
-
remote_panel = TestRemotePanel.new(
|
142
|
+
remote_panel = TestRemotePanel.new(:remote_panel) # html/TestRemotePanel.html
|
139
143
|
webpage.add(remote_panel)
|
140
144
|
expected = <<EOF
|
141
145
|
<html>
|
@@ -151,7 +155,7 @@ EOF
|
|
151
155
|
end
|
152
156
|
|
153
157
|
def test_remote_panel_render_indepent_from_webpage
|
154
|
-
remote_panel = TestRemotePanel.new(
|
158
|
+
remote_panel = TestRemotePanel.new(:remote_panel) # html/TestRemotePanel.html end
|
155
159
|
expected = <<EOF
|
156
160
|
<html>
|
157
161
|
<title>
|
data/test/tc_examples.rb
CHANGED
@@ -11,7 +11,7 @@ class TC_examples < Test::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class MyLabelWebpage < Webpage
|
14
|
-
label
|
14
|
+
label :my_label
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_new_label
|
@@ -24,7 +24,7 @@ class TC_examples < Test::Unit::TestCase
|
|
24
24
|
#TODO: example with two labels, with different identifiers
|
25
25
|
|
26
26
|
class MyLabelWebpage2 < Webpage
|
27
|
-
label
|
27
|
+
label :label, :model => "Hello world!"
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_label
|
@@ -49,7 +49,7 @@ class TC_examples < Test::Unit::TestCase
|
|
49
49
|
|
50
50
|
class MyLabelWebpage3 < Webpage
|
51
51
|
attr_reader :person
|
52
|
-
label
|
52
|
+
label :person_label, :model => :person
|
53
53
|
|
54
54
|
def initialize(person)
|
55
55
|
super()
|
@@ -69,7 +69,7 @@ class TC_examples < Test::Unit::TestCase
|
|
69
69
|
|
70
70
|
class MyLabelWebpage4 < Webpage
|
71
71
|
attr_reader :person
|
72
|
-
label
|
72
|
+
label :person_name, :model => :person, :property => :name
|
73
73
|
|
74
74
|
def initialize(person)
|
75
75
|
super()
|
@@ -88,9 +88,9 @@ class TC_examples < Test::Unit::TestCase
|
|
88
88
|
#TODO: add example with a listview with a model and a property
|
89
89
|
|
90
90
|
class MyListViewWebpage < Webpage
|
91
|
-
listview
|
92
|
-
label
|
93
|
-
label
|
91
|
+
listview :listview, :model => ["value1", "value2"] do |item|
|
92
|
+
label :item, :model => item
|
93
|
+
label :another_thing, :model => "message"
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
@@ -106,8 +106,8 @@ class TC_examples < Test::Unit::TestCase
|
|
106
106
|
|
107
107
|
class MyListViewWebpage2 < Webpage
|
108
108
|
attr_reader :persons
|
109
|
-
listview
|
110
|
-
label
|
109
|
+
listview :personlist, :model => :persons do |person|
|
110
|
+
label :name, :model => person, :property => :name
|
111
111
|
end
|
112
112
|
|
113
113
|
def initialize
|
@@ -127,10 +127,10 @@ class TC_examples < Test::Unit::TestCase
|
|
127
127
|
end
|
128
128
|
|
129
129
|
class MyForm < Form
|
130
|
-
textfield
|
131
|
-
password_textfield
|
132
|
-
textarea
|
133
|
-
fileuploadfield
|
130
|
+
textfield :textfield
|
131
|
+
password_textfield :password
|
132
|
+
textarea :textarea
|
133
|
+
fileuploadfield :fileuploadfield
|
134
134
|
|
135
135
|
def on_submit(button)
|
136
136
|
puts "the user entered #{textfield.value}"
|
@@ -138,7 +138,7 @@ class TC_examples < Test::Unit::TestCase
|
|
138
138
|
end
|
139
139
|
|
140
140
|
def test_form
|
141
|
-
form = MyForm.new(
|
141
|
+
form = MyForm.new(:my_form)
|
142
142
|
assert_equal(4, form.components.size)
|
143
143
|
assert_equal("", form.textfield.value)
|
144
144
|
assert_equal("", form.password.value)
|
@@ -158,25 +158,25 @@ class TC_examples < Test::Unit::TestCase
|
|
158
158
|
end
|
159
159
|
|
160
160
|
class MyForm2 < Form
|
161
|
-
textfield
|
161
|
+
textfield :textfield, :model => :model, :property => :property1
|
162
162
|
end
|
163
163
|
|
164
164
|
def test_form_with_model
|
165
165
|
model = MyModel.new
|
166
166
|
model.property1 = "value1"
|
167
|
-
form = MyForm2.new(
|
167
|
+
form = MyForm2.new(:my_form, :model => model)
|
168
168
|
assert_equal(1, form.components.size)
|
169
169
|
assert_equal("value1", form.textfield.value)
|
170
170
|
end
|
171
171
|
|
172
172
|
class MyPanel < Panel
|
173
173
|
alias person model
|
174
|
-
label
|
174
|
+
label :name, :model => :person, :property => :name
|
175
175
|
end
|
176
176
|
|
177
177
|
class MyPanelWebpage < Webpage
|
178
178
|
attr_reader :person
|
179
|
-
panel
|
179
|
+
panel :panel, MyPanel, :model => :person
|
180
180
|
|
181
181
|
def initialize(person)
|
182
182
|
super()
|
data/test/tc_form.rb
CHANGED
@@ -45,7 +45,7 @@ class TC_Form < Test::Unit::TestCase
|
|
45
45
|
def test_form
|
46
46
|
html = html_template("more stuff here")
|
47
47
|
page = TestPage.new
|
48
|
-
form = MyForm.new(
|
48
|
+
form = MyForm.new(:test_form)
|
49
49
|
page.add(form)
|
50
50
|
result = page.render(html)
|
51
51
|
assert_equal(expected_html("more stuff here"), result)
|
@@ -66,7 +66,7 @@ class TC_Form < Test::Unit::TestCase
|
|
66
66
|
|
67
67
|
class MyTextfieldForm < Form
|
68
68
|
attr_reader :comment
|
69
|
-
textfield
|
69
|
+
textfield :field, :model => :comment, :property => :field
|
70
70
|
def initialize(id, comment)
|
71
71
|
super(id)
|
72
72
|
@comment = comment
|
@@ -79,7 +79,7 @@ class TC_Form < Test::Unit::TestCase
|
|
79
79
|
html = html_template('<input type="text" lapillus:id="field"/>')
|
80
80
|
comment = Comment.new("supernice")
|
81
81
|
page = Webpage.new
|
82
|
-
form = MyTextfieldForm.new(
|
82
|
+
form = MyTextfieldForm.new(:test_form, comment)
|
83
83
|
page.add(form)
|
84
84
|
result = page.render(html)
|
85
85
|
assert_equal(expected_html2('<input name="test_form.field" type="text" lapillus:id="field" value="supernice"/>'), result)
|
@@ -90,7 +90,7 @@ class TC_Form < Test::Unit::TestCase
|
|
90
90
|
|
91
91
|
class MyAreaForm < Form
|
92
92
|
attr_reader :comment
|
93
|
-
textarea
|
93
|
+
textarea :area, :model => :comment, :property => :area
|
94
94
|
def initialize(id, comment)
|
95
95
|
super(id)
|
96
96
|
@comment = comment
|
@@ -103,7 +103,7 @@ class TC_Form < Test::Unit::TestCase
|
|
103
103
|
comment = Comment.new("test test test")
|
104
104
|
html = html_template('<textarea lapillus:id="area">some text</textarea>')
|
105
105
|
page = Webpage.new
|
106
|
-
form = MyAreaForm.new(
|
106
|
+
form = MyAreaForm.new(:test_form, comment)
|
107
107
|
page.add(form)
|
108
108
|
result = page.render(html)
|
109
109
|
assert_equal(expected_html2('<textarea name="test_form.area" lapillus:id="area">test test test</textarea>'), result)
|
@@ -122,7 +122,7 @@ class TC_Form < Test::Unit::TestCase
|
|
122
122
|
|
123
123
|
class MyUploadfieldForm < Form
|
124
124
|
attr_reader :upload_file
|
125
|
-
fileuploadfield
|
125
|
+
fileuploadfield :upload_field, :model => :upload_file, :property => :upload_file
|
126
126
|
def initialize(id, upload_file)
|
127
127
|
super(id)
|
128
128
|
@upload_file = upload_file
|
@@ -135,7 +135,7 @@ class TC_Form < Test::Unit::TestCase
|
|
135
135
|
upload_file = UploadFile.new( "some file huh?" )
|
136
136
|
html = html_template('<input lapillus:id="upload_field" type="file"/>')
|
137
137
|
page = Webpage.new
|
138
|
-
form = MyUploadfieldForm.new(
|
138
|
+
form = MyUploadfieldForm.new(:test_form, upload_file)
|
139
139
|
page.add(form)
|
140
140
|
result = page.render(html)
|
141
141
|
assert_equal(expected_html2('<input name="test_form.upload_field" type="file" lapillus:id="upload_field"/>'), result)
|
@@ -147,7 +147,7 @@ class TC_Form < Test::Unit::TestCase
|
|
147
147
|
|
148
148
|
class TestForm < Form
|
149
149
|
alias comment model
|
150
|
-
textarea
|
150
|
+
textarea :area, :model => :comment, :property => :area
|
151
151
|
def on_submit(button)
|
152
152
|
end
|
153
153
|
end
|
@@ -155,14 +155,14 @@ class TC_Form < Test::Unit::TestCase
|
|
155
155
|
def test_form_model
|
156
156
|
html = html_template('<textarea lapillus:id="area">some text</textarea>' )
|
157
157
|
page = TestPage.new
|
158
|
-
page.add(TestForm.new(
|
158
|
+
page.add(TestForm.new(:test_form, :model => Comment.new("nice")))
|
159
159
|
result = page.render(html)
|
160
160
|
assert_equal(expected_html('<textarea name="test_form.area" lapillus:id="area">nice</textarea>'), result)
|
161
161
|
end
|
162
162
|
|
163
163
|
|
164
164
|
class ComplexForm < Form
|
165
|
-
fileuploadfield
|
165
|
+
fileuploadfield :uploadveld
|
166
166
|
def on_submit(button)
|
167
167
|
end
|
168
168
|
end
|
@@ -184,7 +184,7 @@ EOF
|
|
184
184
|
<input name="page" type="hidden" value="Lapillus::Webpage"/></form></html>
|
185
185
|
EOF
|
186
186
|
webpage = Lapillus::Webpage.new
|
187
|
-
webpage.add ComplexForm.new(
|
187
|
+
webpage.add ComplexForm.new(:add_form)
|
188
188
|
output = webpage.render html
|
189
189
|
assert_equal(expected.strip, output)
|
190
190
|
end
|
@@ -207,8 +207,8 @@ EOF
|
|
207
207
|
|
208
208
|
def test_post_1_webpage_with_multiple_forms
|
209
209
|
webpage = Webpage.new
|
210
|
-
form1 = Form1.new(
|
211
|
-
form2 = Form2.new(
|
210
|
+
form1 = Form1.new(:form1)
|
211
|
+
form2 = Form2.new(:form2)
|
212
212
|
webpage.add(form1)
|
213
213
|
webpage.add(form2)
|
214
214
|
hash = {"form2.field" => "value"}
|
@@ -219,8 +219,8 @@ EOF
|
|
219
219
|
|
220
220
|
def test_form_within_panel
|
221
221
|
webpage = Webpage.new
|
222
|
-
panel = Panel.new(
|
223
|
-
form2 = Form2.new(
|
222
|
+
panel = Panel.new(:panel)
|
223
|
+
form2 = Form2.new(:form2)
|
224
224
|
webpage.add(panel)
|
225
225
|
panel.add(form2)
|
226
226
|
hash = {"form2.field" => "value"}
|
data/test/tc_fragments.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'lapillus'
|
2
2
|
require 'test/unit'
|
3
3
|
|
4
|
+
include Lapillus
|
5
|
+
|
4
6
|
class TC_Fragment < Test::Unit::TestCase
|
5
7
|
def test_fragment
|
6
8
|
html = <<EOF
|
@@ -26,7 +28,7 @@ EOF
|
|
26
28
|
EOF
|
27
29
|
|
28
30
|
page = Webpage.new
|
29
|
-
page.add Fragment.new(
|
31
|
+
page.add Fragment.new(:myPanel, "frag1")
|
30
32
|
output = page.render(html)
|
31
33
|
assert_equal(expected.strip, output.strip)
|
32
34
|
end
|
@@ -55,13 +57,13 @@ EOF
|
|
55
57
|
EOF
|
56
58
|
|
57
59
|
page = Webpage.new
|
58
|
-
page.add Fragment.new(
|
60
|
+
page.add Fragment.new(:myPanel, "frag1")
|
59
61
|
output = page.render(html)
|
60
62
|
assert_equal(expected.strip, output.strip)
|
61
63
|
end
|
62
64
|
|
63
65
|
class MyFragment < Fragment
|
64
|
-
label
|
66
|
+
label :label, :model => "Hello World"
|
65
67
|
end
|
66
68
|
|
67
69
|
def test_fragment_with_components_as_children
|
@@ -88,7 +90,7 @@ EOF
|
|
88
90
|
EOF
|
89
91
|
|
90
92
|
page = Webpage.new
|
91
|
-
page.add(MyFragment.new(
|
93
|
+
page.add(MyFragment.new(:myPanel, "frag1"))
|
92
94
|
output = page.render(html)
|
93
95
|
assert_equal(expected.strip, output.strip)
|
94
96
|
end
|
@@ -96,7 +98,7 @@ EOF
|
|
96
98
|
class WeirdFragment < Fragment
|
97
99
|
def initialize(id, frag)
|
98
100
|
super(id, frag)
|
99
|
-
add Panel.new(
|
101
|
+
add Panel.new(:properties)
|
100
102
|
end
|
101
103
|
end
|
102
104
|
|
@@ -107,7 +109,7 @@ EOF
|
|
107
109
|
' <span class="propertiespanel" lapillus:id=\'properties\'>properties</span>'+
|
108
110
|
'</lapillus:fragment></html>'
|
109
111
|
page = Webpage.new
|
110
|
-
page.add(WeirdFragment.new(
|
112
|
+
page.add(WeirdFragment.new(:toolbar_panel, "toolbar"))
|
111
113
|
output = page.render(html)
|
112
114
|
assert_equal(expected, output)
|
113
115
|
end
|
data/test/tc_hierarchy.rb
CHANGED
@@ -12,7 +12,7 @@ class TC_Hierarchy < Test::Unit::TestCase
|
|
12
12
|
|
13
13
|
def test_hierarchy_matches
|
14
14
|
webpage = Webpage.new
|
15
|
-
webpage.add(TestComponent.new(
|
15
|
+
webpage.add(TestComponent.new(:component))
|
16
16
|
html = "<html><div lapillus:id=\"component\"></div></html>"
|
17
17
|
output = webpage.render(html)
|
18
18
|
assert_equal('<html><div lapillus:id="component"/></html>', output)
|
data/test/tc_lapillus.rb
CHANGED
@@ -9,7 +9,7 @@ class TC_lapillus < Test::Unit::TestCase
|
|
9
9
|
|
10
10
|
class MyForm < Form
|
11
11
|
attr_reader :value
|
12
|
-
textfield
|
12
|
+
textfield :textfield
|
13
13
|
def initialize(id)
|
14
14
|
super(id)
|
15
15
|
@value = FormValue.new
|
@@ -21,7 +21,7 @@ class TC_lapillus < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
def test_form
|
23
23
|
testpage = Webpage.new
|
24
|
-
testpage.add(MyForm.new(
|
24
|
+
testpage.add(MyForm.new(:form))
|
25
25
|
form = testpage["form"]
|
26
26
|
form.on_submit
|
27
27
|
assert_equal("value submitted", form.value.variable)
|
data/test/tc_lapillus_testers.rb
CHANGED
@@ -16,19 +16,19 @@ class TestObject
|
|
16
16
|
end
|
17
17
|
|
18
18
|
class LapillusTesterTestPage < Webpage
|
19
|
-
label
|
19
|
+
label :label, :model => "Label Text"
|
20
20
|
|
21
21
|
def initialize()
|
22
|
-
@@testObject = TestObject.new("Naam","Titel")
|
22
|
+
@@testObject = TestObject.new("Naam", "Titel")
|
23
23
|
super()
|
24
|
-
add(TestForm.new(
|
25
|
-
add(BookmarkablePageLink.new(
|
24
|
+
add(TestForm.new(:form, @@testObject))
|
25
|
+
add(BookmarkablePageLink.new(:link ,LinkedPage,Hash.new))
|
26
26
|
end
|
27
27
|
|
28
28
|
class TestForm < Form
|
29
29
|
attr_reader :test_object
|
30
|
-
textfield
|
31
|
-
textfield
|
30
|
+
textfield :name, :model => :test_object, :property => :name
|
31
|
+
textfield :title, :model => :test_object, :property => :title
|
32
32
|
def initialize(id, test_object)
|
33
33
|
super(id)
|
34
34
|
@test_object = test_object
|
data/test/tc_multiview.rb
CHANGED
@@ -3,18 +3,18 @@ require 'lapillus/multiview'
|
|
3
3
|
|
4
4
|
class TC_MultiView < Test::Unit::TestCase
|
5
5
|
def test_current_view
|
6
|
-
view1 = SingleView.new(
|
7
|
-
view2 = SingleView.new(
|
8
|
-
multi_view = MultiView.new(
|
6
|
+
view1 = SingleView.new(:show)
|
7
|
+
view2 = SingleView.new(:edit)
|
8
|
+
multi_view = MultiView.new(:id, [view1, view2])
|
9
9
|
assert_equal(view1.identifier, multi_view.mode)
|
10
10
|
assert_equal(view1, multi_view.current_view)
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_mode
|
14
|
-
view1 = SingleView.new(
|
15
|
-
view2 = SingleView.new(
|
16
|
-
multi_view = MultiView.new(
|
17
|
-
multi_view.mode =
|
14
|
+
view1 = SingleView.new(:show)
|
15
|
+
view2 = SingleView.new(:edit)
|
16
|
+
multi_view = MultiView.new(:id, [view1, view2])
|
17
|
+
multi_view.mode = :edit
|
18
18
|
assert_equal(view2, multi_view.current_view)
|
19
19
|
end
|
20
20
|
|
data/test/tc_pager.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'lapillus/pager'
|
3
3
|
|
4
|
+
include Lapillus
|
5
|
+
|
4
6
|
#component tester
|
5
7
|
class ComponentTester
|
6
8
|
def initialize(component)
|
@@ -22,8 +24,8 @@ class TC_Pager < Test::Unit::TestCase
|
|
22
24
|
attr_reader :pager, :tester
|
23
25
|
def setup
|
24
26
|
pages = [ "first page", "second page", "third page", "fourth page" ]
|
25
|
-
@pager = Pager.new(
|
26
|
-
add(Label.new(
|
27
|
+
@pager = Pager.new(:pager, pages) do |page_content|
|
28
|
+
add(Label.new(:content, :model => page_content))
|
27
29
|
end
|
28
30
|
@tester = ComponentTester.new(pager)
|
29
31
|
end
|
@@ -35,7 +37,7 @@ class TC_Pager < Test::Unit::TestCase
|
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_no_content
|
38
|
-
pager = Pager.new(
|
40
|
+
pager = Pager.new(:pager, []) do end
|
39
41
|
assert(!pager['page'].visible?)
|
40
42
|
assert(!pager['navigation'].visible?)
|
41
43
|
end
|