tty-table 0.1.0 → 0.2.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.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +458 -142
  4. data/lib/tty-table.rb +6 -6
  5. data/lib/tty/table.rb +34 -34
  6. data/lib/tty/table/alignment_set.rb +73 -0
  7. data/lib/tty/table/border.rb +54 -36
  8. data/lib/tty/table/border/null.rb +4 -4
  9. data/lib/tty/table/{columns.rb → column_constraint.rb} +30 -32
  10. data/lib/tty/table/column_set.rb +18 -17
  11. data/lib/tty/table/field.rb +50 -25
  12. data/lib/tty/table/header.rb +6 -2
  13. data/lib/tty/table/indentation.rb +7 -12
  14. data/lib/tty/table/operation/alignment.rb +59 -0
  15. data/lib/tty/table/operation/escape.rb +1 -1
  16. data/lib/tty/table/operation/filter.rb +1 -1
  17. data/lib/tty/table/operation/padding.rb +12 -61
  18. data/lib/tty/table/operation/truncation.rb +2 -2
  19. data/lib/tty/table/operation/wrapped.rb +2 -5
  20. data/lib/tty/table/operations.rb +35 -17
  21. data/lib/tty/table/orientation/vertical.rb +4 -4
  22. data/lib/tty/table/renderer.rb +1 -7
  23. data/lib/tty/table/renderer/basic.rb +69 -63
  24. data/lib/tty/table/version.rb +1 -1
  25. data/spec/spec_helper.rb +3 -4
  26. data/spec/unit/access_spec.rb +8 -8
  27. data/spec/unit/{operation/alignment_set → alignment_set}/each_spec.rb +1 -1
  28. data/spec/unit/{operation/alignment_set → alignment_set}/new_spec.rb +4 -4
  29. data/spec/unit/{operation/alignment_set → alignment_set}/to_ary_spec.rb +1 -1
  30. data/spec/unit/alignment_spec.rb +71 -0
  31. data/spec/unit/border/ascii/rendering_spec.rb +12 -12
  32. data/spec/unit/border/new_spec.rb +2 -2
  33. data/spec/unit/border/null/rendering_spec.rb +2 -2
  34. data/spec/unit/border/unicode/rendering_spec.rb +10 -10
  35. data/spec/unit/{columns → column_constraint}/enforce_spec.rb +15 -12
  36. data/spec/unit/{columns → column_constraint}/widths_spec.rb +6 -6
  37. data/spec/unit/column_set/extract_widths_spec.rb +39 -6
  38. data/spec/unit/data_spec.rb +4 -6
  39. data/spec/unit/each_spec.rb +8 -23
  40. data/spec/unit/each_with_index_spec.rb +27 -33
  41. data/spec/unit/field/length_spec.rb +23 -9
  42. data/spec/unit/field/width_spec.rb +1 -1
  43. data/spec/unit/filter_spec.rb +7 -8
  44. data/spec/unit/header/new_spec.rb +6 -15
  45. data/spec/unit/indentation/indent_spec.rb +21 -0
  46. data/spec/unit/new_spec.rb +73 -0
  47. data/spec/unit/operation/{alignment_set → alignment}/call_spec.rb +1 -1
  48. data/spec/unit/operation/escape/call_spec.rb +2 -3
  49. data/spec/unit/operation/filter/call_spec.rb +2 -3
  50. data/spec/unit/operation/truncation/call_spec.rb +6 -8
  51. data/spec/unit/operation/wrapped/call_spec.rb +15 -8
  52. data/spec/unit/operations/new_spec.rb +1 -1
  53. data/spec/unit/orientation_spec.rb +6 -6
  54. data/spec/unit/padding_spec.rb +29 -32
  55. data/spec/unit/properties_spec.rb +4 -4
  56. data/spec/unit/render_repeat_spec.rb +42 -0
  57. data/spec/unit/render_spec.rb +1 -1
  58. data/spec/unit/render_with_spec.rb +3 -3
  59. data/spec/unit/renderer/ascii/coloring_spec.rb +70 -0
  60. data/spec/unit/renderer/ascii/multiline_spec.rb +101 -0
  61. data/spec/unit/renderer/ascii/padding_spec.rb +37 -10
  62. data/spec/unit/renderer/ascii/render_spec.rb +4 -4
  63. data/spec/unit/renderer/ascii/resizing_spec.rb +22 -22
  64. data/spec/unit/renderer/ascii/separator_spec.rb +1 -1
  65. data/spec/unit/renderer/basic/alignment_spec.rb +20 -20
  66. data/spec/unit/renderer/basic/coloring_spec.rb +43 -28
  67. data/spec/unit/renderer/basic/filter_spec.rb +3 -3
  68. data/spec/unit/renderer/basic/multiline_spec.rb +74 -0
  69. data/spec/unit/renderer/basic/options_spec.rb +9 -9
  70. data/spec/unit/renderer/basic/padding_spec.rb +26 -2
  71. data/spec/unit/renderer/basic/render_spec.rb +4 -4
  72. data/spec/unit/renderer/basic/resizing_spec.rb +18 -18
  73. data/spec/unit/renderer/basic/separator_spec.rb +1 -1
  74. data/spec/unit/renderer/basic/truncation_spec.rb +6 -6
  75. data/spec/unit/renderer/basic/wrapping_spec.rb +3 -3
  76. data/spec/unit/renderer/border_spec.rb +4 -4
  77. data/spec/unit/renderer/unicode/coloring_spec.rb +70 -0
  78. data/spec/unit/renderer/unicode/indentation_spec.rb +1 -1
  79. data/spec/unit/renderer/unicode/padding_spec.rb +26 -26
  80. data/spec/unit/renderer/unicode/render_spec.rb +4 -4
  81. data/spec/unit/renderer/unicode/separator_spec.rb +1 -1
  82. data/spec/unit/to_s_spec.rb +4 -11
  83. data/spec/unit/utf_spec.rb +33 -0
  84. data/tty-table.gemspec +2 -1
  85. metadata +52 -32
  86. data/lib/tty/table/operation/alignment_set.rb +0 -103
  87. data/lib/tty/table/padder.rb +0 -180
  88. data/lib/tty/table/renderer/color.rb +0 -12
  89. data/spec/unit/indentation/insert_indent_spec.rb +0 -27
  90. data/spec/unit/initialize_spec.rb +0 -88
  91. data/spec/unit/padder/parse_spec.rb +0 -45
  92. data/spec/unit/padder/to_s_spec.rb +0 -14
  93. data/spec/unit/renderer/basic/multiline_content_spec.rb +0 -135
  94. data/spec/unit/renderer/style_spec.rb +0 -72
