htmlgrid 1.2.0 → 1.2.1

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.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/htmlgrid/booleanvalue.rb +14 -14
  3. data/lib/htmlgrid/button.rb +9 -9
  4. data/lib/htmlgrid/centeredcomposite.rb +21 -20
  5. data/lib/htmlgrid/component.rb +214 -199
  6. data/lib/htmlgrid/composite.rb +332 -301
  7. data/lib/htmlgrid/datevalue.rb +12 -12
  8. data/lib/htmlgrid/div.rb +9 -9
  9. data/lib/htmlgrid/divcomposite.rb +44 -43
  10. data/lib/htmlgrid/divform.rb +8 -8
  11. data/lib/htmlgrid/divlist.rb +17 -19
  12. data/lib/htmlgrid/divtemplate.rb +6 -6
  13. data/lib/htmlgrid/dojotoolkit.rb +54 -48
  14. data/lib/htmlgrid/errormessage.rb +47 -43
  15. data/lib/htmlgrid/form.rb +70 -62
  16. data/lib/htmlgrid/formlist.rb +14 -14
  17. data/lib/htmlgrid/grid.rb +111 -67
  18. data/lib/htmlgrid/image.rb +17 -16
  19. data/lib/htmlgrid/infomessage.rb +15 -14
  20. data/lib/htmlgrid/input.rb +34 -32
  21. data/lib/htmlgrid/inputcheckbox.rb +13 -13
  22. data/lib/htmlgrid/inputcurrency.rb +9 -9
  23. data/lib/htmlgrid/inputdate.rb +11 -11
  24. data/lib/htmlgrid/inputfile.rb +13 -12
  25. data/lib/htmlgrid/inputradio.rb +9 -9
  26. data/lib/htmlgrid/inputtext.rb +10 -10
  27. data/lib/htmlgrid/javascript.rb +17 -16
  28. data/lib/htmlgrid/label.rb +53 -49
  29. data/lib/htmlgrid/labeltext.rb +8 -8
  30. data/lib/htmlgrid/link.rb +31 -27
  31. data/lib/htmlgrid/list.rb +121 -110
  32. data/lib/htmlgrid/namedcomponent.rb +28 -25
  33. data/lib/htmlgrid/pass.rb +11 -11
  34. data/lib/htmlgrid/passthru.rb +20 -17
  35. data/lib/htmlgrid/popuplink.rb +41 -39
  36. data/lib/htmlgrid/reset.rb +8 -8
  37. data/lib/htmlgrid/richtext.rb +22 -20
  38. data/lib/htmlgrid/select.rb +28 -26
  39. data/lib/htmlgrid/span.rb +9 -9
  40. data/lib/htmlgrid/spancomposite.rb +18 -18
  41. data/lib/htmlgrid/spanlist.rb +9 -9
  42. data/lib/htmlgrid/staticinput.rb +14 -13
  43. data/lib/htmlgrid/submit.rb +9 -9
  44. data/lib/htmlgrid/template.rb +120 -105
  45. data/lib/htmlgrid/text.rb +9 -9
  46. data/lib/htmlgrid/textarea.rb +19 -17
  47. data/lib/htmlgrid/ulcomposite.rb +22 -22
  48. data/lib/htmlgrid/ullist.rb +9 -9
  49. data/lib/htmlgrid/urllink.rb +38 -36
  50. data/lib/htmlgrid/value.rb +9 -9
  51. data/lib/htmlgrid/version.rb +2 -2
  52. data/test/stub/cgi.rb +10 -7
  53. data/test/suite.rb +3 -3
  54. data/test/test_add_row.rb +12 -13
  55. data/test/test_component.rb +121 -100
  56. data/test/test_composite.rb +85 -46
  57. data/test/test_datevalue.rb +28 -24
  58. data/test/test_divlist.rb +126 -0
  59. data/test/test_dojotoolkit.rb +41 -27
  60. data/test/test_form.rb +89 -73
  61. data/test/test_formlist.rb +77 -65
  62. data/test/test_grid.rb +256 -208
  63. data/test/test_input.rb +37 -31
  64. data/test/test_interaction_list.rb +106 -70
  65. data/test/test_label.rb +91 -77
  66. data/test/test_list.rb +110 -95
  67. data/test/test_select.rb +35 -30
  68. data/test/test_template.rb +63 -55
  69. data/test/test_text.rb +36 -31
  70. metadata +17 -2
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: utf-8
2
+
3
3
  #
