table_helper 0.0.5 → 0.1.0

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.
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class CellByDefaultTest < Test::Unit::TestCase
4
4
  def setup
5
- @cell = PluginAWeek::TableHelper::Cell.new(:name)
5
+ @cell = TableHelper::Cell.new(:name)
6
6
  end
7
7
 
8
8
  def test_should_have_a_class_name
@@ -20,29 +20,29 @@ end
20
20
 
21
21
  class CellTest < Test::Unit::TestCase
22
22
  def test_should_use_custom_content_if_specified
23
- cell = PluginAWeek::TableHelper::Cell.new(:name, 'John Doe')
23
+ cell = TableHelper::Cell.new(:name, 'John Doe')
24
24
  assert_equal '<td class="name">John Doe</td>', cell.html
25
25
  end
26
26
 
27
27
  def test_should_include_custom_html_options
28
- cell = PluginAWeek::TableHelper::Cell.new(:name, 'John Doe', {:float => 'left'})
28
+ cell = TableHelper::Cell.new(:name, 'John Doe', {:float => 'left'})
29
29
  assert_equal '<td class="name" float="left">John Doe</td>', cell.html
30
30
  end
31
31
 
32
32
  def test_should_append_automated_class_name_if_class_already_specified
33
- cell = PluginAWeek::TableHelper::Cell.new(:name, 'John Doe', {:class => 'selected'})
33
+ cell = TableHelper::Cell.new(:name, 'John Doe', {:class => 'selected'})
34
34
  assert_equal 'name selected', cell[:class]
35
35
  assert_equal '<td class="name selected">John Doe</td>', cell.html
36
36
  end
37
37
 
38
38
  def test_should_raise_exception_if_content_type_is_invalid
39
- assert_raise(ArgumentError) {PluginAWeek::TableHelper::Cell.new(:name).content_type = :invalid}
39
+ assert_raise(ArgumentError) {TableHelper::Cell.new(:name).content_type = :invalid}
40
40
  end
41
41
  end
42
42
 
43
43
  class CellWithHeaderContentType < Test::Unit::TestCase
44
44
  def setup
45
- @cell = PluginAWeek::TableHelper::Cell.new(:name)
45
+ @cell = TableHelper::Cell.new(:name)
46
46
  @cell.content_type = :header
47
47
  end
48
48
 
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class CollectionTableByDefaultTest < Test::Unit::TestCase
4
4
  def setup
5
- @table = PluginAWeek::TableHelper::CollectionTable.new([])
5
+ @table = TableHelper::CollectionTable.new([])
6
6
  end
7
7
 
8
8
  def test_cellspacing_should_be_zero
@@ -15,11 +15,11 @@ class CollectionTableByDefaultTest < Test::Unit::TestCase
15
15
 
16
16
  def test_should_include_header_and_footer
17
17
  html = @table.build do |header, body|
18
- assert_instance_of PluginAWeek::TableHelper::Header, header
19
- assert_instance_of PluginAWeek::TableHelper::Body, body
18
+ assert_instance_of TableHelper::Header, header
19
+ assert_instance_of TableHelper::Body, body
20
20
  end
21
21
 
22
- expected = <<-end_eval
22
+ expected = <<-end_str
23
23
  <thead style="display: none;">
24
24
  <tr></tr>
25
25
  </thead>
@@ -28,7 +28,7 @@ class CollectionTableByDefaultTest < Test::Unit::TestCase
28
28
  <td>No matches found.</td>
29
29
  </tr>
30
30
  </tbody>
31
- end_eval
31
+ end_str
32
32
  assert_html_equal expected, html
33
33
  end
34
34
  end
@@ -73,16 +73,16 @@ class CollectionTableTest < Test::Unit::TestCase
73
73
  end
74
74
 
75
75
  def test_should_raise_exception_if_invalid_option_specified
76
- assert_raise(ArgumentError) {PluginAWeek::TableHelper::CollectionTable.new([], :invalid => true)}
76
+ assert_raise(ArgumentError) {TableHelper::CollectionTable.new([], :invalid => true)}
77
77
  end