@@ -7,12 +7,12 @@ RSpec.describe TTY::Table::Renderer::Basic, 'options' do
7
7
  let(:object) { described_class }
8
8
  let(:table) { TTY::Table.new(rows) }
9
9
  let(:widths) { nil }
10
- let(:aligns) { [] }
10
+ let(:alignments) { [] }
11
11
  let(:options) {
12
12
  {
13
- :column_widths => widths,
14
- :column_aligns => aligns,
15
- :renderer => :basic
13
+ column_widths: widths,
14
+ alignments: alignments,
15
+ renderer: :basic
16
16
  }
17
17
  }
18
18
 
@@ -22,9 +22,9 @@ RSpec.describe TTY::Table::Renderer::Basic, 'options' do
22
22
 
23
23
  it { expect(renderer.column_widths).to eql([2,2]) }
24
24
 
25
- it { expect(renderer.column_aligns).to eql(aligns) }
25
+ it { expect(renderer.alignments.to_a).to eql(alignments) }
26
26
 
27
- it { expect(renderer.column_aligns.to_a).to be_empty }
27
+ it { expect(renderer.alignments.to_a).to be_empty }
28
28
 
29
29
  context '#column_widths' do
30
30
  let(:widths) { [10, 10] }
@@ -42,11 +42,11 @@ RSpec.describe TTY::Table::Renderer::Basic, 'options' do
42
42
  }