4
4
  # HtmlGrid -- HyperTextMarkupLanguage Framework
5
5
  # Copyright (C) 2003 ywesee - intellectual capital connected
@@ -22,15 +22,15 @@
22
22
  # ywesee - intellectual capital connected, Winterthurerstrasse 52, CH-8006 Zuerich, Switzerland
23
23
  # htmlgrid@ywesee.com, www.ywesee.com/htmlgrid
24
24
  #
25
- # Value -- htmlgrid -- 19.11.2002 -- hwyss@ywesee.com
25
+ # Value -- htmlgrid -- 19.11.2002 -- hwyss@ywesee.com
26
26
 
27
- require 'htmlgrid/namedcomponent'
27
+ require "htmlgrid/namedcomponent"
28
28
 
29
29
  module HtmlGrid
30
- class Value < NamedComponent
31
- LABEL = true
32
- def init
33
- @value = @model.send(@name) if @model.respond_to?(@name)
34
- end
35
- end
30
+ class Value < NamedComponent
31
+ LABEL = true
32
+ def init
33
+ @value = @model.send(@name) if @model.respond_to?(@name)
34
+ end
35
+ end
36
36
  end
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: utf-8
2
+
3
3
  module HtmlGrid
4
- VERSION = '1.2.0'
4
+ VERSION = "1.2.1"
5
5
  end
data/test/stub/cgi.rb CHANGED
@@ -21,23 +21,26 @@
21
21
  # ywesee - intellectual capital connected, Winterthurerstrasse 52, CH-8006 Zuerich, Switzerland
22
22
  # htmlgrid@ywesee.com, www.ywesee.com/htmlgrid
23
23
  #
24
- # CGI -- htmlgrid -- hwyss@ywesee.com
24
+ # CGI -- htmlgrid -- hwyss@ywesee.com
25
25
 
26
- require 'cgi'
26
+ require "cgi"
27
27
 
28
28
  class CGI
29
29
  attr_accessor :params
30
- alias :old_initialize :initialize
31
- def initialize throwaway=nil
32
- ARGV.push('')
33
- old_initialize('html4')
30
+ alias_method :old_initialize, :initialize
31
+ def initialize throwaway = nil
32
+ ARGV.push("")
33
+ old_initialize("html4")
34
34
  end
35
+
35
36
  def cookies
36
37
  {}
37
38
  end
39
+
38
40
  def []key
39
- @params[key]
41
+ @params[key]
40
42
  end
43
+
41
44
  def []=key, value
42
45
  @params[key] = value
43
46
  end
data/test/suite.rb CHANGED
@@ -21,10 +21,10 @@
21
21
  # ywesee - intellectual capital connected, Winterthurerstrasse 52, CH-8006 Zuerich, Switzerland
22
22
  # htmlgrid@ywesee.com, www.ywesee.com/htmlgrid
23
23
  #
24
- # suite.rb -- htmlgrid -- 20.11.2002 -- hwyss@ywesee.com
24
+ # suite.rb -- htmlgrid -- 20.11.2002 -- hwyss@ywesee.com
25
25
 
26
- $: << File.expand_path(File.dirname(__FILE__))
26
+ $: << __dir__
27
27
 
28
28
  Dir.foreach(File.dirname(__FILE__)) { |file|
29
- require file if /^test_.*\.rb$/o.match(file)
29
+ require file if /^test_.*\.rb$/o.match?(file)
30
30
  }
data/test/test_add_row.rb CHANGED
@@ -1,29 +1,28 @@
1
1
  #!/usr/bin/env ruby
2
- #encoding: utf-8
3
- $: << File.expand_path('../lib', File.dirname(__FILE__))
2
+ $: << File.expand_path("../lib", File.dirname(__FILE__))
4
3
  $: << File.dirname(__FILE__)
5
4
 
6
- require 'minitest/autorun'
7
- require 'stub/cgi'
8
- require 'htmlgrid/composite'
9
- require 'htmlgrid/inputtext'
10
- require 'htmlgrid/form'
5
+ require "minitest/autorun"
6
+ require "stub/cgi"
7
+ require "htmlgrid/composite"
8
+ require "htmlgrid/inputtext"
9
+ require "htmlgrid/form"
11
10
 
