htmlgrid 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.txt +8 -1
- data/Manifest.txt +1 -1
- data/lib/htmlgrid/component.rb +3 -11
- data/lib/htmlgrid/composite.rb +5 -5
- data/lib/htmlgrid/divcomposite.rb +1 -1
- data/lib/htmlgrid/dojotoolkit.rb +2 -6
- data/lib/htmlgrid/form.rb +1 -5
- data/lib/htmlgrid/grid.rb +9 -8
- data/lib/htmlgrid/link.rb +1 -1
- data/lib/htmlgrid/richtext.rb +1 -1
- data/lib/htmlgrid/spancomposite.rb +1 -1
- data/lib/htmlgrid/template.rb +1 -0
- data/lib/htmlgrid/ulcomposite.rb +1 -1
- data/lib/htmlgrid/version.rb +5 -0
- data/test/rebuild.rb +0 -0
- data/{ext/htmlgrid/extconf.rb → test/suite.rb} +10 -11
- data/test/test_add_row.rb +75 -0
- data/test/test_component.rb +7 -17
- data/test/test_composite.rb +33 -20
- data/test/test_datevalue.rb +2 -2
- data/test/test_form.rb +16 -15
- data/test/test_formlist.rb +11 -10
- data/test/test_grid.rb +10 -22
- data/test/test_input.rb +8 -7
- data/test/test_interaction_list.rb +257 -0
- data/test/test_label.rb +5 -14
- data/test/test_list.rb +3 -5
- data/test/test_select.rb +15 -8
- data/test/test_template.rb +15 -15
- data/test/test_text.rb +2 -2
- metadata +117 -74
- data/.gemtest +0 -0
- data/.gitignore +0 -3
- data/.travis.yml +0 -28
- data/COPYING +0 -515
- data/Gemfile +0 -20
- data/Gemfile.lock +0 -50
- data/README.txt +0 -31
- data/Rakefile +0 -52
- data/ext/htmlgrid/MANIFEST +0 -3
- data/ext/htmlgrid/grid.c +0 -899
- data/ext/htmlgrid/htmlgrid.c +0 -30
- data/ext/htmlgrid/include/grid.h +0 -79
- data/ext/htmlgrid/include/htmlgrid.h +0 -33
- data/htmlgrid.gemspec +0 -16
- data/install.rb +0 -1098
- data/usage-en.txt +0 -112
- data/widget/Tooltip.js +0 -85
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 493156bba6ea55bb67e136827debde748db5bbbe
|
4
|
+
data.tar.gz: 012b9c6ef18b01881c8529b9262d0599ef91d9d9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0efcf47d58cf047af2e6589845117f9afaf4c03e22e5eea79079538361ccb6a79a7821a0897cc458d469bb2de546feb374431626882e34550de18408e4121289
|
7
|
+
data.tar.gz: 4e00e05f74fda7af302fa339f1ca9d0f448463c2af6b5a25b54468f7f2998714d1787cc3ef2cf61542c1de63dac0909b921aa3c1a2b3f50e287b3e3f39de8414
|
data/History.txt
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
+
=== 1.0.8 / 10.05.2015
|
2
|
+
|
3
|
+
* Removed C-interface
|
4
|
+
* Removed obsolete tests for RUBY_VERSION < 1.9
|
5
|
+
* Ported to Ruby 2.3.0. Updated minitest. Use newer version of sbsm.
|
6
|
+
* Ruby 1.9.3 is no longer supported
|
7
|
+
|
1
8
|
=== 1.0.7 / 03.12.2013
|
2
9
|
|
3
|
-
* Remove LEGACY_INTERFACE.
|
10
|
+
* Remove LEGACY_INTERFACE. No. LEGACY_INTERFACE was readded before release 1.0.7
|
4
11
|
* Make travis work just fine.
|
5
12
|
|
6
13
|
=== 1.0.6 / 06.04.2012
|
data/Manifest.txt
CHANGED
data/lib/htmlgrid/component.rb
CHANGED
@@ -176,11 +176,7 @@ module HtmlGrid
|
|
176
176
|
esc << if(entity = @@symbol_entities[byte])
|
177
177
|
'&' << entity << ';'
|
178
178
|
else
|
179
|
-
|
180
|
-
byte
|
181
|
-
else
|
182
|
-
byte.chr
|
183
|
-
end
|
179
|
+
byte
|
184
180
|
end
|
185
181
|
}
|
186
182
|
esc
|
@@ -218,18 +214,14 @@ module HtmlGrid
|
|
218
214
|
@attributes.store('tabIndex', tab.to_s)
|
219
215
|
end
|
220
216
|
def to_html(context)
|
221
|
-
|
222
|
-
_to_html(context, @value).to_s.force_encoding('utf-8')
|
223
|
-
else
|
224
|
-
_to_html(context, @value).to_s
|
225
|
-
end
|
217
|
+
_to_html(context, @value).to_s.force_encoding('utf-8')
|
226
218
|
end
|
227
219
|
@@nl2br_ptrn = /(\r\n)|(\n)|(\r)/
|
228
220
|
def _to_html(context, value=@value)
|
229
221
|
if(value.is_a?(Array))
|
230
222
|
value.collect { |item| _to_html(context, item) }.join(' ')
|
231
223
|
elsif(value.respond_to?(:to_html))
|
232
|
-
value.to_html(context).to_s
|
224
|
+
value.to_html(context).to_s.force_encoding('utf-8')
|
233
225
|
else
|
234
226
|
value.to_s.gsub(@@nl2br_ptrn, '<br>')
|
235
227
|
end
|
data/lib/htmlgrid/composite.rb
CHANGED
@@ -42,6 +42,7 @@ end
|
|
42
42
|
module HtmlGrid
|
43
43
|
class AbstractComposite < Component
|
44
44
|
LABELS = false
|
45
|
+
LEGACY_INTERFACE = true
|
45
46
|
SYMBOL_MAP = {}
|
46
47
|
CSS_MAP = {}
|
47
48
|
CSS_ID_MAP = {}
|
@@ -61,6 +62,9 @@ module HtmlGrid
|
|
61
62
|
elsif(component.is_a? Symbol)
|
62
63
|
if(self.respond_to?(component, true))
|
63
64
|
args = [model]
|
65
|
+
if(self::class::LEGACY_INTERFACE)
|
66
|
+
args.push(@session)
|
67
|
+
end
|
64
68
|
self.send(component, *args)
|
65
69
|
elsif(klass = symbol_map[component])
|
66
70
|
klass.new(component, model, @session, self)
|
@@ -258,11 +262,7 @@ module HtmlGrid
|
|
258
262
|
end
|
259
263
|
def to_html(context)
|
260
264
|
@grid.set_attributes(@attributes)
|
261
|
-
|
262
|
-
super << @grid.to_html(context).force_encoding('utf-8')
|
263
|
-
else
|
264
|
-
super << @grid.to_html(context)
|
265
|
-
end
|
265
|
+
super << @grid.to_html(context).force_encoding('utf-8')
|
266
266
|
end
|
267
267
|
private
|
268
268
|
def back(model=@model, session=@session)
|
data/lib/htmlgrid/dojotoolkit.rb
CHANGED
@@ -71,7 +71,7 @@ module HtmlGrid
|
|
71
71
|
html << context.div(attrs)
|
72
72
|
elsif(@dojo_tooltip.respond_to?(:to_html))
|
73
73
|
@dojo_tooltip.attributes.update(attrs)
|
74
|
-
html << @dojo_tooltip.to_html(context)
|
74
|
+
html << @dojo_tooltip.to_html(context).force_encoding('utf-8')
|
75
75
|
end
|
76
76
|
unless(html.empty? || dojo_parse_widgets)
|
77
77
|
html << context.script('type' => 'text/javascript') {
|
@@ -93,11 +93,7 @@ module HtmlGrid
|
|
93
93
|
def dynamic_html_headers(context)
|
94
94
|
headers = super
|
95
95
|
encoding = self.class::DOJO_ENCODING
|
96
|
-
encoding ||=
|
97
|
-
Encoding.default_external
|
98
|
-
else
|
99
|
-
$KCODE == 'UTF8' ? 'UTF-8' : 'ISO-8859-1'
|
100
|
-
end
|
96
|
+
encoding ||= Encoding.default_external
|
101
97
|
dojo_path = @lookandfeel.resource_global(:dojo_js)
|
102
98
|
dojo_path ||= '/resources/dojo/dojo/dojo.js'
|
103
99
|
args = { 'type' => 'text/javascript'}
|
data/lib/htmlgrid/form.rb
CHANGED
@@ -30,11 +30,7 @@ require 'htmlgrid/submit'
|
|
30
30
|
module HtmlGrid
|
31
31
|
module FormMethods
|
32
32
|
AUTOFILL = false
|
33
|
-
|
34
|
-
ACCEPT_CHARSET = Encoding.default_external || 'UTF-8'
|
35
|
-
else
|
36
|
-
ACCEPT_CHARSET = $KCODE == 'UTF8' ? 'UTF-8' : 'ISO-8859-1'
|
37
|
-
end
|
33
|
+
ACCEPT_CHARSET = 'UTF-8'
|
38
34
|
EVENT = nil
|
39
35
|
FORM_ACTION = nil
|
40
36
|
FORM_METHOD = 'POST'
|
data/lib/htmlgrid/grid.rb
CHANGED
@@ -24,8 +24,9 @@
|
|
24
24
|
#
|
25
25
|
# HtmlGrid::Grid -- htmlgrid -- 23.02.2012 -- mhatakeyama@ywesee.com
|
26
26
|
# HtmlGrid::Grid -- htmlgrid -- 12.01.2010 -- hwyss@ywesee.com
|
27
|
+
require 'htmlgrid/version'
|
27
28
|
begin
|
28
|
-
VERSION = '1.0.
|
29
|
+
VERSION = '1.0.8'
|
29
30
|
begin
|
30
31
|
# for gem install
|
31
32
|
ext_dir = File.expand_path('../../ext/htmlgrid', File.dirname(__FILE__))
|
@@ -97,9 +98,9 @@ rescue LoadError
|
|
97
98
|
end
|
98
99
|
def component_html(cgi)
|
99
100
|
html = ''
|
100
|
-
@components.each { |component|
|
101
|
+
@components.each { |component|
|
101
102
|
if component.respond_to? :to_html
|
102
|
-
html << component.to_html(cgi).to_s
|
103
|
+
html << component.to_html(cgi).to_s.force_encoding('utf-8')
|
103
104
|
else
|
104
105
|
html << component.to_s
|
105
106
|
end
|
@@ -196,7 +197,7 @@ rescue LoadError
|
|
196
197
|
add_field(arg, x, y)
|
197
198
|
elsif arg.kind_of? Array
|
198
199
|
arg.each do |item|
|
199
|
-
add_field(item, x, y)
|
200
|
+
add_field(item, x ? x : '', y)
|
200
201
|
end
|
201
202
|
else
|
202
203
|
if(col)
|
@@ -215,7 +216,7 @@ rescue LoadError
|
|
215
216
|
}
|
216
217
|
end
|
217
218
|
def add_background(x, y, w=1, h=1)
|
218
|
-
each_field(x, y, w, h) { |field|
|
219
|
+
each_field(x, y, w, h) { |field|
|
219
220
|
field.add_background(x, w)
|
220
221
|
}
|
221
222
|
end
|
@@ -254,7 +255,7 @@ rescue LoadError
|
|
254
255
|
}
|
255
256
|
end
|
256
257
|
def each_field(x, y, w=1, h=1)
|
257
|
-
y.upto([y+h, @height].min - 1) { |yy|
|
258
|
+
y.upto([y+h, @height].min - 1) { |yy|
|
258
259
|
@rows[yy].each_field(x,w) { |field|
|
259
260
|
yield(field)
|
260
261
|
}
|
@@ -287,12 +288,12 @@ rescue LoadError
|
|
287
288
|
# TODO
|
288
289
|
# At the moment, offset value is not used
|
289
290
|
# But probably offset value is used in grid.c
|
290
|
-
|
291
|
+
initialize_grid(offset, y + 1)
|
291
292
|
@rows[y].set_attributes(attr)
|
292
293
|
end
|
293
294
|
def to_html(cgi)
|
294
295
|
cgi.table(@attributes) {
|
295
|
-
@rows.collect { |row| row.to_html(cgi) }.join
|
296
|
+
@rows.collect { |row| row.to_html(cgi).force_encoding('utf-8') }.join
|
296
297
|
}
|
297
298
|
end
|
298
299
|
def [](x, y)
|
data/lib/htmlgrid/link.rb
CHANGED
data/lib/htmlgrid/richtext.rb
CHANGED
data/lib/htmlgrid/template.rb
CHANGED
data/lib/htmlgrid/ulcomposite.rb
CHANGED
data/test/rebuild.rb
CHANGED
File without changes
|
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
3
|
# HtmlGrid -- HyperTextMarkupLanguage Framework
|
4
|
-
#
|
4
|
+
# Copyright (C) 2003 ywesee - intellectual capital connected
|
5
|
+
# Andreas Schrafl, Benjamin Fay, Hannes Wyss, Markus Huggler
|
5
6
|
#
|
6
7
|
# This library is free software; you can redistribute it and/or
|
7
8
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -17,17 +18,15 @@
|
|
17
18
|
# License along with this library; if not, write to the Free Software
|
18
19
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
20
|
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
# hwyss@ywesee.com
|
21
|
+
# ywesee - intellectual capital connected, Winterthurerstrasse 52, CH-8006 Zuerich, Switzerland
|
22
|
+
# htmlgrid@ywesee.com, www.ywesee.com/htmlgrid
|
23
23
|
#
|
24
|
-
#
|
24
|
+
# suite.rb -- htmlgrid -- 20.11.2002 -- hwyss@ywesee.com
|
25
25
|
|
26
|
-
|
26
|
+
$: << File.expand_path(File.dirname(__FILE__))
|
27
27
|
|
28
|
-
|
29
|
-
$CPPFLAGS += " -DRUBY_19"
|
30
|
-
end
|
28
|
+
require 'rebuild'
|
31
29
|
|
32
|
-
|
33
|
-
|
30
|
+
Dir.foreach(File.dirname(__FILE__)) { |file|
|
31
|
+
require file if /^test_.*\.rb$/o.match(file)
|
32
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#encoding: utf-8
|
3
|
+
$: << File.expand_path('../lib', File.dirname(__FILE__))
|
4
|
+
$: << File.dirname(__FILE__)
|
5
|
+
|
6
|
+
require 'minitest/autorun'
|
7
|
+
require 'stub/cgi'
|
8
|
+
require 'htmlgrid/composite'
|
9
|
+
require 'htmlgrid/inputtext'
|
10
|
+
require 'htmlgrid/form'
|
11
|
+
|
12
|
+
class StubComposite < HtmlGrid::Composite
|
13
|
+
attr_writer :container
|
14
|
+
COMPONENTS = {
|
15
|
+
[0,0,1] => :foo,
|
16
|
+
}
|
17
|
+
LABELS = true
|
18
|
+
SYMBOL_MAP = {
|
19
|
+
:bar => HtmlGrid::InputText,
|
20
|
+
}
|
21
|
+
attr_reader :model, :session
|
22
|
+
public :resolve_offset, :labels?
|
23
|
+
def init
|
24
|
+
@barcount=0
|
25
|
+
super
|
26
|
+
end
|
27
|
+
def foo(model)
|
28
|
+
1.upto(2).each { |idx|
|
29
|
+
@grid.add(baz(model), 0, idx, 0)
|
30
|
+
}
|
31
|
+
"Foo"
|
32
|
+
end
|
33
|
+
def baz(model)
|
34
|
+
@barcount += 1
|
35
|
+
"Baz#{@barcount}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
class StubCompositeModel
|
39
|
+
end
|
40
|
+
class StubComposite2Model
|
41
|
+
end
|
42
|
+
class StubCompositeLookandfeel
|
43
|
+
def attributes(key)
|
44
|
+
{}
|
45
|
+
end
|
46
|
+
def lookup(key)
|
47
|
+
end
|
48
|
+
def base_url
|
49
|
+
'http://www.oddb.org/de/gcc'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
class StubCompositeSession
|
53
|
+
def lookandfeel
|
54
|
+
StubCompositeLookandfeel.new
|
55
|
+
end
|
56
|
+
def error(key)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
class StubCompositeForm < HtmlGrid::Form
|
60
|
+
COMPONENTS = {
|
61
|
+
[0,0] => StubComposite
|
62
|
+
}
|
63
|
+
EVENT = :foo
|
64
|
+
end
|
65
|
+
|
66
|
+
class TestComposite < Minitest::Test
|
67
|
+
def setup
|
68
|
+
@composite = StubComposite.new([StubComposite2Model.new, StubCompositeModel.new],
|
69
|
+
StubCompositeSession.new)
|
70
|
+
end
|
71
|
+
def test_to_html
|
72
|
+
expected = '<TABLE cellspacing="0"><TR><TD>Foo</TD></TR><TR><TD>Baz1</TD></TR><TR><TD>Baz2</TD></TR></TABLE>'
|
73
|
+
assert_equal(expected, @composite.to_html(CGI.new))
|
74
|
+
end
|
75
|
+
end
|
data/test/test_component.rb
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
27
27
|
$: << File.expand_path("../ext", File.dirname(__FILE__))
|
28
28
|
|
29
|
-
require '
|
29
|
+
require 'minitest/autorun'
|
30
30
|
require 'htmlgrid/component'
|
31
31
|
|
32
32
|
module HtmlGrid
|
@@ -35,7 +35,7 @@ module HtmlGrid
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
class TestComponent < Test
|
38
|
+
class TestComponent < Minitest::Test
|
39
39
|
class StubAttributeComponent < HtmlGrid::Component
|
40
40
|
HTML_ATTRIBUTES = { "key" => "val" }
|
41
41
|
end
|
@@ -55,23 +55,17 @@ class TestComponent < Test::Unit::TestCase
|
|
55
55
|
@component = HtmlGrid::Component.new(nil, nil)
|
56
56
|
end
|
57
57
|
def test_initialize1
|
58
|
-
|
59
|
-
HtmlGrid::Component.new("foo", "bar")
|
60
|
-
}
|
58
|
+
HtmlGrid::Component.new("foo", "bar")
|
61
59
|
comp = HtmlGrid::Component.new("foo", "bar")
|
62
60
|
assert_equal("foo", comp.model)
|
63
61
|
assert_equal("bar", comp.session)
|
64
62
|
assert_equal(nil, comp.container)
|
65
63
|
assert_equal(false, comp.label?)
|
66
|
-
|
67
|
-
comp.label = true
|
68
|
-
}
|
64
|
+
comp.label = true
|
69
65
|
assert_equal(true, comp.label?)
|
70
66
|
end
|
71
67
|
def test_initialize2
|
72
|
-
|
73
|
-
HtmlGrid::Component.new("foo", "bar", "baz")
|
74
|
-
}
|
68
|
+
HtmlGrid::Component.new("foo", "bar", "baz")
|
75
69
|
comp = HtmlGrid::Component.new("foo", "bar", "baz")
|
76
70
|
assert_equal("foo", comp.model)
|
77
71
|
assert_equal("bar", comp.session)
|
@@ -83,17 +77,13 @@ class TestComponent < Test::Unit::TestCase
|
|
83
77
|
assert_respond_to(comp, :attributes)
|
84
78
|
assert_equal(expected, comp.attributes)
|
85
79
|
assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
|
86
|
-
|
87
|
-
comp.attributes.store("other", "val")
|
88
|
-
}
|
80
|
+
comp.attributes.store("other", "val")
|
89
81
|
expected2 = { "key" => "val", "other" => "val" }
|
90
82
|
assert_equal(expected2, comp.attributes)
|
91
83
|
assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
|
92
84
|
assert_equal({}, @component.attributes)
|
93
85
|
assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
|
94
|
-
|
95
|
-
@component.attributes.store("third", "val")
|
96
|
-
}
|
86
|
+
@component.attributes.store("third", "val")
|
97
87
|
expected = {"third"=>"val"}
|
98
88
|
assert_equal(expected, @component.attributes)
|
99
89
|
assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
|
data/test/test_composite.rb
CHANGED
@@ -26,11 +26,12 @@
|
|
26
26
|
$: << File.expand_path('../lib', File.dirname(__FILE__))
|
27
27
|
$: << File.dirname(__FILE__)
|
28
28
|
|
29
|
-
require '
|
29
|
+
require 'minitest/autorun'
|
30
30
|
require 'stub/cgi'
|
31
31
|
require 'htmlgrid/composite'
|
32
32
|
require 'htmlgrid/inputtext'
|
33
33
|
require 'htmlgrid/form'
|
34
|
+
require 'htmlgrid/button'
|
34
35
|
|
35
36
|
class StubComposite < HtmlGrid::Composite
|
36
37
|
attr_writer :container
|
@@ -51,13 +52,16 @@ class StubComposite < HtmlGrid::Composite
|
|
51
52
|
@barcount=0
|
52
53
|
super
|
53
54
|
end
|
54
|
-
def foo(model)
|
55
|
+
def foo(model, lookandfeel)
|
55
56
|
"Foo"
|
56
57
|
end
|
57
|
-
def baz(model)
|
58
|
+
def baz(model, lookandfeel)
|
58
59
|
@barcount += 1
|
59
60
|
"Baz#{@barcount}"
|
60
61
|
end
|
62
|
+
def back
|
63
|
+
super
|
64
|
+
end
|
61
65
|
end
|
62
66
|
class StubCompositeComponent < HtmlGrid::Component
|
63
67
|
def to_html(context)
|
@@ -84,6 +88,9 @@ end
|
|
84
88
|
class StubCompositeModel
|
85
89
|
end
|
86
90
|
class StubCompositeLookandfeel
|
91
|
+
def event_url(one)
|
92
|
+
return 'event_url'
|
93
|
+
end
|
87
94
|
def attributes(key)
|
88
95
|
{}
|
89
96
|
end
|
@@ -127,42 +134,38 @@ class StubCompositeColspan4 < HtmlGrid::Composite
|
|
127
134
|
}
|
128
135
|
end
|
129
136
|
|
130
|
-
class TestComposite < Test
|
137
|
+
class TestComposite < Minitest::Test
|
131
138
|
def setup
|
132
139
|
@composite = StubComposite.new(StubCompositeModel.new, StubCompositeSession.new)
|
133
140
|
end
|
134
141
|
def test_create_method
|
135
142
|
foo = nil
|
136
|
-
|
137
|
-
foo = @composite.create(:foo, @composite.model)
|
138
|
-
}
|
143
|
+
foo = @composite.create(:foo, @composite.model)
|
139
144
|
assert_equal("Foo", foo)
|
140
145
|
end
|
141
146
|
def test_create_symbol
|
142
147
|
bar = nil
|
143
|
-
|
144
|
-
bar = @composite.create(:bar, @composite.model)
|
145
|
-
}
|
148
|
+
bar = @composite.create(:bar, @composite.model)
|
146
149
|
assert_equal(HtmlGrid::InputText, bar.class)
|
147
150
|
end
|
148
151
|
def test_full_colspan1
|
149
152
|
composite = StubCompositeColspan1.new(StubCompositeModel.new, StubCompositeSession.new)
|
150
|
-
|
153
|
+
composite.full_colspan
|
151
154
|
assert_equal(nil, composite.full_colspan)
|
152
155
|
end
|
153
156
|
def test_full_colspan2
|
154
157
|
composite = StubCompositeColspan2.new(StubCompositeModel.new, StubCompositeSession.new)
|
155
|
-
|
158
|
+
composite.full_colspan
|
156
159
|
assert_equal(nil, composite.full_colspan)
|
157
160
|
end
|
158
161
|
def test_full_colspan3
|
159
162
|
composite = StubCompositeColspan3.new(StubCompositeModel.new, StubCompositeSession.new)
|
160
|
-
|
163
|
+
composite.full_colspan
|
161
164
|
assert_equal(2, composite.full_colspan)
|
162
165
|
end
|
163
166
|
def test_full_colspan4
|
164
167
|
composite = StubCompositeColspan4.new(StubCompositeModel.new, StubCompositeSession.new)
|
165
|
-
|
168
|
+
composite.full_colspan
|
166
169
|
assert_equal(3, composite.full_colspan)
|
167
170
|
end
|
168
171
|
def test_labels1
|
@@ -172,10 +175,10 @@ class TestComposite < Test::Unit::TestCase
|
|
172
175
|
def test_labels2
|
173
176
|
assert_equal(true, @composite.labels?)
|
174
177
|
end
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
178
|
+
def test_to_html
|
179
|
+
expected = '<TABLE cellspacing="0"><TR><TD>Baz1FooBaz2</TD></TR><TR><TD>Baz3Baz4</TD></TR></TABLE>'
|
180
|
+
assert_equal(expected, @composite.to_html(CGI.new))
|
181
|
+
end
|
179
182
|
def test_resolve_offset
|
180
183
|
matrix = [1,2,3,4]
|
181
184
|
assert_equal(matrix, @composite.resolve_offset(matrix))
|
@@ -184,7 +187,7 @@ class TestComposite < Test::Unit::TestCase
|
|
184
187
|
assert_equal(expected, @composite.resolve_offset(matrix, offset))
|
185
188
|
end
|
186
189
|
def test_event
|
187
|
-
|
190
|
+
@composite.event()
|
188
191
|
form = StubCompositeForm.new(@composite.model, @composite.session)
|
189
192
|
@composite.container = form
|
190
193
|
assert_equal(:foo, @composite.event())
|
@@ -197,5 +200,15 @@ class TestComposite < Test::Unit::TestCase
|
|
197
200
|
expected = '<TABLE cellspacing="0"><TR><TD><A class="standard">brafoo</A></TD></TR></TABLE>'
|
198
201
|
assert_equal(expected, composite.to_html(CGI.new))
|
199
202
|
composite = StubComposite4.new(StubCompositeModel.new, StubCompositeSession.new)
|
200
|
-
|
203
|
+
end
|
204
|
+
def test_to_back
|
205
|
+
if RUBY_VERSION.split(".").first.eql?('1')
|
206
|
+
expected = "<INPUT type=\"button\" name=\"back\" onClick=\"document.location.href='event_url';\">"
|
207
|
+
else
|
208
|
+
# It looks like Ruby 2.x escapes the ' which is not strictly necessary
|
209
|
+
expected = "<INPUT type=\"button\" name=\"back\" onClick=\"document.location.href='event_url';\">"
|
210
|
+
end
|
211
|
+
html = @composite.back().to_html(CGI.new)
|
212
|
+
assert_equal(expected, html)
|
213
|
+
end
|
201
214
|
end
|
data/test/test_datevalue.rb
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|
26
26
|
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
27
27
|
|
28
|
-
require '
|
28
|
+
require 'minitest/autorun'
|
29
29
|
require 'htmlgrid/datevalue'
|
30
30
|
require 'stub/cgi'
|
31
31
|
require 'date'
|
@@ -49,7 +49,7 @@ class StubDateProvider
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
class TestDateValue < Test
|
52
|
+
class TestDateValue < Minitest::Test
|
53
53
|
def setup
|
54
54
|
@component = HtmlGrid::DateValue.new(:date, StubDateProvider.new,
|
55
55
|
StubDateSession.new)
|
data/test/test_form.rb
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
$: << File.dirname(__FILE__)
|
27
27
|
$: << File.expand_path("../lib", File.dirname(__FILE__))
|
28
28
|
|
29
|
-
require '
|
29
|
+
require 'minitest/autorun'
|
30
30
|
require 'htmlgrid/form'
|
31
31
|
require 'stub/cgi'
|
32
32
|
|
@@ -76,7 +76,7 @@ class StubFormMultiPart < HtmlGrid::Form
|
|
76
76
|
TAG_METHOD = :multipart_form
|
77
77
|
end
|
78
78
|
|
79
|
-
class TestForm < Test
|
79
|
+
class TestForm < Minitest::Test
|
80
80
|
def setup
|
81
81
|
@model = StubFormModel.new
|
82
82
|
@lookandfeel = StubFormLookandfeel.new
|
@@ -88,24 +88,25 @@ class TestForm < Test::Unit::TestCase
|
|
88
88
|
def test_multipart
|
89
89
|
form = StubFormMultiPart.new(@model, @lookandfeel)
|
90
90
|
result = form.to_html(CGI.new)
|
91
|
-
|
92
|
-
|
91
|
+
expected = '<FORM NAME="stdform" METHOD="POST" ACTION="http://test.oddb.org/de/gcc" ACCEPT-CHARSET="UTF-8" ENCTYPE="multipart/form-data">'
|
92
|
+
assert_equal(0, result.index(expected), "expected\n#{result}\nto start with\n#{expected}")
|
93
93
|
end
|
94
94
|
def test_to_html
|
95
95
|
result = @form.to_html(CGI.new)
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
expected.
|
103
|
-
assert(result.index(line), "
|
96
|
+
expected = [
|
97
|
+
'<INPUT TYPE="hidden" NAME="flavor" VALUE="gcc">',
|
98
|
+
'<INPUT TYPE="hidden" NAME="language" VALUE="de">',
|
99
|
+
'<INPUT NAME="event" ID="event" VALUE="foo" TYPE="hidden">',
|
100
|
+
'<INPUT TYPE="hidden" NAME="state_id" VALUE="1">',
|
101
|
+
]
|
102
|
+
expected.each_with_index { |line, idx|
|
103
|
+
assert(result.index(line), "#{idx}: missing #{line}\n in #{result}")
|
104
104
|
}
|
105
105
|
end
|
106
106
|
def test_submit
|
107
|
-
|
108
|
-
|
107
|
+
html = @form.submit(@model, @lookandfeel).to_html(CGI.new)
|
108
|
+
expected = '<INPUT value="Submit-Value" type="submit" name="foo">'
|
109
|
+
assert_equal(expected, html)
|
109
110
|
end
|
110
111
|
def test_onsubmit
|
111
112
|
@form.onsubmit = 'submitted'
|
@@ -115,7 +116,7 @@ class TestForm < Test::Unit::TestCase
|
|
115
116
|
end
|
116
117
|
def test_onsubmit_init
|
117
118
|
form = nil
|
118
|
-
|
119
|
+
form = StubForm2.new(@model, @lookandfeel)
|
119
120
|
expected = 'onSubmit="submitted"'
|
120
121
|
result = /<FORM[^>]+>/.match(form.to_html(CGI.new))[0]
|
121
122
|
assert(result.index(expected), "missing:\n#{expected}\nin:\n#{result}")
|