43
43
  end
44
44
 
45
- context '#column_aligns' do
46
- let(:aligns) { [:center, :center] }
45
+ context '#alignments' do
46
+ let(:alignments) { [:center, :center] }
47
47
 
48
48
  it 'unwraps original array' do
49
- expect(renderer.column_aligns.to_a).to eq(aligns)
49
+ expect(renderer.alignments.to_a).to eq(alignments)
50
50
  end
51
51
  end
52
52
  end
@@ -21,7 +21,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'padding' do
21
21
  end
22
22
 
23
23
  context 'with top & bottom padding' do
24
- let(:options) { {padding: [1,0,1,0], multiline: true} }
24
+ let(:options) { {padding: [1,0,1,0]} }
25
25
 
26
26
  it 'pads each field' do
27
27
  expect(renderer.render).to eql <<-EOS.chomp
@@ -36,7 +36,7 @@ EOS
36
36
  end
37
37
 
38
38
  context 'with full padding' do
39
- let(:options) { {padding: [1,1,1,1], multiline: true} }
39
+ let(:options) { {padding: [1,1,1,1]} }
40
40
 
41
41
  it 'pads each field' do
42
42
  expect(renderer.render).to eql <<-EOS.chomp
@@ -49,4 +49,28 @@ EOS
49
49
  EOS
50
50
  end
51
51
  end
52
+
53
+ context "with multiline content padding" do
54
+ it "pads around fields" do
55
+ padding = [1,2,1,2]
56
+ table = TTY::Table.new header: ['header1', 'header2']
57
+ table << ["a1\na1\na1",'a2']
58
+ table << ["b1","b2\nb2"]
59
+ renderer = TTY::Table::Renderer::Basic.new(table, padding: padding, multiline: true)
60
+ expect(renderer.render).to eql <<-EOS.chomp
61
+
62
+ header1 header2
63
+
64
+
65
+ a1 a2
66
+ a1
67
+ a1
68
+
69
+
70
+ b1 b2
71
+ b2
72
+
73
+ EOS
74
+ end
75
+ end
52
76
  end
@@ -13,7 +13,7 @@ RSpec.describe TTY::Table::Renderer::Basic, '#render' do
13
13
  let(:table) { TTY::Table.new rows }
14
14
 
15
15
  it 'displays table without styling' do
16
- expect(renderer.render).to eq <<-EOS.normalize
16
+ expect(renderer.render).to eq unindent(<<-EOS)
17
17
  a1 a2 a3
18
18
  b1 b2 b3
19
19
  EOS
@@ -22,7 +22,7 @@ RSpec.describe TTY::Table::Renderer::Basic, '#render' do
22
22
 
23
23
  context 'with header and rows' do
24
24
  it 'displays table with header' do
25
- expect(renderer.render).to eq <<-EOS.normalize
25
+ expect(renderer.render).to eq unindent(<<-EOS)
26
26
  h1 h2 h3
27
27
  a1 a2 a3
28
28
  b1 b2 b3
@@ -35,7 +35,7 @@ RSpec.describe TTY::Table::Renderer::Basic, '#render' do
35
35
  let(:rows) { [['aaa1', 'a2'], ['b1', 'bb1']] }
36
36
 
37
37
  it 'displays table according to widths' do
38
- expect(renderer.render).to eq <<-EOS.normalize
38
+ expect(renderer.render).to eq unindent(<<-EOS)
39
39
  h1 h2
40
40
  aaa1 a2
41
41
  b1 bb1
@@ -47,7 +47,7 @@ RSpec.describe TTY::Table::Renderer::Basic, '#render' do
47
47
  let(:header) { ['header1', 'header2', 'header3'] }
48
48
 
49
49
  it 'header greater than row sizes' do