12
11
  module RowTest
13
12
  class StubComposite < HtmlGrid::Composite
14
13
  attr_writer :container
15
14
  COMPONENTS = {
16
- [0, 0, 1] => :foo,
15
+ [0, 0, 1] => :foo
17
16
  }
18
17
  LABELS = true
19
18
  SYMBOL_MAP = {
20
- :bar => HtmlGrid::InputText,
19
+ bar: HtmlGrid::InputText
21
20
  }
22
21
  attr_reader :model, :session
23
22
  public :resolve_offset, :labels?
24
23
 
25
24
  def init
26
- @barcount=0
25
+ @barcount = 0
27
26
  super
28
27
  end
29
28
 
@@ -31,7 +30,7 @@ module RowTest
31
30
  1.upto(2).each { |idx|
32
31
  @grid.add(baz(model), 0, idx, 0)
33
32
  }
34
- 'Foo'
33
+ "Foo"
35
34
  end
36
35
 
37
36
  private
@@ -55,7 +54,7 @@ module RowTest
55
54
  end
56
55
 
57
56
  def base_url
58
- 'http://www.oddb.org/de/gcc'
57
+ "http://www.oddb.org/de/gcc"
59
58
  end
60
59
  end
61
60
 
@@ -84,7 +83,7 @@ module RowTest
84
83
  end
85
84
 
86
85
  def test_to_html
87
- assert_equal(<<-EXP.gsub(/\n|^\s*/, ''), @composite.to_html(CGI.new))
86
+ assert_equal(<<-EXP.gsub(/\n|^\s*/, ""), @composite.to_html(CGI.new))
88
87
  <TABLE cellspacing="0">
89
88
  <TR><TD>Foo</TD></TR><TR><TD>Baz1</TD></TR><TR><TD>Baz2</TD></TR>
90
89
  </TABLE>
@@ -27,9 +27,9 @@ $: << File.expand_path("../lib", File.dirname(__FILE__))
27
27
  $: << File.expand_path("../ext", File.dirname(__FILE__))
28
28
  $: << File.dirname(__FILE__)
29
29
 
30
- require 'minitest/autorun'
31
- require 'htmlgrid/component'
32
- require 'stub/cgi'
30
+ require "minitest/autorun"
31
+ require "htmlgrid/component"
32
+ require "stub/cgi"
33
33
 
34
34
  module HtmlGrid
35
35
  class Component
@@ -38,139 +38,160 @@ module HtmlGrid
38
38
  end
39
39
 
40
40
  class TestComponent < Minitest::Test
41
- STRING_WITH_SHARP = "Test_#_gartenhat"
42
- STRING_WITH_PLUS = "Test_+_plus"
43
- STRING_WITH_UMLAUT = "Test_with_Umlaut_üé"
44
- class StubAttributeComponent < HtmlGrid::Component
45
- HTML_ATTRIBUTES = { "key" => "val" }
46
- end
47
- class StubInitComponent < HtmlGrid::Component
48
- attr_reader :init_called
49
- def init
50
- @init_called = true
51
- end
52
- end
53
- class StubLabelComponent < HtmlGrid::Component
54
- LABEL = true
55
- end
56
- class StubContainer
57
- attr_accessor :onsubmit
58
- end
41
+ STRING_WITH_SHARP = "Test_#_gartenhat"
42
+ STRING_WITH_PLUS = "Test_+_plus"
43
+ STRING_WITH_UMLAUT = "Test_with_Umlaut_üé"
44
+ class StubAttributeComponent < HtmlGrid::Component
45
+ HTML_ATTRIBUTES = {"key" => "val"}
46
+ end
47
+
48
+ class StubInitComponent < HtmlGrid::Component
49
+ attr_reader :init_called
50
+ def init
51
+ @init_called = true
52
+ end
53
+ end
54
+
55
+ class StubLabelComponent < HtmlGrid::Component
56
+ LABEL = true
57
+ end
58
+
59
+ class StubContainer
60
+ attr_accessor :onsubmit
61
+ end
62
+
59
63
  class ToHTMLreturnFrozen
60
- def initialize content
64
+ def initialize content
61
65
  @content = content
62
66
  end
67
+
63
68
  def to_html(what)