78
78
 
79
79
  def test_should_only_include_body_if_no_header
80
- table = PluginAWeek::TableHelper::CollectionTable.new(@collection, :header => false)
80
+ table = TableHelper::CollectionTable.new(@collection, :header => false)
81
81
  html = table.build do |body|
82
- assert_instance_of PluginAWeek::TableHelper::Body, body
82
+ assert_instance_of TableHelper::Body, body
83
83
  end
84
84
 
85
- expected = <<-end_eval
85
+ expected = <<-end_str
86
86
  <tbody>
87
87
  <tr class="row">
88
88
  <td class="title">first</td>
@@ -94,18 +94,18 @@ class CollectionTableTest < Test::Unit::TestCase
94
94
  <td class="title">last</td>
95
95
  </tr>
96
96
  </tbody>
97
- end_eval
97
+ end_str
98
98
  assert_html_equal expected, html
99
99
  end
100
100
 
101
101
  def test_should_include_body_and_footer_if_no_header_and_footer
102
- table = PluginAWeek::TableHelper::CollectionTable.new(@collection, :header => false, :footer => true)
102
+ table = TableHelper::CollectionTable.new(@collection, :header => false, :footer => true)
103
103
  html = table.build do |body, footer|
104
- assert_instance_of PluginAWeek::TableHelper::Body, body
105
- assert_instance_of PluginAWeek::TableHelper::Footer, footer
104
+ assert_instance_of TableHelper::Body, body
105
+ assert_instance_of TableHelper::Footer, footer
106
106
  end
107
107
 
108
- expected = <<-end_eval
108
+ expected = <<-end_str
109
109
  <tbody>
110
110
  <tr class="row">
111
111
  <td class="title">first</td>
@@ -121,19 +121,19 @@ class CollectionTableTest < Test::Unit::TestCase
121
121
  <tr>
122
122
  </tr>
123
123
  </tfoot>
124
- end_eval
124
+ end_str
125
125
  assert_html_equal expected, html
126
126
  end
127
127
 
128
128
  def test_should_include_header_body_and_footer_if_footer
129
- table = PluginAWeek::TableHelper::CollectionTable.new(@collection, :footer => true)
129
+ table = TableHelper::CollectionTable.new(@collection, :footer => true)
130
130
  html = table.build do |header, body, footer|
131
- assert_instance_of PluginAWeek::TableHelper::Header, header
132
- assert_instance_of PluginAWeek::TableHelper::Body, body
133
- assert_instance_of PluginAWeek::TableHelper::Footer, footer
131
+ assert_instance_of TableHelper::Header, header
132
+ assert_instance_of TableHelper::Body, body
133
+ assert_instance_of TableHelper::Footer, footer
134
134
  end
135
135
 
136
- expected = <<-end_eval
136
+ expected = <<-end_str
137
137
  <thead>
138
138
  <tr>
139
139
  <th class="title" scope="col">Title</th>
@@ -154,15 +154,15 @@ class CollectionTableTest < Test::Unit::TestCase
154
154
  <tr>
155
155
  </tr>
156
156
  </tfoot>
157
- end_eval
157
+ end_str
158
158
  assert_html_equal expected, html
159
159
  end
160
160
 
161
161
  def test_should_use_custom_class_to_generate_columns
162
- table = PluginAWeek::TableHelper::CollectionTable.new(@collection, :class => Note)
162
+ table = TableHelper::CollectionTable.new(@collection, :class => Note)
163
163
  html = table.build
164
164
 
165
- expected = <<-end_eval
165
+ expected = <<-end_str
166
166
  <thead>
167
167
  <tr>
168
168
  <th class="title" scope="col">Title</th>
@@ -183,16 +183,16 @@ class CollectionTableTest < Test::Unit::TestCase
183
183
  <td class="author_name empty"></td>
184
184
  </tr>
185
185
  </tbody>
186
- end_eval
186
+ end_str
187
187
  assert_html_equal expected, html