50
- expect(renderer.render).to eq <<-EOS.normalize
50
+ expect(renderer.render).to eq unindent(<<-EOS)
51
51
  header1 header2 header3
52
52
  a1 a2 a3
53
53
  b1 b2 b3
@@ -14,7 +14,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'resizing' do
14
14
  let(:options) { {width: 16, resize: true} }
15
15
 
16
16
  it 'resizes each column' do
17
- expect(renderer.render).to eql <<-EOS.normalize
17
+ expect(renderer.render).to eql unindent(<<-EOS)
18
18
  h1 h2 h3
19
19
  a1 a2 a3
20
20
  b1 b2 b3
@@ -28,7 +28,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'resizing' do
28
28
  let(:options) { {width: 21, resize: true} }
29
29
 
30
30
  it 'resizes each column' do
31
- expect(renderer.render).to eql <<-EOS.normalize
31
+ expect(renderer.render).to eql unindent(<<-EOS)
32
32
  h1 h2 h3 h4
33
33
  a1 a2 a3 a4
34
34
  b1 b2 b3 b4
@@ -42,7 +42,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'resizing' do
42
42
  let(:options) { {width: 32, resize: true} }
43
43
 
44
44
  it 'resizes each column' do
45
- expect(renderer.render).to eql <<-EOS.normalize
45
+ expect(renderer.render).to eql unindent(<<-EOS)
46
46
  h1 h2 h3
47
47
  aaa1 aa2 aaaaaaa3
48
48
  b1 b2 b3
@@ -56,25 +56,25 @@ RSpec.describe TTY::Table::Renderer::Basic, 'resizing' do
56
56
  let(:rows) { [['aaaa1','aaaa2',], ['bbbb1','bbbb2']] }
57
57
 
58
58
  context 'even columns' do
59
- let(:options) { {width: 7, resize: true} }
59
+ let(:options) { {width: 8, resize: true} }
60
60
 
61
61
  it 'resizes each column' do
62
- expect(renderer.render).to eql <<-EOS.normalize
63
- he… he…
64
- aa… aa…
65
- bb… bb…
62
+ expect(renderer.render).to eql unindent(<<-EOS)
63
+ he… h…
64
+ aa… a…
65
+ bb… b…
66
66
  EOS
67
67
  end
68
68
  end
69
69
 
70
70
  context 'even columns with extra width' do
71
- let(:options) { {width: 8, resize: true} }
71
+ let(:options) { {width: 9, resize: true} }
72
72
 
73
73
  it 'resizes each column' do
74
- expect(renderer.render).to eql <<-EOS.normalize
75
- hea he…
76
- aaa aa…
77
- bbb bb…
74
+ expect(renderer.render).to eql unindent(<<-EOS)
75
+ he he…
76
+ aa aa…
77
+ bb bb…
78
78
  EOS
79
79
  end
80
80
  end
@@ -82,13 +82,13 @@ RSpec.describe TTY::Table::Renderer::Basic, 'resizing' do
82
82
  context 'uneven columns' do
83
83
  let(:header) { ['head1', 'head2', 'head3'] }
84
84
  let(:rows) { [['aaa1', 'aa2', 'aaaaaaa3'], ['b1', 'b2', 'b3']] }
85
- let(:options) { {width: 15, resize: true} }
85
+ let(:options) { {width: 16, resize: true} }
86
86
 
87
87
  it 'resizes each column' do
88
- expect(renderer.render).to eql <<-EOS.normalize
89
- hea he… head3
90
- aaa1 aa2 aaaaa…
91
- b1 b2 b3
88
+ expect(renderer.render).to eql unindent(<<-EOS)
89
+ he he… head3
90
+ aaa1 aa2 aaaa…
91
+ b1 b2 b3
92
92
  EOS
93
93
  end
94
94
  end
@@ -31,7 +31,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'with separator' do
31
31
 
32
32
  it "renders each row" do
33
33
  renderer.border.separator= :each_row