64
- return @content.to_s.freeze
69
+ @content.to_s.freeze
65
70
  end
66
71
  end
67
- def setup
68
- @component = HtmlGrid::Component.new(nil, nil)
69
- end
70
- def test_initialize1
72
+
73
+ def setup
74
+ @component = HtmlGrid::Component.new(nil, nil)
75
+ end
76
+
77
+ def test_initialize1
71
78
  HtmlGrid::Component.new("foo", "bar")
72
- comp = HtmlGrid::Component.new("foo", "bar")
73
- assert_equal("foo", comp.model)
74
- assert_equal("bar", comp.session)
75
- assert_nil(comp.container)
76
- assert_equal(false, comp.label?)
79
+ comp = HtmlGrid::Component.new("foo", "bar")
80
+ assert_equal("foo", comp.model)
81
+ assert_equal("bar", comp.session)
82
+ assert_nil(comp.container)
83
+ assert_equal(false, comp.label?)
77
84
  comp.label = true
78
- assert_equal(true, comp.label?)
79
- end
80
- def test_initialize2
85
+ assert_equal(true, comp.label?)
86
+ end
87
+
88
+ def test_initialize2
81
89
  HtmlGrid::Component.new("foo", "bar", "baz")
82
- comp = HtmlGrid::Component.new("foo", "bar", "baz")
83
- assert_equal("foo", comp.model)
84
- assert_equal("bar", comp.session)
85
- assert_equal("baz", comp.container)
86
- end
90
+ comp = HtmlGrid::Component.new("foo", "bar", "baz")
91
+ assert_equal("foo", comp.model)
92
+ assert_equal("bar", comp.session)
93
+ assert_equal("baz", comp.container)
94
+ end
95
+
87
96
  def test_to_html
88
97
  comp = HtmlGrid::Component.new("foo", "bar", "baz").to_html(CGI.new)
89
98
  assert_equal("", comp)
90
99
  end
100
+
91
101
  # Next is test for https://github.com/zdavatz/oddb.org/issues/118 FrozenError at /de/just-medical
92
102
  def test_to_html_frozen_empty
93
- comp = HtmlGrid::Component.new('context')
94
- comp.value = ToHTMLreturnFrozen.new('')
103
+ comp = HtmlGrid::Component.new("context")
104
+ comp.value = ToHTMLreturnFrozen.new("")
95
105
  result = comp.to_html(CGI.new)
96
- assert_equal('', result)
106
+ assert_equal("", result)
97
107
  end
108
+
98
109
  def test_gartenhag_to_html
99
- comp = HtmlGrid::Component.new('context')
110
+ comp = HtmlGrid::Component.new("context")
100
111
  comp.value = STRING_WITH_SHARP
101
112
  result = comp.to_html(CGI.new)
102
113
  assert_equal(STRING_WITH_SHARP, result)
103
114
  end
115
+
104
116
  def test_minus_to_html
105
- comp = HtmlGrid::Component.new('context')
117
+ comp = HtmlGrid::Component.new("context")
106
118
  comp.value = STRING_WITH_PLUS
107
119
  result = comp.to_html(CGI.new)
108
120
  assert_equal(STRING_WITH_PLUS, result)
109
121
  end
122
+
110
123
  def test_umlaut_to_html
111
- comp = HtmlGrid::Component.new('context')
124
+ comp = HtmlGrid::Component.new("context")
112
125
  comp.value = STRING_WITH_UMLAUT
113
126
  result = comp.to_html(CGI.new)
114
127
  assert_equal(STRING_WITH_UMLAUT, result)
115
128
  end
129
+
116
130
  def test_escaped_STRING_WITH_UMLAUT_to_html
117
- comp = HtmlGrid::Component.new('context')
118
- comp.value =CGI.escape(STRING_WITH_UMLAUT)
131
+ comp = HtmlGrid::Component.new("context")
132
+ comp.value = CGI.escape(STRING_WITH_UMLAUT)
119
133
  result = comp.to_html(CGI.new)
120
134
  assert_equal(STRING_WITH_UMLAUT, result)
121
135
  end