188
188
  end
189
189
 
190
190
  def test_should_use_class_from_first_element_to_generate_columns
191
191
  @collection.insert(0, Note.new('zeroth'))
192
- table = PluginAWeek::TableHelper::CollectionTable.new(@collection)
192
+ table = TableHelper::CollectionTable.new(@collection)
193
193
  html = table.build
194
194
 
195
- expected = <<-end_eval
195
+ expected = <<-end_str
196
196
  <thead>
197
197
  <tr>
198
198
  <th class="title" scope="col">Title</th>
@@ -217,17 +217,17 @@ class CollectionTableTest < Test::Unit::TestCase
217
217
  <td class="author_name empty"></td>
218
218
  </tr>
219
219
  </tbody>
220
- end_eval
220
+ end_str
221
221
  assert_html_equal expected, html
222
222
  end
223
223
 
224
224
  def test_should_use_class_from_proxy_reflection_to_generate_columns
225
225
  collection = NoteCollection.new
226
226
  collection.concat(@collection)
227
- table = PluginAWeek::TableHelper::CollectionTable.new(collection)
227
+ table = TableHelper::CollectionTable.new(collection)
228
228
  html = table.build
229
229
 
230
- expected = <<-end_eval
230
+ expected = <<-end_str
231
231
  <thead>
232
232
  <tr>
233
233
  <th class="title" scope="col">Title</th>
@@ -248,7 +248,7 @@ class CollectionTableTest < Test::Unit::TestCase
248
248
  <td class="author_name empty"></td>
249
249
  </tr>
250
250
  </tbody>
251
- end_eval
251
+ end_str
252
252
  assert_html_equal expected, html
253
253
  end
254
254
  end
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class FooterByDefaultTest < Test::Unit::TestCase
4
4
  def setup
5
- @footer = PluginAWeek::TableHelper::Footer.new([])
5
+ @footer = TableHelper::Footer.new([])
6
6
  end
7
7
 
8
8
  def test_should_hdie_when_empty
@@ -12,61 +12,61 @@ end
12
12
 
13
13
  class FooterTest < Test::Unit::TestCase
14
14
  def setup
15
- @footer = PluginAWeek::TableHelper::Footer.new([1])
15
+ @footer = TableHelper::Footer.new([1])
16
16
  end
17
17
 
18
18
  def test_should_include_custom_attributes
19
19
  @footer[:class] = 'pretty'
20
20
 
21
- expected = <<-end_eval
21
+ expected = <<-end_str
22
22
  <tfoot class="pretty">
23
23
  <tr>
24
24
  </tr>
25
25
  </tfoot>
26
- end_eval
26
+ end_str
27
27
  assert_html_equal expected, @footer.html
28
28
  end
29
29
 
30
30
  def test_should_include_created_cells_when_built
31
31
  @footer.cell :total, 20
32
32
 
33
- expected = <<-end_eval
33
+ expected = <<-end_str
34
34
  <tfoot>
35
35
  <tr>
36
36
  <td class="total">20</td>
37
37
  </tr>
38
38
  </tfoot>
39
- end_eval
39
+ end_str
40
40
  assert_html_equal expected, @footer.html
41
41
  end
42
42
  end
43
43
 
44
44
  class FooterWithEmptyCollectionTest < Test::Unit::TestCase
45
45
  def setup
46
- @footer = PluginAWeek::TableHelper::Footer.new([])
46
+ @footer = TableHelper::Footer.new([])
47
47
  end
48
48
 
49
49
  def test_should_not_display_if_hide_when_empty
50
50
  @footer.hide_when_empty = true
51
51
 
52
- expected = <<-end_eval
52
+ expected = <<-end_str
53
53
  <tfoot style="display: none;">
54
54
  <tr>
55
55
  </tr>
56
56
  </tfoot>
57
- end_eval
57
+ end_str
58
58
  assert_html_equal expected, @footer.html
59
59
  end
60
60
 
61
61
  def test_should_display_if_not_hide_when_empty