34
- expect(renderer.render).to eq <<-EOS.normalize
34
+ expect(renderer.render).to eq unindent(<<-EOS)
35
35
  h1 h2 h3
36
36
 
37
37
  a1 a2 a3
@@ -13,7 +13,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'truncation' do
13
13
  let(:options) { {} }
14
14
 
15
15
  it "doesn't shorten the fields" do
16
- expect(renderer.render).to eq <<-EOS.normalize
16
+ expect(renderer.render).to eq unindent(<<-EOS)
17
17
  header1 head2 h3
18
18
  a1111111 a222 a3333333
19
19
  b111 b2222222 b333333
@@ -22,13 +22,13 @@ RSpec.describe TTY::Table::Renderer::Basic, 'truncation' do
22
22
  end
23
23
 
24
24
  context 'with column widths' do
25
- let(:options) { { column_widths: [3, 5, 7] } }
25
+ let(:options) { { column_widths: [4, 5, 7] } }
26
26
 
27
27
  it 'shortens the fields' do
28
- expect(renderer.render).to eq <<-EOS.normalize
29
- he… head2 h3
30
- a1… a222 a33333
31
- b1… b222 b333333
28
+ expect(renderer.render).to eq unindent(<<-EOS)
29
+ he… head2 h3
30
+ a1… a222 a3333
31
+ b111 b22 b333333
32
32
  EOS
33
33
  end
34
34
  end
@@ -12,8 +12,8 @@ RSpec.describe TTY::Table::Renderer::Basic, 'wrapping' do
12
12
  context 'without column widths' do
13
13
  let(:options) { {multiline: true} }
14
14
 
15
- it 'doesn\'t wrap the fields' do
16
- expect(renderer.render).to eq <<-EOS.normalize
15
+ it "doesn't wrap the fields" do
16
+ expect(renderer.render).to eq unindent(<<-EOS)
17
17
  header1 head2 h3
18
18
  a1111111 a222 a3333333
19
19
  b111 b2222222 b333333
@@ -25,7 +25,7 @@ RSpec.describe TTY::Table::Renderer::Basic, 'wrapping' do
25
25
  let(:options) { { column_widths: [3, 5, 7], multiline: true} }
26
26
 
27
27
  it 'wraps the fields' do
28
- expect(renderer.render).to eq <<-EOS.normalize
28
+ expect(renderer.render).to eq unindent(<<-EOS)
29
29
  hea head2 h3
30
30
  der
31
31
  1
@@ -31,7 +31,7 @@ RSpec.describe TTY::Table::Renderer, '#border' do
31
31
  mid_mid ' '
32
32
  end
33
33
 
34
- expect(renderer.render).to eq <<-EOS.normalize
34
+ expect(renderer.render).to eq unindent(<<-EOS)
35
35
  h1 h2 h3
36
36
  == == ==
37
37
  a1 a2 a3
@@ -51,7 +51,7 @@ RSpec.describe TTY::Table::Renderer, '#border' do
51
51
  mid_right '='
52
52
  end
53
53
 
54
- expect(renderer.render).to eq <<-EOS.normalize
54
+ expect(renderer.render).to eq unindent(<<-EOS)
55
55
  +--+--+--+
56
56
  |h1|h2|h3|
57
57
  ==========
@@ -69,7 +69,7 @@ RSpec.describe TTY::Table::Renderer, '#border' do
69
69
  'mid_right' => '=',
70
70
  }})
71
71
 
72
- expect(renderer.render).to eq <<-EOS.normalize
72
+ expect(renderer.render).to eq unindent(<<-EOS)
73
73
  +--+--+--+
74
74
  |h1|h2|h3|
75
75
  ==========
@@ -91,7 +91,7 @@ RSpec.describe TTY::Table::Renderer, '#border' do
91
91
  mid_right '='
92
92
  end
93
93
 
94
- expect(renderer.render).to eq <<-EOS.normalize
94
+ expect(renderer.render).to eq unindent(<<-EOS)
95
95
  ┌──┬──┬──┐