122
- def test_initialize3
123
- comp = StubAttributeComponent.new("foo", "bar")
124
- expected = { "key" => "val" }
125
- assert_respond_to(comp, :attributes)
126
- assert_equal(expected, comp.attributes)
127
- assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
136
+
137
+ def test_initialize3
138
+ comp = StubAttributeComponent.new("foo", "bar")
139
+ expected = {"key" => "val"}
140
+ assert_respond_to(comp, :attributes)
141
+ assert_equal(expected, comp.attributes)
142
+ assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
128
143
  comp.attributes.store("other", "val")
129
- expected2 = { "key" => "val", "other" => "val" }
130
- assert_equal(expected2, comp.attributes)
131
- assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
132
- assert_equal({}, @component.attributes)
133
- assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
144
+ expected2 = {"key" => "val", "other" => "val"}
145
+ assert_equal(expected2, comp.attributes)
146
+ assert_equal(expected, StubAttributeComponent::HTML_ATTRIBUTES)
147
+ assert_equal({}, @component.attributes)
148
+ assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
134
149
  @component.attributes.store("third", "val")
135
- expected = {"third"=>"val"}
136
- assert_equal(expected, @component.attributes)
137
- assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
138
- end
139
- def test_initialize4
140
- comp = StubInitComponent.new("foo", "bar")
141
- assert_equal(true, comp.init_called)
142
- end
143
- def test_initialize5
144
- comp = StubLabelComponent.new(nil, nil)
145
- assert_equal(true, comp.label?)
146
- end
147
- def test_escape
148
- txt = "Guten Tag! & wie gehts uns denn heute? '<' schlechter oder '>' besser?"
149
- control = txt.dup
150
- expected = "Guten Tag! &amp; wie gehts uns denn heute? '&lt;' schlechter oder '&gt;' besser?"
151
- assert_equal(expected, @component.escape(txt))
152
- assert_equal(control, txt)
153
- assert_equal(expected, @component.escape(txt))
154
- end
155
- def test_escape_symbols
156
- txt = "\263"
157
- expected = "&ge;"
158
- assert_equal(expected, @component.escape_symbols(txt))
159
- end
160
- def test_onsubmit
161
- @component.onsubmit = 'submitted'
162
- assert_equal({}, @component.attributes)
163
- cont = StubContainer.new
164
- comp = HtmlGrid::Component.new("foo", "bar", cont)
165
- comp.onsubmit = 'submitted'
166
- assert_equal('submitted', cont.onsubmit)
167
- end
168
- def test_set_attribute
169
- assert_equal({}, @component.attributes)
170
- @component.set_attribute('href', 'http://www.ywesee.com')
171
- expected = {
172
- 'href' => 'http://www.ywesee.com',
173
- }
174
- assert_equal(expected, @component.attributes)
175
- end
150
+ expected = {"third" => "val"}
151
+ assert_equal(expected, @component.attributes)
152
+ assert_equal({}, HtmlGrid::Component::HTML_ATTRIBUTES)
153
+ end
154
+
155
+ def test_initialize4
156
+ comp = StubInitComponent.new("foo", "bar")
157
+ assert_equal(true, comp.init_called)
158
+ end
159
+
160
+ def test_initialize5
161
+ comp = StubLabelComponent.new(nil, nil)
162
+ assert_equal(true, comp.label?)
163
+ end
164
+
165
+ def test_escape
166
+ txt = "Guten Tag! & wie gehts uns denn heute? '<' schlechter oder '>' besser?"
167
+ control = txt.dup
168
+ expected = "Guten Tag! &amp; wie gehts uns denn heute? '&lt;' schlechter oder '&gt;' besser?"
169
+ assert_equal(expected, @component.escape(txt))
170
+ assert_equal(control, txt)
171
+ assert_equal(expected, @component.escape(txt))
172
+ end
173
+
174
+ def test_escape_symbols
175
+ txt = "\263"
176
+ expected = "&ge;"
177
+ assert_equal(expected, @component.escape_symbols(txt))
178
+ end
179
+
180
+ def test_onsubmit
181
+ @component.onsubmit = "submitted"
182
+ assert_equal({}, @component.attributes)
183
+ cont = StubContainer.new
184
+ comp = HtmlGrid::Component.new("foo", "bar", cont)
185
+ comp.onsubmit = "submitted"
186
+ assert_equal("submitted", cont.onsubmit)
187
+ end
188
+
189
+ def test_set_attribute
190
+ assert_equal({}, @component.attributes)
191
+ @component.set_attribute("href", "http://www.ywesee.com")
192
+ expected = {
193
+ "href" => "http://www.ywesee.com"
194
+ }
195
+ assert_equal(expected, @component.attributes)
196
+ end
176
197
  end