62
62
  @footer.hide_when_empty = false
63
63
 
64
- expected = <<-end_eval
64
+ expected = <<-end_str
65
65
  <tfoot>
66
66
  <tr>
67
67
  </tr>
68
68
  </tfoot>
69
- end_eval
69
+ end_str
70
70
  assert_html_equal expected, @footer.html
71
71
  end
72
72
  end
@@ -1,9 +1,9 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class HeaderBuilderByDefaultTest < Test::Unit::TestCase
4
4
  def setup
5
- @header = PluginAWeek::TableHelper::Header.new([])
6
- @builder = PluginAWeek::TableHelper::HeaderBuilder.new(@header)
5
+ @header = TableHelper::Header.new([])
6
+ @builder = TableHelper::HeaderBuilder.new(@header)
7
7
  end
8
8
 
9
9
  def test_should_forward_missing_calls_to_row
@@ -13,10 +13,10 @@ end
13
13
 
14
14
  class HeaderBuilderWithColumnsTest < Test::Unit::TestCase
15
15
  def setup
16
- @header = PluginAWeek::TableHelper::Header.new([])
16
+ @header = TableHelper::Header.new([])
17
17
  @header.row.cell 'first-name'
18
18
 
19
- @builder = PluginAWeek::TableHelper::HeaderBuilder.new(@header)
19
+ @builder = TableHelper::HeaderBuilder.new(@header)
20
20
  @builder.define_column('first-name')
21
21
  end
22
22
 
@@ -25,7 +25,7 @@ class HeaderBuilderWithColumnsTest < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  def test_should_read_column_without_arguments
28
- assert_instance_of PluginAWeek::TableHelper::Cell, @builder.first_name
28
+ assert_instance_of TableHelper::Cell, @builder.first_name
29
29
  end
30
30
 
31
31
  def test_should_write_cell_with_arguments
@@ -36,8 +36,8 @@ end
36
36
 
37
37
  class RowBuilderAfterUndefiningAColumnTest < Test::Unit::TestCase
38
38
  def setup
39
- @header = PluginAWeek::TableHelper::Header.new([])
40
- @builder = PluginAWeek::TableHelper::HeaderBuilder.new(@header)
39
+ @header = TableHelper::Header.new([])
40
+ @builder = TableHelper::HeaderBuilder.new(@header)
41
41
  @builder.define_column('first-name')
42
42
  @builder.undef_column('first-name')
43
43
  end
@@ -1,8 +1,8 @@
1
- require File.dirname(__FILE__) + '/test_helper'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class HeaderByDefaultTest < Test::Unit::TestCase
4
4
  def setup
5
- @header = PluginAWeek::TableHelper::Header.new([])
5
+ @header = TableHelper::Header.new([])
6
6
  end
7
7
 
8
8
  def test_should_hide_when_empty
@@ -34,71 +34,71 @@ class HeaderTest < Test::Unit::TestCase
34
34
  end
35
35
 
36
36
  def test_should_use_class_columns_if_class_has_column_names
37
- header = PluginAWeek::TableHelper::Header.new([], Post)
37
+ header = TableHelper::Header.new([], Post)
38
38
  assert_equal ['title', 'author_name'], header.column_names
39
39
  end
40
40
 
41
41
  def test_should_have_no_column_names_if_class_has_no_column_names
42
- header = PluginAWeek::TableHelper::Header.new([], Array)
42
+ header = TableHelper::Header.new([], Array)
43
43
  assert_equal [], header.column_names
44
44
  end
45
45
 
46
46
  def test_should_use_class_columns_if_collection_has_objects
47
- header = PluginAWeek::TableHelper::Header.new([Post.new])
47
+ header = TableHelper::Header.new([Post.new])
48
48
  assert_equal ['title', 'author_name'], header.column_names
49
49
  end
50
50
 
51
51
  def test_should_use_class_columns_if_collection_is_proxy
52
- header = PluginAWeek::TableHelper::Header.new(PostCollection.new)
52
+ header = TableHelper::Header.new(PostCollection.new)
53
53
  assert_equal ['title', 'author_name'], header.column_names