96
96
  │h1│h2│h3│
97
97
  ==========
@@ -0,0 +1,70 @@
1
+ # coding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe TTY::Table::Renderer::Unicode, 'coloring' do
6
+
7
+ let(:color) { Pastel.new(enabled: true) }
8
+
9
+ before { allow(Pastel).to receive(:new).and_return(color) }
10
+
11
+ context 'when border' do
12
+ it "colors border" do
13
+ table = TTY::Table.new header: ['header1', 'header2']
14
+ table << ['a1', 'a2']
15
+ table << ['b1', 'b2']
16
+ renderer = described_class.new(table)
17
+ renderer.border = {style: :green }
18
+
19
+ expect(renderer.render).to eq unindent(<<-EOS)
20
+ #{color.green('┌───────┬───────┐')}
21
+ #{color.green('│')}header1#{color.green('│')}header2#{color.green('│')}
22
+ #{color.green('├───────┼───────┤')}
23
+ #{color.green('│')}a1 #{color.green('│')}a2 #{color.green('│')}
24
+ #{color.green('│')}b1 #{color.green('│')}b2 #{color.green('│')}
25
+ #{color.green('└───────┴───────┘')}
26
+ EOS
27
+ end
28
+ end
29
+
30
+ context 'when content' do
31
+ it "colors individual field" do
32
+ header = [color.yellow('header1'), 'header2']
33
+ table = TTY::Table.new header: header
34
+ table << [color.green.on_blue('a1'), 'a2']
35
+ table << ['b1', color.red.on_yellow('b2')]
36
+ renderer = described_class.new(table)
37
+
38
+ expect(renderer.render).to eq unindent(<<-EOS)
39
+ ┌───────┬───────┐
40
+ │#{color.yellow('header1')}│header2│
41
+ ├───────┼───────┤
42
+ │#{color.green.on_blue('a1')} │a2 │
43
+ │b1 │#{color.red.on_yellow('b2')} │
44
+ └───────┴───────┘
45
+ EOS
46
+ end
47
+
48
+ it "colors multiline content" do
49
+ header = [color.yellow("Multi\nHeader"), 'header2']
50
+ table = TTY::Table.new header: header
51
+ table << [color.green.on_blue("Multi\nLine\nContent"), 'a2']
52
+ table << ['b1', color.red.on_yellow("Multi\nLine\nContent")]
53
+ renderer = described_class.new(table, multiline: true)
54
+
55
+ expect(renderer.render).to eq unindent(<<-EOS)
56
+ ┌───────┬───────┐
57
+ │#{color.yellow('Multi ')}│header2│
58
+ │#{color.yellow('Header')} │ │
59
+ ├───────┼───────┤
60
+ │#{color.green.on_blue('Multi ')}│a2 │
61
+ │#{color.green.on_blue('Line ')}│ │
62
+ │#{color.green.on_blue('Content')}│ │
63
+ │b1 │#{color.red.on_yellow("Multi ")}│
64
+ │ │#{color.red.on_yellow("Line ")}│
65
+ │ │#{color.red.on_yellow("Content")}│
66
+ └───────┴───────┘
67
+ EOS
68
+ end
69
+ end
70
+ end
@@ -13,7 +13,7 @@ RSpec.describe TTY::Table::Renderer::Unicode, 'indentation' do
13
13
 
14
14
  context 'when default' do
15
15
  it 'indents by value' do
16
- expect(renderer.render).to eql <<-EOS.chomp
16
+ expect(renderer.render).to eq <<-EOS.chomp
17
17
  ┌──┬──┬──┐
18
18
  │h1│h2│h3│
19
19
  ├──┼──┼──┤
@@ -13,12 +13,12 @@ RSpec.describe TTY::Table::Renderer::Unicode, 'padding' do
13
13
  let(:options) { {padding: [0,1,0,1]} }
14
14
 
15
15
  it 'pads each field' do