@@ -23,16 +23,16 @@
23
23
  #
24
24
  # TestComposite -- htmlgrid -- 24.10.2002 -- hwyss@ywesee.com
25
25
 
26
- $: << File.expand_path('../lib', File.dirname(__FILE__))
26
+ $: << File.expand_path("../lib", File.dirname(__FILE__))
27
27
  $: << File.dirname(__FILE__)
28
28
 
29
- require 'minitest/autorun'
30
- require 'stub/cgi'
31
- require 'htmlgrid/composite'
32
- require 'htmlgrid/inputtext'
33
- require 'htmlgrid/form'
34
- require 'htmlgrid/button'
35
- require 'test_helper'
29
+ require "minitest/autorun"
30
+ require "stub/cgi"
31
+ require "htmlgrid/composite"
32
+ require "htmlgrid/inputtext"
33
+ require "htmlgrid/form"
34
+ require "htmlgrid/button"
35
+ require "test_helper"
36
36
 
37
37
  module CompositeTest
38
38
  class StubComposite < HtmlGrid::Composite
@@ -42,73 +42,88 @@ module CompositeTest
42
42
  [0, 0, 1] => :foo,
43
43
  [0, 0, 2] => :baz,
44
44
  [0, 1, 0] => :baz,
45
- [0, 1, 1] => :baz,
45
+ [0, 1, 1] => :baz
46
46
  }
47
47
  LABELS = true
48
48
  SYMBOL_MAP = {
49
- :bar => HtmlGrid::InputText,
49
+ bar: HtmlGrid::InputText
50
50
  }
51
51
  attr_reader :model, :session
52
52
  public :resolve_offset, :labels?
53
53
  def init
54
- @barcount=0
54
+ @barcount = 0
55
55
  super
56
56
  end
57
+
57
58
  def foo(model, lookandfeel)
58
59
  "Foo"
59
60
  end
61
+
60
62
  def baz(model, lookandfeel)
61
63
  @barcount += 1
62
64
  "Baz#{@barcount}"
63
65
  end
66
+
64
67
  def back
65
68
  super
66
69
  end
67
70
  end
71
+
68
72
  class StubCompositeComponent < HtmlGrid::Component
69
73
  def to_html(context)
70
- context.a(@attributes) { 'brafoo' }
74
+ context.a(@attributes) { "brafoo" }
71
75
  end
72
76
  end
77
+
73
78
  class StubComposite2 < HtmlGrid::Composite
74
79
  COMPONENTS = {
75
- [0, 0] => StubCompositeComponent,
80
+ [0, 0] => StubCompositeComponent
76
81
  }
77
82
  end
83
+
78
84
  class StubComposite3 < StubComposite2
79
- COMPONENT_CSS_MAP = {[0, 0, 4, 4] => 'standard'}
85
+ COMPONENT_CSS_MAP = {[0, 0, 4, 4] => "standard"}
80
86
  end
87
+
81
88
  class StubComposite4 < StubComposite3
82
- CSS_MAP = {[0, 0] => 'dradnats'}
83
- COMPONENT_CSS_MAP = {[0, 0, 4, 4] => 'standard'}
89
+ CSS_MAP = {[0, 0] => "dradnats"}
90
+ COMPONENT_CSS_MAP = {[0, 0, 4, 4] => "standard"}
84
91
  end
92
+
85
93
  class StubCompositeNoLabel < HtmlGrid::Composite
86
94
  LABELS = false
87
95
  COMPONENTS = {}
88
96
  public :labels?
89
97
  end
98
+
90
99
  class StubCompositeModel
91
100
  def qux
92
- 'qux'
101
+ "qux"
93
102
  end
94
103
  end
104
+
95
105
  class StubCompositeLookandfeel
96
106
  def event_url(one)
97
- return 'event_url'
107
+ "event_url"
98
108
  end
109
+
99
110
  def attributes(key)
100
111
  {}
101
112
  end
113
+
102
114
  def lookup(key)
103
115
  end
116
+
104
117
  def base_url
105
- 'http://www.oddb.org/de/gcc'
118
+ "http://www.oddb.org/de/gcc"
106
119
  end