54
54
  end
55
55
 
56
56
  def test_should_create_column_readers_if_column_names_found
57
- header = PluginAWeek::TableHelper::Header.new([], Post)
57
+ header = TableHelper::Header.new([], Post)
58
58
 
59
59
  assert_nothing_raised {header.builder.title}
60
- assert_instance_of PluginAWeek::TableHelper::Cell, header.builder.title
60
+ assert_instance_of TableHelper::Cell, header.builder.title
61
61
 
62
62
  assert_nothing_raised {header.builder.title}
63
- assert_instance_of PluginAWeek::TableHelper::Cell, header.builder.author_name
63
+ assert_instance_of TableHelper::Cell, header.builder.author_name
64
64
  end
65
65
 
66
66
  def test_should_create_column_reader_when_column_is_created
67
- header = PluginAWeek::TableHelper::Header.new([])
67
+ header = TableHelper::Header.new([])
68
68
  header.column :title
69
69
 
70
70
  assert_equal ['title'], header.column_names
71
- assert_instance_of PluginAWeek::TableHelper::Cell, header.builder.title
71
+ assert_instance_of TableHelper::Cell, header.builder.title
72
72
  end
73
73
 
74
74
  def test_should_set_column_scope
75
- header = PluginAWeek::TableHelper::Header.new([])
75
+ header = TableHelper::Header.new([])
76
76
  header.column :title
77
77
  assert_equal 'col', header.columns['title'][:scope]
78
78
  end
79
79
 
80
80
  def test_should_allow_html_options_to_be_specified_for_new_columns
81
- header = PluginAWeek::TableHelper::Header.new([])
81
+ header = TableHelper::Header.new([])
82
82
  header.column :title, 'Title', :class => 'pretty'
83
83
  assert_equal 'title pretty', header.columns['title'][:class]
84
84
  end
85
85
 
86
86
  def test_should_use_column_name_for_default_content
87
- header = PluginAWeek::TableHelper::Header.new([])
87
+ header = TableHelper::Header.new([])
88
88
  header.column :title
89
89
  assert_equal '<th class="title" scope="col">Title</th>', header.columns['title'].html
90
90
  end
91
91
 
92
92
  def test_should_sanitize_column_names
93
- header = PluginAWeek::TableHelper::Header.new([])
93
+ header = TableHelper::Header.new([])
94
94
  header.column 'the-title'
95
95
 
96
96
  assert_nothing_raised {header.builder.the_title}
97
- assert_instance_of PluginAWeek::TableHelper::Cell, header.builder.the_title
97
+ assert_instance_of TableHelper::Cell, header.builder.the_title
98
98
  end
99
99
 
100
100
  def test_should_clear_existing_columns_when_first_column_is_created
101
- header = PluginAWeek::TableHelper::Header.new([], Post)
101
+ header = TableHelper::Header.new([], Post)
102
102
  assert_equal ['title', 'author_name'], header.column_names
103
103
 
104
104
  header.column :created_on
@@ -109,49 +109,49 @@ class HeaderTest < Test::Unit::TestCase
109
109
  end
110
110
 
111
111
  def test_should_include_html_options
112
- header = PluginAWeek::TableHelper::Header.new([Post.new])
112
+ header = TableHelper::Header.new([Post.new])
113
113
  header[:class] = 'pretty'
114
114
 
115
- expected = <<-end_eval
115
+ expected = <<-end_str
116
116
  <thead class="pretty">
117
117
  <tr>
118
118
  <th class="title" scope="col">Title</th>
119
119
  <th class="author_name" scope="col">Author Name</th>
120
120
  </tr>
121
121
  </thead>
122
- end_eval
122
+ end_str
123
123
  assert_html_equal expected, header.html
124
124
  end
125
125
 
126
126
  def test_should_include_html_options_for_header_row
127
- header = PluginAWeek::TableHelper::Header.new([Post.new])
127
+ header = TableHelper::Header.new([Post.new])
128
128
  header.row[:class] = 'pretty'