16
- expect(renderer.render).to eql <<-EOS.chomp
17
- ┌───────┬─────────┬──────┬─────┬─────────┬───────┐
18
- │ Field │ Type │ Null │ Key │ Default │ Extra │
19
- ├───────┼─────────┼──────┼─────┼─────────┼───────┤
20
- │ id │ int(11) │ YES │ nil │ NULL │ │
21
- └───────┴─────────┴──────┴─────┴─────────┴───────┘
16
+ expect(renderer.render).to eql unindent(<<-EOS)
17
+ ┌───────┬─────────┬──────┬─────┬─────────┬───────┐
18
+ │ Field │ Type │ Null │ Key │ Default │ Extra │
19
+ ├───────┼─────────┼──────┼─────┼─────────┼───────┤
20
+ │ id │ int(11) │ YES │ nil │ NULL │ │
21
+ └───────┴─────────┴──────┴─────┴─────────┴───────┘
22
22
  EOS
23
23
  end
24
24
  end
@@ -27,16 +27,16 @@ RSpec.describe TTY::Table::Renderer::Unicode, 'padding' do
27
27
  let(:options) { {padding: [1,0,1,0], multiline: true} }
28
28
 
29
29
  it 'pads each field' do
30
- expect(renderer.render).to eql <<-EOS.chomp
31
- ┌─────┬───────┬────┬───┬───────┬─────┐
32
- │ │ │ │ │ │ │
33
- │Field│Type │Null│Key│Default│Extra│
34
- │ │ │ │ │ │ │
35
- ├─────┼───────┼────┼───┼───────┼─────┤
36
- │ │ │ │ │ │ │
37
- │id │int(11)│YES │nil│NULL │ │
38
- │ │ │ │ │ │ │
39
- └─────┴───────┴────┴───┴───────┴─────┘
30
+ expect(renderer.render).to eql unindent(<<-EOS)
31
+ ┌─────┬───────┬────┬───┬───────┬─────┐
32
+ │ │ │ │ │ │ │
33
+ │Field│Type │Null│Key│Default│Extra│
34
+ │ │ │ │ │ │ │
35
+ ├─────┼───────┼────┼───┼───────┼─────┤
36
+ │ │ │ │ │ │ │
37
+ │id │int(11)│YES │nil│NULL │ │
38
+ │ │ │ │ │ │ │
39
+ └─────┴───────┴────┴───┴───────┴─────┘
40
40
  EOS
41
41
  end
42
42
  end
@@ -45,16 +45,16 @@ RSpec.describe TTY::Table::Renderer::Unicode, 'padding' do
45
45
  let(:options) { {padding: [1,1,1,1], multiline: true} }
46
46
 
47
47
  it 'pads each field' do
48
- expect(renderer.render).to eql <<-EOS.chomp
49
- ┌───────┬─────────┬──────┬─────┬─────────┬───────┐
50
- │ │ │ │ │ │ │
51
- │ Field │ Type │ Null │ Key │ Default │ Extra │
52
- │ │ │ │ │ │ │
53
- ├───────┼─────────┼──────┼─────┼─────────┼───────┤
54
- │ │ │ │ │ │ │
55
- │ id │ int(11) │ YES │ nil │ NULL │ │
56
- │ │ │ │ │ │ │
57
- └───────┴─────────┴──────┴─────┴─────────┴───────┘
48
+ expect(renderer.render).to eql unindent(<<-EOS)
49
+ ┌───────┬─────────┬──────┬─────┬─────────┬───────┐
50
+ │ │ │ │ │ │ │
51
+ │ Field │ Type │ Null │ Key │ Default │ Extra │
52
+ │ │ │ │ │ │ │
53
+ ├───────┼─────────┼──────┼─────┼─────────┼───────┤
54
+ │ │ │ │ │ │ │
55
+ │ id │ int(11) │ YES │ nil │ NULL │ │
56
+ │ │ │ │ │ │ │
57
+ └───────┴─────────┴──────┴─────┴─────────┴───────┘
58
58
  EOS
59
59
  end
60
60
  end