107
120
  end
121
+
108
122
  class StubCompositeSession
109
123
  def lookandfeel
110
124
  StubCompositeLookandfeel.new
111
125
  end
126
+
112
127
  def error(key)
113
128
  end
114
129
  end
@@ -121,36 +136,41 @@ module CompositeTest
121
136
  }
122
137
  EVENT = :foo
123
138
  end
139
+
124
140
  class StubCompositeColspan1 < HtmlGrid::Composite
125
141
  COMPONENTS = {}
126
142
  end
143
+
127
144
  class StubCompositeColspan2 < HtmlGrid::Composite
128
145
  COMPONENTS = {
129
- [0, 0] => :foo,
146
+ [0, 0] => :foo
130
147
  }
131
148
  end
149
+
132
150
  class StubCompositeColspan3 < HtmlGrid::Composite
133
151
  COMPONENTS = {
134
152
  [0, 0] => :foo,
135
- [1, 0] => :bar,
153
+ [1, 0] => :bar
136
154
  }
137
155
  end
156
+
138
157
  class StubCompositeColspan4 < HtmlGrid::Composite
139
158
  COMPONENTS = {
140
159
  [0, 0] => :foo,
141
- [2, 0] => :bar,
160
+ [2, 0] => :bar
142
161
  }
143
162
  end
144
163
 
145
164
  class TestComposite < Minitest::Test
146
165
  def setup
147
166
  @composite = StubComposite.new(
148
- StubCompositeModel.new, StubCompositeSession.new)
167
+ StubCompositeModel.new, StubCompositeSession.new
168
+ )
149
169
  end
150
170
 
151
171
  def test_component_session_fallback_assignment_without_session_argment
152
172
  StubComposite.component(StubComposite, :qux)
153
- model = StubCompositeModel.new
173
+ model = StubCompositeModel.new
154
174
  session1 = StubCompositeSession.new
155
175
  composite = StubComposite.new(model, session1)
156
176
  # via instance variable (without argument)
@@ -165,102 +185,121 @@ module CompositeTest
165
185
  end
166
186
 
167
187
  def test_create_method
168
- foo = nil
169
188
  foo = @composite.create(:foo, @composite.model)
170
189
  assert_equal("Foo", foo)
171
190
  end
191
+
172
192
  def test_create_symbol
173
- bar = nil
174
193
  bar = @composite.create(:bar, @composite.model)
175
194
  assert_equal(HtmlGrid::InputText, bar.class)
176
195
  end
196
+
177
197
  def test_full_colspan1
178
198
  composite = StubCompositeColspan1.new(
179
- StubCompositeModel.new, StubCompositeSession.new)
199
+ StubCompositeModel.new, StubCompositeSession.new
200
+ )
180
201
  composite.full_colspan
181
202
  assert_nil(composite.full_colspan)
182
203
  end
204
+
183
205
  def test_full_colspan2
184
206
  composite = StubCompositeColspan2.new(
185
- StubCompositeModel.new, StubCompositeSession.new)
207
+ StubCompositeModel.new, StubCompositeSession.new
208
+ )
186
209
  composite.full_colspan
187
210
  assert_nil(composite.full_colspan)
188
211
  end
212
+
189
213
  def test_full_colspan3
190
214
  composite = StubCompositeColspan3.new(
191
- StubCompositeModel.new, StubCompositeSession.new)
215
+ StubCompositeModel.new, StubCompositeSession.new
216
+ )
192
217
  composite.full_colspan
193
218
  assert_equal(2, composite.full_colspan)
194
219
  end
220
+
195
221
  def test_full_colspan4
196
222
  composite = StubCompositeColspan4.new(
197
- StubCompositeModel.new, StubCompositeSession.new)
223
+ StubCompositeModel.new, StubCompositeSession.new
224
+ )
198
225
  composite.full_colspan
199
226
  assert_equal(3, composite.full_colspan)
200
227
  end
228
+
201
229
  def test_labels1
202
230
  composite = StubCompositeNoLabel.new(
203
- StubCompositeModel.new, StubCompositeSession.new)
231
+ StubCompositeModel.new, StubCompositeSession.new
232
+ )
204
233
  assert_equal(false, composite.labels?)
205
234
  end
235
+
206
236
  def test_labels2