129
129
 
130
- expected = <<-end_eval
130
+ expected = <<-end_str
131
131
  <thead>
132
132
  <tr class="pretty">
133
133
  <th class="title" scope="col">Title</th>
134
134
  <th class="author_name" scope="col">Author Name</th>
135
135
  </tr>
136
136
  </thead>
137
- end_eval
137
+ end_str
138
138
  assert_html_equal expected, header.html
139
139
  end
140
140
  end
141
141
 
142
142
  class HeaderWithConflictingColumnNamesTest < Test::Unit::TestCase
143
143
  def setup
144
- @header = PluginAWeek::TableHelper::Header.new([])
144
+ @header = TableHelper::Header.new([])
145
145
  @header.column 'id'
146
146
  end
147
147
 
148
148
  def test_should_be_able_to_read_cell
149
- assert_instance_of PluginAWeek::TableHelper::Cell, @header.builder.id
149
+ assert_instance_of TableHelper::Cell, @header.builder.id
150
150
  end
151
151
 
152
152
  def test_should_be_able_to_write_to_cell
153
153
  @header.builder.id '1'
154
- assert_instance_of PluginAWeek::TableHelper::Cell, @header.builder.id
154
+ assert_instance_of TableHelper::Cell, @header.builder.id
155
155
  end
156
156
 
157
157
  def test_should_be_able_to_clear
@@ -161,30 +161,30 @@ end
161
161
 
162
162
  class HeaderWithEmptyCollectionTest < Test::Unit::TestCase
163
163
  def setup
164
- @header = PluginAWeek::TableHelper::Header.new([])
164
+ @header = TableHelper::Header.new([])
165
165
  end
166
166
 
167
167
  def test_should_not_display_if_hide_when_empty
168
168
  @header.hide_when_empty = true
169
169
 
170
- expected = <<-end_eval
170
+ expected = <<-end_str
171
171
  <thead style="display: none;">
172
172
  <tr>
173
173
  </tr>
174
174
  </thead>
175
- end_eval
175
+ end_str
176
176
  assert_html_equal expected, @header.html
177
177
  end
178
178
 
179
179
  def test_should_display_if_not_hide_when_empty
180
180
  @header.hide_when_empty = false
181
181
 
182
- expected = <<-end_eval
182
+ expected = <<-end_str
183
183
  <thead>
184
184
  <tr>
185
185
  </tr>
186
186
  </thead>
187
- end_eval
187
+ end_str
188
188
  assert_html_equal expected, @header.html
189
189
  end
190
190
  end
@@ -197,34 +197,34 @@ class HeaderWithCollectionTest < Test::Unit::TestCase
197
197
  end
198
198
 
199
199
  def setup
200
- @header = PluginAWeek::TableHelper::Header.new([Post.new])
200
+ @header = TableHelper::Header.new([Post.new])
201
201
  end
202
202
 
203
203
  def test_should_display_if_hide_when_empty
204
204
  @header.hide_when_empty = true
205
205
 
206
- expected = <<-end_eval
206
+ expected = <<-end_str
207
207
  <thead>
208
208
  <tr>
209
209
  <th class="title" scope="col">Title</th>
210
210
  <th class="author_name" scope="col">Author Name</th>
211
211
  </tr>
212
212
  </thead>
213
- end_eval
213
+ end_str
214
214
  assert_html_equal expected, @header.html
215
215
  end
216
216
 
217
217
  def test_should_display_if_not_hide_when_empty
218
218
  @header.hide_when_empty = false
219
219
 
220
- expected = <<-end_eval
220
+ expected = <<-end_str
221
221
  <thead>
222
222
  <tr>
223
223
  <th class="title" scope="col">Title</th>
224
224
  <th class="author_name" scope="col">Author Name</th>
225
225
  </tr>
226
226
  </thead>
227
- end_eval
227
+ end_str
228
228
  assert_html_equal expected, @header.html
229
229
  end
230
230
  end