text-table 1.2.2 → 1.2.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.
@@ -1,68 +1,22 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
1
+ require File.expand_path('../lib/text-table/version', __FILE__)
5
2
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{text-table}
8
- s.version = "1.2.2"
3
+ Gem::Specification.new do |gem|
4
+ gem.name = 'text-table'
5
+ gem.version = Text::Table::VERSION
6
+ gem.authors = ['Aaron Tinio']
7
+ gem.email = 'aptinio@gmail.com'
8
+ gem.summary = 'A feature-rich, easy-to-use plain text table formatter.'
9
+ gem.description = %w[
10
+ Allows you to easily create and format plain text tables,
11
+ useful when working with the terminal or when you want to quickly print
12
+ formatted tables to a dot-matrix printer.
13
+ ].join ' '
14
+ gem.homepage = 'https://github.com/aptinio/text-table'
9
15
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Aaron Tinio"]
12
- s.date = %q{2010-03-29}
13
- s.description = %q{Allows you to easily create and format plain text tables, useful when working with the terminal or when you want to quickly print formatted tables to a dot-matrix printer.}
14
- s.email = %q{aptinio@yahoo.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "CHANGELOG.rdoc",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/text-table.rb",
28
- "lib/text-table/cell.rb",
29
- "lib/text-table/enumerable.rb",
30
- "lib/text-table/row.rb",
31
- "lib/text-table/symbol.rb",
32
- "lib/text-table/table.rb",
33
- "spec/cell_spec.rb",
34
- "spec/enumerable_spec.rb",
35
- "spec/spec.opts",
36
- "spec/spec_helper.rb",
37
- "spec/table_spec.rb",
38
- "text-table.gemspec"
39
- ]
40
- s.homepage = %q{http://github.com/aptinio/text-table}
41
- s.rdoc_options = ["--charset=UTF-8"]
42
- s.require_paths = ["lib"]
43
- s.rubygems_version = %q{1.3.6}
44
- s.summary = %q{A feature-rich, easy-to-use plain text table formatter.}
45
- s.test_files = [
46
- "spec/spec_helper.rb",
47
- "spec/cell_spec.rb",
48
- "spec/table_spec.rb",
49
- "spec/enumerable_spec.rb"
50
- ]
51
-
52
- if s.respond_to? :specification_version then
53
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
54
- s.specification_version = 3
55
-
56
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
57
- s.add_development_dependency(%q<rspec>, [">= 0"])
58
- s.add_development_dependency(%q<jeweler>, [">= 0"])
59
- else
60
- s.add_dependency(%q<rspec>, [">= 0"])
61
- s.add_dependency(%q<jeweler>, [">= 0"])
62
- end
63
- else
64
- s.add_dependency(%q<rspec>, [">= 0"])
65
- s.add_dependency(%q<jeweler>, [">= 0"])
66
- end
16
+ gem.require_paths = ['lib']
17
+ gem.files = `git ls-files`.split($/)
18
+ gem.test_files = `git ls-files -- spec/*`.split($/)
19
+ gem.extra_rdoc_files = %w[LICENSE README.rdoc]
20
+ gem.add_development_dependency 'rspec', '~> 2'
21
+ gem.license = 'MIT'
67
22
  end
68
-
metadata CHANGED
@@ -1,107 +1,93 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: text-table
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 2
8
- - 2
9
- version: 1.2.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.3
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Aaron Tinio
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-03-29 00:00:00 +08:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-04-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2'
30
20
  type: :development
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: jeweler
34
21
  prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
- version: "0"
42
- type: :development
43
- version_requirements: *id002
44
- description: Allows you to easily create and format plain text tables, useful when working with the terminal or when you want to quickly print formatted tables to a dot-matrix printer.
45
- email: aptinio@yahoo.com
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2'
27
+ description: Allows you to easily create and format plain text tables, useful when
28
+ working with the terminal or when you want to quickly print formatted tables to
29
+ a dot-matrix printer.
30
+ email: aptinio@gmail.com
46
31
  executables: []
47
-
48
32
  extensions: []
49
-
50
- extra_rdoc_files:
33
+ extra_rdoc_files:
51
34
  - LICENSE
52
35
  - README.rdoc
53
- files:
36
+ files:
54
37
  - .document
55
38
  - .gitignore
56
39
  - CHANGELOG.rdoc
40
+ - Gemfile
57
41
  - LICENSE
58
42
  - README.rdoc
59
- - Rakefile
60
- - VERSION
61
43
  - lib/text-table.rb
62
44
  - lib/text-table/cell.rb
63
45
  - lib/text-table/enumerable.rb
64
46
  - lib/text-table/row.rb
65
47
  - lib/text-table/symbol.rb
66
48
  - lib/text-table/table.rb
49
+ - lib/text-table/version.rb
67
50
  - spec/cell_spec.rb
68
51
  - spec/enumerable_spec.rb
69
- - spec/spec.opts
52
+ - spec/integration/alignment_spec.rb
53
+ - spec/integration/boundaries_spec.rb
54
+ - spec/integration/column_spans_spec.rb
55
+ - spec/integration/parts_spec.rb
56
+ - spec/integration/performance_spec.rb
57
+ - spec/integration_helper.rb
70
58
  - spec/spec_helper.rb
71
- - spec/table_spec.rb
72
59
  - text-table.gemspec
73
- has_rdoc: true
74
- homepage: http://github.com/aptinio/text-table
75
- licenses: []
76
-
60
+ homepage: https://github.com/aptinio/text-table
61
+ licenses:
62
+ - MIT
63
+ metadata: {}
77
64
  post_install_message:
78
- rdoc_options:
79
- - --charset=UTF-8
80
- require_paths:
65
+ rdoc_options: []
66
+ require_paths:
81
67
  - lib
82
- required_ruby_version: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- segments:
87
- - 0
88
- version: "0"
89
- required_rubygems_version: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- segments:
94
- - 0
95
- version: "0"
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
96
78
  requirements: []
97
-
98
79
  rubyforge_project:
99
- rubygems_version: 1.3.6
80
+ rubygems_version: 2.0.3
100
81
  signing_key:
101
- specification_version: 3
82
+ specification_version: 4
102
83
  summary: A feature-rich, easy-to-use plain text table formatter.
103
- test_files:
104
- - spec/spec_helper.rb
84
+ test_files:
105
85
  - spec/cell_spec.rb
106
- - spec/table_spec.rb
107
86
  - spec/enumerable_spec.rb
87
+ - spec/integration/alignment_spec.rb
88
+ - spec/integration/boundaries_spec.rb
89
+ - spec/integration/column_spans_spec.rb
90
+ - spec/integration/parts_spec.rb
91
+ - spec/integration/performance_spec.rb
92
+ - spec/integration_helper.rb
93
+ - spec/spec_helper.rb
data/Rakefile DELETED
@@ -1,46 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "text-table"
8
- gem.summary = %Q{A feature-rich, easy-to-use plain text table formatter.}
9
- gem.description = %Q{Allows you to easily create and format plain text tables, useful when working with the terminal or when you want to quickly print formatted tables to a dot-matrix printer.}
10
- gem.email = "aptinio@yahoo.com"
11
- gem.homepage = "http://github.com/aptinio/text-table"
12
- gem.authors = ["Aaron Tinio"]
13
- gem.add_development_dependency 'rspec'
14
- gem.add_development_dependency 'jeweler'
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
- end
17
- Jeweler::GemcutterTasks.new
18
- rescue LoadError
19
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
20
- end
21
-
22
- require 'spec/rake/spectask'
23
- Spec::Rake::SpecTask.new(:spec) do |spec|
24
- spec.libs << 'lib' << 'spec'
25
- spec.spec_files = FileList['spec/**/*_spec.rb']
26
- end
27
-
28
- Spec::Rake::SpecTask.new(:rcov) do |spec|
29
- spec.libs << 'lib' << 'spec'
30
- spec.pattern = 'spec/**/*_spec.rb'
31
- spec.rcov = true
32
- end
33
-
34
- task :spec => :check_dependencies
35
-
36
- task :default => :spec
37
-
38
- require 'rake/rdoctask'
39
- Rake::RDocTask.new do |rdoc|
40
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
-
42
- rdoc.rdoc_dir = 'rdoc'
43
- rdoc.title = "text-table #{version}"
44
- rdoc.rdoc_files.include('README*')
45
- rdoc.rdoc_files.include('lib/**/*.rb')
46
- end
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.2.2
@@ -1,2 +0,0 @@
1
- --color
2
- -f s
@@ -1,491 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe Text::Table do
4
-
5
- before(:each) do
6
- @head = %w( a bb ccc dddd )
7
- @rows = [
8
- %w( aa bbb cccc d ),
9
- %w( aaa bbbb c dd ),
10
- ]
11
- @foot = %w( aaaa b cc ddd )
12
- @table = Text::Table.new :rows => @rows, :head => @head, :foot => @foot
13
- end
14
-
15
- it 'should initialize with an empty array for its rows as default' do
16
- @table = Text::Table.new
17
- @table.rows.should == []
18
- end
19
-
20
- describe 'should allow setting of attributes' do
21
-
22
- it 'passed as an options hash' do
23
- @table = Text::Table.new :rows => @rows
24
- @table.rows.should == @rows
25
- @table = Text::Table.new :rows => @rows, :horizontal_padding => 2
26
- @table.rows.should == @rows
27
- @table.horizontal_padding.should == 2
28
- end
29
-
30
- it 'inside a block' do
31
- @table = Text::Table.new do |t|
32
- t.rows = @rows
33
- end
34
- @table.rows.should == @rows
35
-
36
- @table = Text::Table.new do |t|
37
- t.horizontal_padding = 2
38
- end
39
- @table.horizontal_padding.should == 2
40
- end
41
-
42
- end
43
-
44
- describe 'should properly render' do
45
-
46
- it 'column widths' do
47
- @table.column_widths.should == [4, 4, 4, 4]
48
- end
49
-
50
- it 'rows' do
51
- @table = Text::Table.new :rows => @rows
52
- @table.to_s.should == <<-EOS.deindent
53
- +-----+------+------+----+
54
- | aa | bbb | cccc | d |
55
- | aaa | bbbb | c | dd |
56
- +-----+------+------+----+
57
- EOS
58
- end
59
-
60
- it 'rows with unequal number of cells'
61
-
62
- it 'headers' do
63
- @table = Text::Table.new :rows => @rows, :head => @head
64
- @table.to_s.should == <<-EOS.deindent
65
- +-----+------+------+------+
66
- | a | bb | ccc | dddd |
67
- +-----+------+------+------+
68
- | aa | bbb | cccc | d |
69
- | aaa | bbbb | c | dd |
70
- +-----+------+------+------+
71
- EOS
72
- end
73
-
74
- it 'footers' do
75
- @table = Text::Table.new :rows => @rows, :foot => @foot
76
- @table.to_s.should == <<-EOS.deindent
77
- +------+------+------+-----+
78
- | aa | bbb | cccc | d |
79
- | aaa | bbbb | c | dd |
80
- +------+------+------+-----+
81
- | aaaa | b | cc | ddd |
82
- +------+------+------+-----+
83
- EOS
84
- end
85
-
86
- it "separators" do
87
- @table = Text::Table.new :rows => @rows.insert(1, :separator)
88
- @table.to_s.should == <<-EOS.deindent
89
- +-----+------+------+----+
90
- | aa | bbb | cccc | d |
91
- +-----+------+------+----+
92
- | aaa | bbbb | c | dd |
93
- +-----+------+------+----+
94
- EOS
95
- end
96
-
97
- it 'horizontal boundaries' do
98
- @table.horizontal_boundary = ':'
99
- @table.to_s.should == <<-EOS.deindent
100
- +------+------+------+------+
101
- : a : bb : ccc : dddd :
102
- +------+------+------+------+
103
- : aa : bbb : cccc : d :
104
- : aaa : bbbb : c : dd :
105
- +------+------+------+------+
106
- : aaaa : b : cc : ddd :
107
- +------+------+------+------+
108
- EOS
109
- end
110
-
111
- it 'vertical boundaries' do
112
- @table.vertical_boundary = '='
113
- @table.to_s.should == <<-EOS.deindent
114
- +======+======+======+======+
115
- | a | bb | ccc | dddd |
116
- +======+======+======+======+
117
- | aa | bbb | cccc | d |
118
- | aaa | bbbb | c | dd |
119
- +======+======+======+======+
120
- | aaaa | b | cc | ddd |
121
- +======+======+======+======+
122
- EOS
123
- end
124
-
125
- it 'boundary interserctions' do
126
- @table.boundary_intersection = '*'
127
- @table.to_s.should == <<-EOS.deindent
128
- *------*------*------*------*
129
- | a | bb | ccc | dddd |
130
- *------*------*------*------*
131
- | aa | bbb | cccc | d |
132
- | aaa | bbbb | c | dd |
133
- *------*------*------*------*
134
- | aaaa | b | cc | ddd |
135
- *------*------*------*------*
136
- EOS
137
- end
138
-
139
- it 'double horizontal boundaries' do
140
- @table.horizontal_boundary = '||'
141
- @table.boundary_intersection = '++'
142
- @table.to_s.should == <<-EOS.deindent
143
- ++------++------++------++------++
144
- || a || bb || ccc || dddd ||
145
- ++------++------++------++------++
146
- || aa || bbb || cccc || d ||
147
- || aaa || bbbb || c || dd ||
148
- ++------++------++------++------++
149
- || aaaa || b || cc || ddd ||
150
- ++------++------++------++------++
151
- EOS
152
- end
153
-
154
- it 'double horizontal boundaries with spanned cells' do
155
- @table.horizontal_boundary = '||'
156
- @table.boundary_intersection = '++'
157
- @table.rows << :separator
158
- @table.rows << [{:value => 'x', :colspan => 2, :align => :right}, 'c', 'd']
159
- @table.to_s.should == <<-EOS.deindent
160
- ++------++------++------++------++
161
- || a || bb || ccc || dddd ||
162
- ++------++------++------++------++
163
- || aa || bbb || cccc || d ||
164
- || aaa || bbbb || c || dd ||
165
- ++------++------++------++------++
166
- || x || c || d ||
167
- ++------++------++------++------++
168
- || aaaa || b || cc || ddd ||
169
- ++------++------++------++------++
170
- EOS
171
- end
172
-
173
- describe 'alignment of' do
174
- describe 'headers to the' do
175
- it 'left' do
176
- @table = Text::Table.new :rows => @rows, :head => @head.map {|h| {:value => h, :align => :left}}
177
- @table.to_s.should == <<-EOS.deindent
178
- +-----+------+------+------+
179
- | a | bb | ccc | dddd |
180
- +-----+------+------+------+
181
- | aa | bbb | cccc | d |
182
- | aaa | bbbb | c | dd |
183
- +-----+------+------+------+
184
- EOS
185
- end
186
- it 'center (default)' do
187
- @table = Text::Table.new :rows => @rows, :head => @head
188
- @table.to_s.should == <<-EOS.deindent
189
- +-----+------+------+------+
190
- | a | bb | ccc | dddd |
191
- +-----+------+------+------+
192
- | aa | bbb | cccc | d |
193
- | aaa | bbbb | c | dd |
194
- +-----+------+------+------+
195
- EOS
196
- end
197
- it 'right' do
198
- @table = Text::Table.new :rows => @rows, :head => @head.map {|h| {:value => h, :align => :right}}
199
- @table.to_s.should == <<-EOS.deindent
200
- +-----+------+------+------+
201
- | a | bb | ccc | dddd |
202
- +-----+------+------+------+
203
- | aa | bbb | cccc | d |
204
- | aaa | bbbb | c | dd |
205
- +-----+------+------+------+
206
- EOS
207
- end
208
- end
209
- describe 'cells to the' do
210
- it 'left (default)' do
211
- @table.to_s.should == <<-EOS.deindent
212
- +------+------+------+------+
213
- | a | bb | ccc | dddd |
214
- +------+------+------+------+
215
- | aa | bbb | cccc | d |
216
- | aaa | bbbb | c | dd |
217
- +------+------+------+------+
218
- | aaaa | b | cc | ddd |
219
- +------+------+------+------+
220
- EOS
221
- end
222
- it 'center' do
223
- @table = Text::Table.new :rows => @rows.map {|r| r.map {|c| {:value => c, :align => :center}}}, :head => @head, :foot => @foot
224
- @table.to_s.should == <<-EOS.deindent
225
- +------+------+------+------+
226
- | a | bb | ccc | dddd |
227
- +------+------+------+------+
228
- | aa | bbb | cccc | d |
229
- | aaa | bbbb | c | dd |
230
- +------+------+------+------+
231
- | aaaa | b | cc | ddd |
232
- +------+------+------+------+
233
- EOS
234
- end
235
- it 'right' do
236
- @table = Text::Table.new :rows => @rows.map {|r| r.map {|c| {:value => c, :align => :right}}}, :head => @head, :foot => @foot
237
- @table.to_s.should == <<-EOS.deindent
238
- +------+------+------+------+
239
- | a | bb | ccc | dddd |
240
- +------+------+------+------+
241
- | aa | bbb | cccc | d |
242
- | aaa | bbbb | c | dd |
243
- +------+------+------+------+
244
- | aaaa | b | cc | ddd |
245
- +------+------+------+------+
246
- EOS
247
- end
248
- end
249
- describe 'footers to the' do
250
- it 'left (default)' do
251
- @table = Text::Table.new :rows => @rows, :foot => @foot
252
- @table.to_s.should == <<-EOS.deindent
253
- +------+------+------+-----+
254
- | aa | bbb | cccc | d |
255
- | aaa | bbbb | c | dd |
256
- +------+------+------+-----+
257
- | aaaa | b | cc | ddd |
258
- +------+------+------+-----+
259
- EOS
260
- end
261
- it 'center' do
262
- @table = Text::Table.new :rows => @rows, :foot => @foot.map {|f| {:value => f, :align => :center}}
263
- @table.to_s.should == <<-EOS.deindent
264
- +------+------+------+-----+
265
- | aa | bbb | cccc | d |
266
- | aaa | bbbb | c | dd |
267
- +------+------+------+-----+
268
- | aaaa | b | cc | ddd |
269
- +------+------+------+-----+
270
- EOS
271
- end
272
- it 'right' do
273
- @table = Text::Table.new :rows => @rows, :foot => @foot.map {|f| {:value => f, :align => :right}}
274
- @table.to_s.should == <<-EOS.deindent
275
- +------+------+------+-----+
276
- | aa | bbb | cccc | d |
277
- | aaa | bbbb | c | dd |
278
- +------+------+------+-----+
279
- | aaaa | b | cc | ddd |
280
- +------+------+------+-----+
281
- EOS
282
- end
283
- end
284
- end
285
- describe 'last columns spanned by' do
286
- describe '2 cells aligned to the' do
287
- it 'left' do
288
- @table.rows << ['a', 'b', {:value => 'x', :colspan => 2}]
289
- @table.to_s.should == <<-EOS.deindent
290
- +------+------+------+------+
291
- | a | bb | ccc | dddd |
292
- +------+------+------+------+
293
- | aa | bbb | cccc | d |
294
- | aaa | bbbb | c | dd |
295
- | a | b | x |
296
- +------+------+------+------+
297
- | aaaa | b | cc | ddd |
298
- +------+------+------+------+
299
- EOS
300
- end
301
- it 'center' do
302
- @table.rows << ['a', 'b', {:value => 'x', :colspan => 2, :align => :center}]
303
- @table.to_s.should == <<-EOS.deindent
304
- +------+------+------+------+
305
- | a | bb | ccc | dddd |
306
- +------+------+------+------+
307
- | aa | bbb | cccc | d |
308
- | aaa | bbbb | c | dd |
309
- | a | b | x |
310
- +------+------+------+------+
311
- | aaaa | b | cc | ddd |
312
- +------+------+------+------+
313
- EOS
314
- end
315
- it 'right' do
316
- @table.rows << ['a', 'b', {:value => 'x', :colspan => 2, :align => :right}]
317
- @table.to_s.should == <<-EOS.deindent
318
- +------+------+------+------+
319
- | a | bb | ccc | dddd |
320
- +------+------+------+------+
321
- | aa | bbb | cccc | d |
322
- | aaa | bbbb | c | dd |
323
- | a | b | x |
324
- +------+------+------+------+
325
- | aaaa | b | cc | ddd |
326
- +------+------+------+------+
327
- EOS
328
- end
329
- end
330
- describe '3 cells aligned to the' do
331
- it 'left' do
332
- @table.rows << ['a', {:value => 'x', :colspan => 3}]
333
- @table.to_s.should == <<-EOS.deindent
334
- +------+------+------+------+
335
- | a | bb | ccc | dddd |
336
- +------+------+------+------+
337
- | aa | bbb | cccc | d |
338
- | aaa | bbbb | c | dd |
339
- | a | x |
340
- +------+------+------+------+
341
- | aaaa | b | cc | ddd |
342
- +------+------+------+------+
343
- EOS
344
- end
345
- it 'center' do
346
- @table.rows << ['a', {:value => 'x', :colspan => 3, :align => :center}]
347
- @table.to_s.should == <<-EOS.deindent
348
- +------+------+------+------+
349
- | a | bb | ccc | dddd |
350
- +------+------+------+------+
351
- | aa | bbb | cccc | d |
352
- | aaa | bbbb | c | dd |
353
- | a | x |
354
- +------+------+------+------+
355
- | aaaa | b | cc | ddd |
356
- +------+------+------+------+
357
- EOS
358
- end
359
- it 'right' do
360
- @table.rows << ['a', {:value => 'x', :colspan => 3, :align => :right}]
361
- @table.to_s.should == <<-EOS.deindent
362
- +------+------+------+------+
363
- | a | bb | ccc | dddd |
364
- +------+------+------+------+
365
- | aa | bbb | cccc | d |
366
- | aaa | bbbb | c | dd |
367
- | a | x |
368
- +------+------+------+------+
369
- | aaaa | b | cc | ddd |
370
- +------+------+------+------+
371
- EOS
372
- end
373
- end
374
- end
375
- describe 'first columns spanned by' do
376
- describe '2 cells aligned to the' do
377
- it 'left' do
378
- @table.rows << [{:value => 'x', :colspan => 2}, 'c', 'd']
379
- @table.to_s.should == <<-EOS.deindent
380
- +------+------+------+------+
381
- | a | bb | ccc | dddd |
382
- +------+------+------+------+
383
- | aa | bbb | cccc | d |
384
- | aaa | bbbb | c | dd |
385
- | x | c | d |
386
- +------+------+------+------+
387
- | aaaa | b | cc | ddd |
388
- +------+------+------+------+
389
- EOS
390
- end
391
- it 'center' do
392
- @table.rows << [{:value => 'x', :colspan => 2, :align => :center}, 'c', 'd']
393
- @table.to_s.should == <<-EOS.deindent
394
- +------+------+------+------+
395
- | a | bb | ccc | dddd |
396
- +------+------+------+------+
397
- | aa | bbb | cccc | d |
398
- | aaa | bbbb | c | dd |
399
- | x | c | d |
400
- +------+------+------+------+
401
- | aaaa | b | cc | ddd |
402
- +------+------+------+------+
403
- EOS
404
- end
405
- it 'right' do
406
- @table.rows << [{:value => 'x', :colspan => 2, :align => :right}, 'c', 'd']
407
- @table.to_s.should == <<-EOS.deindent
408
- +------+------+------+------+
409
- | a | bb | ccc | dddd |
410
- +------+------+------+------+
411
- | aa | bbb | cccc | d |
412
- | aaa | bbbb | c | dd |
413
- | x | c | d |
414
- +------+------+------+------+
415
- | aaaa | b | cc | ddd |
416
- +------+------+------+------+
417
- EOS
418
- end
419
- end
420
- describe '3 cells aligned to the' do
421
- it 'left' do
422
- @table.rows << [{:value => 'x', :colspan => 3}, 'd']
423
- @table.to_s.should == <<-EOS.deindent
424
- +------+------+------+------+
425
- | a | bb | ccc | dddd |
426
- +------+------+------+------+
427
- | aa | bbb | cccc | d |
428
- | aaa | bbbb | c | dd |
429
- | x | d |
430
- +------+------+------+------+
431
- | aaaa | b | cc | ddd |
432
- +------+------+------+------+
433
- EOS
434
- end
435
- it 'center' do
436
- @table.rows << [{:value => 'x', :colspan => 3, :align => :center}, 'd']
437
- @table.to_s.should == <<-EOS.deindent
438
- +------+------+------+------+
439
- | a | bb | ccc | dddd |
440
- +------+------+------+------+
441
- | aa | bbb | cccc | d |
442
- | aaa | bbbb | c | dd |
443
- | x | d |
444
- +------+------+------+------+
445
- | aaaa | b | cc | ddd |
446
- +------+------+------+------+
447
- EOS
448
- end
449
- it 'right' do
450
- @table.rows << [{:value => 'x', :colspan => 3, :align => :right}, 'd']
451
- @table.to_s.should == <<-EOS.deindent
452
- +------+------+------+------+
453
- | a | bb | ccc | dddd |
454
- +------+------+------+------+
455
- | aa | bbb | cccc | d |
456
- | aaa | bbbb | c | dd |
457
- | x | d |
458
- +------+------+------+------+
459
- | aaaa | b | cc | ddd |
460
- +------+------+------+------+
461
- EOS
462
- end
463
- end
464
- end
465
- end
466
-
467
- describe 'should easily allow alignment of' do
468
- it 'columns' do
469
- @table.rows[1][2] = {:value => 'c', :align => :center}
470
- @table.rows << [{:value => 'x', :colspan => 2}, 'c', 'd']
471
- @table.rows << ['a', 'b', {:value => 'x', :colspan => 2}]
472
- @table.align_column 2, :right
473
- @table.align_column 3, :right
474
- @table.to_s.should == <<-EOS.deindent
475
- +------+------+------+------+
476
- | a | bb | ccc | dddd |
477
- +------+------+------+------+
478
- | aa | bbb | cccc | d |
479
- | aaa | bbbb | c | dd |
480
- | x | c | d |
481
- | a | b | x |
482
- +------+------+------+------+
483
- | aaaa | b | cc | ddd |
484
- +------+------+------+------+
485
- EOS
486
- end
487
- it 'rows'
488
- it 'headers'
489
- it 'footers'
490
- end
491
- end