207
237
  assert_equal(true, @composite.labels?)
208
238
  end
239
+
209
240
  def test_to_html
210
- assert_equal(<<-EXP.gsub(/\n|^\s*/, ''), @composite.to_html(CGI.new))
241
+ assert_equal(<<-EXP.gsub(/\n|^\s*/, ""), @composite.to_html(CGI.new))
211
242
  <TABLE cellspacing="0">
212
243
  <TR><TD>Baz1FooBaz2</TD></TR><TR><TD>Baz3Baz4</TD></TR>
213
244
  </TABLE>
214
245
  EXP
215
246
  end
247
+
216
248
  def test_resolve_offset
217
- matrix = [1,2,3,4]
249
+ matrix = [1, 2, 3, 4]
218
250
  assert_equal(matrix, @composite.resolve_offset(matrix))
219
- offset = [5,6]
220
- expected = [6,8,3,4]
251
+ offset = [5, 6]
252
+ expected = [6, 8, 3, 4]
221
253
  assert_equal(expected, @composite.resolve_offset(matrix, offset))
222
254
  end
255
+
223
256
  def test_event
224
257
  @composite.event
225
258
  @composite.container = StubCompositeForm.new(
226
- @composite.model, @composite.session)
259
+ @composite.model, @composite.session
260
+ )
227
261
  assert_equal(:foo, @composite.event)
228
262
  end
263
+
229
264
  def test_component_css_map
230
265
  table = StubComposite2.new(
231
- StubCompositeModel.new, StubCompositeSession.new)
232
- assert_equal(<<-EXP.gsub(/\n|^\s*/, ''), table.to_html(CGI.new))
266
+ StubCompositeModel.new, StubCompositeSession.new
267
+ )
268
+ assert_equal(<<-EXP.gsub(/\n|^\s*/, ""), table.to_html(CGI.new))
233
269
  <TABLE cellspacing="0">
234
270
  <TR><TD><A>brafoo</A></TD></TR>
235
271
  </TABLE>
236
272
  EXP
237
273
  table = StubComposite3.new(
238
- StubCompositeModel.new, StubCompositeSession.new)
239
- assert_equal(<<-EXP.gsub(/\n|^\s*/, ''), table.to_html(CGI.new))
274
+ StubCompositeModel.new, StubCompositeSession.new
275
+ )
276
+ assert_equal(<<-EXP.gsub(/\n|^\s*/, ""), table.to_html(CGI.new))
240
277
  <TABLE cellspacing="0">
241
278
  <TR><TD><A class="standard">brafoo</A></TD></TR>
242
279
  </TABLE>
243
280
  EXP
244
281
  table = StubComposite4.new(
245
- StubCompositeModel.new, StubCompositeSession.new)
246
- assert_equal(<<-EXP.gsub(/\n|^\s*/, ''), table.to_html(CGI.new))
282
+ StubCompositeModel.new, StubCompositeSession.new
283
+ )
284
+ assert_equal(<<-EXP.gsub(/\n|^\s*/, ""), table.to_html(CGI.new))
247
285
  <TABLE cellspacing=\"0\"><TR><TD class=\"dradnats\"><A class=\"standard\">brafoo</A></TD></TR></TABLE>
248
286
  EXP
249
287
  end
288
+
250
289
  def test_to_back
251
- if RUBY_VERSION.split(".").first.eql?('1')
252
- expected = <<-EXP.gsub(/\n|^\s{10}/, '')
290
+ expected = if RUBY_VERSION.split(".").first.eql?("1")
291
+ <<-EXP.gsub(/\n|^\s{10}/, "")
253
292
  <INPUT type="button" name="back"
254
293
  onClick="document.location.href='event_url';">
255
294
  EXP
256
295
  else
257
296
  # It looks like Ruby 2.x escapes the ' which is not strictly necessary
258
- expected = <<-EXP.gsub(/\n|^\s{10}/, '')
297
+ <<-EXP.gsub(/\n|^\s{10}/, "")
259
298
  <INPUT type="button" name="back"
260
299
  onClick="document.location.href=&#39;event_url&#39;;">
261
300
  EXP
262
301
  end
263
- html = @composite.back().to_html(CGI.new)
302
+ html = @composite.back.to_html(CGI.new)
264
303
  assert_equal(expected, html)
265
304
  end
266
305
  end