tty 0.0.11 → 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.
Files changed (265) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +1 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +16 -7
  6. data/CHANGELOG.md +6 -0
  7. data/Gemfile +18 -1
  8. data/README.md +55 -28
  9. data/Rakefile +5 -9
  10. data/images/tty.png +0 -0
  11. data/lib/tty.rb +7 -1
  12. data/lib/tty/coercer/boolean.rb +6 -9
  13. data/lib/tty/coercer/float.rb +14 -17
  14. data/lib/tty/coercer/integer.rb +14 -17
  15. data/lib/tty/coercer/range.rb +6 -7
  16. data/lib/tty/logger.rb +23 -9
  17. data/lib/tty/plugins.rb +3 -6
  18. data/lib/tty/plugins/plugin.rb +4 -7
  19. data/lib/tty/shell.rb +20 -12
  20. data/lib/tty/shell/question.rb +41 -48
  21. data/lib/tty/shell/question/modifier.rb +5 -8
  22. data/lib/tty/shell/question/validation.rb +8 -7
  23. data/lib/tty/shell/reader.rb +28 -19
  24. data/lib/tty/shell/response.rb +26 -22
  25. data/lib/tty/shell/statement.rb +13 -9
  26. data/lib/tty/shell/suggestion.rb +17 -13
  27. data/lib/tty/support/coercion.rb +5 -6
  28. data/lib/tty/support/conversion.rb +7 -6
  29. data/lib/tty/support/delegatable.rb +5 -5
  30. data/lib/tty/support/unicode.rb +3 -4
  31. data/lib/tty/support/utils.rb +1 -2
  32. data/lib/tty/system.rb +13 -6
  33. data/lib/tty/system/editor.rb +21 -18
  34. data/lib/tty/system/which.rb +3 -5
  35. data/lib/tty/table.rb +18 -22
  36. data/lib/tty/table/border.rb +2 -4
  37. data/lib/tty/table/border/ascii.rb +3 -2
  38. data/lib/tty/table/border/null.rb +1 -3
  39. data/lib/tty/table/border/row_line.rb +1 -4
  40. data/lib/tty/table/border/unicode.rb +3 -2
  41. data/lib/tty/table/border_dsl.rb +21 -17
  42. data/lib/tty/table/border_options.rb +6 -5
  43. data/lib/tty/table/column_set.rb +11 -7
  44. data/lib/tty/table/columns.rb +19 -16
  45. data/lib/tty/table/error.rb +1 -3
  46. data/lib/tty/table/field.rb +30 -12
  47. data/lib/tty/table/header.rb +18 -9
  48. data/lib/tty/table/indentation.rb +1 -3
  49. data/lib/tty/table/operation/alignment.rb +8 -9
  50. data/lib/tty/table/operation/alignment_set.rb +6 -5
  51. data/lib/tty/table/operation/escape.rb +3 -3
  52. data/lib/tty/table/operation/filter.rb +3 -4
  53. data/lib/tty/table/operation/truncation.rb +3 -3
  54. data/lib/tty/table/operation/wrapped.rb +3 -4
  55. data/lib/tty/table/operations.rb +19 -22
  56. data/lib/tty/table/orientation.rb +5 -5
  57. data/lib/tty/table/orientation/horizontal.rb +9 -6
  58. data/lib/tty/table/orientation/vertical.rb +10 -7
  59. data/lib/tty/table/padder.rb +46 -8
  60. data/lib/tty/table/renderer.rb +21 -14
  61. data/lib/tty/table/renderer/ascii.rb +6 -5
  62. data/lib/tty/table/renderer/basic.rb +18 -19
  63. data/lib/tty/table/renderer/unicode.rb +11 -5
  64. data/lib/tty/table/row.rb +36 -20
  65. data/lib/tty/table/transformation.rb +6 -5
  66. data/lib/tty/table/validatable.rb +32 -17
  67. data/lib/tty/terminal.rb +26 -42
  68. data/lib/tty/terminal/color.rb +10 -12
  69. data/lib/tty/terminal/echo.rb +4 -7
  70. data/lib/tty/terminal/home.rb +3 -10
  71. data/lib/tty/terminal/pager.rb +11 -10
  72. data/lib/tty/terminal/pager/basic.rb +3 -6
  73. data/lib/tty/terminal/pager/system.rb +2 -5
  74. data/lib/tty/text.rb +7 -10
  75. data/lib/tty/text/distance.rb +2 -4
  76. data/lib/tty/text/truncation.rb +1 -3
  77. data/lib/tty/text/wrapping.rb +1 -3
  78. data/lib/tty/vector.rb +3 -5
  79. data/lib/tty/version.rb +2 -2
  80. data/spec/spec_helper.rb +4 -11
  81. data/spec/tty/coercer/boolean/coerce_spec.rb +19 -16
  82. data/spec/tty/coercer/float/coerce_spec.rb +6 -4
  83. data/spec/tty/coercer/integer/coerce_spec.rb +5 -4
  84. data/spec/tty/coercer/range/coerce_spec.rb +12 -11
  85. data/spec/tty/logger/log_spec.rb +23 -0
  86. data/spec/tty/logger/new_spec.rb +14 -14
  87. data/spec/tty/logger/valid_level_spec.rb +6 -6
  88. data/spec/tty/plugins/find_spec.rb +4 -4
  89. data/spec/tty/plugins/load_spec.rb +4 -5
  90. data/spec/tty/plugins/plugin/load_spec.rb +10 -8
  91. data/spec/tty/plugins/plugin/new_spec.rb +7 -7
  92. data/spec/tty/shell/ask_spec.rb +6 -7
  93. data/spec/tty/shell/error_spec.rb +1 -2
  94. data/spec/tty/shell/print_table_spec.rb +1 -2
  95. data/spec/tty/shell/question/argument_spec.rb +1 -1
  96. data/spec/tty/shell/question/character_spec.rb +11 -3
  97. data/spec/tty/shell/question/default_spec.rb +3 -3
  98. data/spec/tty/shell/question/in_spec.rb +1 -1
  99. data/spec/tty/shell/question/initialize_spec.rb +8 -11
  100. data/spec/tty/shell/question/modifier/apply_to_spec.rb +8 -4
  101. data/spec/tty/shell/question/modifier/letter_case_spec.rb +4 -4
  102. data/spec/tty/shell/question/modifier/whitespace_spec.rb +5 -5
  103. data/spec/tty/shell/question/modify_spec.rb +1 -1
  104. data/spec/tty/shell/question/valid_spec.rb +4 -4
  105. data/spec/tty/shell/question/validate_spec.rb +4 -4
  106. data/spec/tty/shell/question/validation/coerce_spec.rb +2 -3
  107. data/spec/tty/shell/question/validation/valid_value_spec.rb +3 -3
  108. data/spec/tty/shell/reader/getc_spec.rb +16 -14
  109. data/spec/tty/shell/response/read_bool_spec.rb +1 -1
  110. data/spec/tty/shell/response/read_char_spec.rb +1 -2
  111. data/spec/tty/shell/response/read_date_spec.rb +1 -1
  112. data/spec/tty/shell/response/read_email_spec.rb +1 -1
  113. data/spec/tty/shell/response/read_multiple_spec.rb +3 -4
  114. data/spec/tty/shell/response/read_number_spec.rb +1 -2
  115. data/spec/tty/shell/response/read_range_spec.rb +2 -2
  116. data/spec/tty/shell/response/read_spec.rb +7 -7
  117. data/spec/tty/shell/response/read_string_spec.rb +2 -2
  118. data/spec/tty/shell/say_spec.rb +1 -1
  119. data/spec/tty/shell/statement/initialize_spec.rb +3 -3
  120. data/spec/tty/shell/suggest_spec.rb +1 -1
  121. data/spec/tty/shell/warn_spec.rb +1 -2
  122. data/spec/tty/support/coercion_spec.rb +10 -10
  123. data/spec/tty/support/conversion_spec.rb +9 -9
  124. data/spec/tty/support/delegatable_spec.rb +7 -5
  125. data/spec/tty/support/equatable_spec.rb +32 -34
  126. data/spec/tty/support/fixtures/classes.rb +4 -2
  127. data/spec/tty/system/editor/available_spec.rb +12 -12
  128. data/spec/tty/system/editor/build_spec.rb +8 -16
  129. data/spec/tty/system/editor/command_spec.rb +3 -2
  130. data/spec/tty/system/editor/executables_spec.rb +3 -3
  131. data/spec/tty/system/editor/invoke_spec.rb +10 -14
  132. data/spec/tty/system/editor/open_spec.rb +9 -7
  133. data/spec/tty/system/platform_spec.rb +32 -13
  134. data/spec/tty/system/which/which_spec.rb +9 -9
  135. data/spec/tty/system/which_spec.rb +4 -4
  136. data/spec/tty/table/access_spec.rb +24 -21
  137. data/spec/tty/table/add_row_spec.rb +2 -2
  138. data/spec/tty/table/border/ascii/rendering_spec.rb +13 -13
  139. data/spec/tty/table/border/new_spec.rb +5 -4
  140. data/spec/tty/table/border/null/rendering_spec.rb +12 -12
  141. data/spec/tty/table/border/options/from_spec.rb +2 -3
  142. data/spec/tty/table/border/options/new_spec.rb +4 -5
  143. data/spec/tty/table/border/unicode/rendering_spec.rb +10 -10
  144. data/spec/tty/table/border_options/new_spec.rb +20 -0
  145. data/spec/tty/table/border_options/update_spec.rb +18 -0
  146. data/spec/tty/table/column_set/extract_widths_spec.rb +1 -1
  147. data/spec/tty/table/column_set/total_width_spec.rb +2 -2
  148. data/spec/tty/table/column_set/widths_from_spec.rb +1 -2
  149. data/spec/tty/table/columns/enforce_spec.rb +2 -2
  150. data/spec/tty/table/columns/widths_spec.rb +2 -0
  151. data/spec/tty/table/data_spec.rb +3 -3
  152. data/spec/tty/table/each_spec.rb +9 -11
  153. data/spec/tty/table/each_with_index_spec.rb +8 -9
  154. data/spec/tty/table/empty_spec.rb +3 -3
  155. data/spec/tty/table/eql_spec.rb +6 -6
  156. data/spec/tty/table/field/equality_spec.rb +11 -11
  157. data/spec/tty/table/field/length_spec.rb +4 -4
  158. data/spec/tty/table/field/lines_spec.rb +3 -3
  159. data/spec/tty/table/field/new_spec.rb +7 -7
  160. data/spec/tty/table/field/width_spec.rb +6 -4
  161. data/spec/tty/table/filter_spec.rb +3 -3
  162. data/spec/tty/table/header/call_spec.rb +3 -3
  163. data/spec/tty/table/header/height_spec.rb +1 -1
  164. data/spec/tty/table/header/new_spec.rb +5 -5
  165. data/spec/tty/table/header/set_spec.rb +9 -4
  166. data/spec/tty/table/header/to_ary_spec.rb +4 -4
  167. data/spec/tty/table/header_spec.rb +3 -4
  168. data/spec/tty/table/indentation/insert_indent_spec.rb +1 -1
  169. data/spec/tty/table/initialize_spec.rb +13 -13
  170. data/spec/tty/table/operation/alignment/format_spec.rb +5 -5
  171. data/spec/tty/table/operation/alignment/new_spec.rb +4 -4
  172. data/spec/tty/table/operation/alignment_set/call_spec.rb +11 -11
  173. data/spec/tty/table/operation/alignment_set/each_spec.rb +3 -3
  174. data/spec/tty/table/operation/alignment_set/new_spec.rb +6 -6
  175. data/spec/tty/table/operation/alignment_set/to_ary_spec.rb +4 -4
  176. data/spec/tty/table/operation/escape/call_spec.rb +1 -1
  177. data/spec/tty/table/operation/filter/call_spec.rb +1 -1
  178. data/spec/tty/table/operation/truncation/call_spec.rb +1 -1
  179. data/spec/tty/table/operation/truncation/truncate_spec.rb +4 -4
  180. data/spec/tty/table/operation/wrapped/call_spec.rb +1 -1
  181. data/spec/tty/table/operation/wrapped/wrap_spec.rb +3 -3
  182. data/spec/tty/table/operations/new_spec.rb +1 -1
  183. data/spec/tty/table/options_spec.rb +8 -8
  184. data/spec/tty/table/orientation_spec.rb +15 -13
  185. data/spec/tty/table/padder/parse_spec.rb +1 -1
  186. data/spec/tty/table/padder/to_s_spec.rb +14 -0
  187. data/spec/tty/table/padding_spec.rb +1 -1
  188. data/spec/tty/table/properties_spec.rb +9 -8
  189. data/spec/tty/table/render_spec.rb +8 -5
  190. data/spec/tty/table/render_with_spec.rb +5 -4
  191. data/spec/tty/table/renderer/ascii/indentation_spec.rb +1 -1
  192. data/spec/tty/table/renderer/ascii/padding_spec.rb +1 -1
  193. data/spec/tty/table/renderer/ascii/render_spec.rb +7 -7
  194. data/spec/tty/table/renderer/ascii/resizing_spec.rb +1 -1
  195. data/spec/tty/table/renderer/ascii/separator_spec.rb +2 -2
  196. data/spec/tty/table/renderer/basic/alignment_spec.rb +5 -5
  197. data/spec/tty/table/renderer/basic/coloring_spec.rb +1 -1
  198. data/spec/tty/table/renderer/basic/extract_column_widths_spec.rb +6 -6
  199. data/spec/tty/table/renderer/basic/filter_spec.rb +4 -4
  200. data/spec/tty/table/renderer/basic/indentation_spec.rb +5 -3
  201. data/spec/tty/table/renderer/basic/multiline_content_spec.rb +10 -10
  202. data/spec/tty/table/renderer/basic/new_spec.rb +2 -2
  203. data/spec/tty/table/renderer/basic/options_spec.rb +9 -9
  204. data/spec/tty/table/renderer/basic/padding_spec.rb +1 -1
  205. data/spec/tty/table/renderer/basic/render_spec.rb +8 -8
  206. data/spec/tty/table/renderer/basic/resizing_spec.rb +1 -1
  207. data/spec/tty/table/renderer/basic/separator_spec.rb +2 -2
  208. data/spec/tty/table/renderer/basic/truncation_spec.rb +4 -4
  209. data/spec/tty/table/renderer/basic/wrapping_spec.rb +4 -4
  210. data/spec/tty/table/renderer/border_spec.rb +21 -21
  211. data/spec/tty/table/renderer/render_spec.rb +7 -7
  212. data/spec/tty/table/renderer/select_spec.rb +4 -4
  213. data/spec/tty/table/renderer/style_spec.rb +19 -19
  214. data/spec/tty/table/renderer/unicode/indentation_spec.rb +1 -1
  215. data/spec/tty/table/renderer/unicode/padding_spec.rb +1 -1
  216. data/spec/tty/table/renderer/unicode/render_spec.rb +6 -6
  217. data/spec/tty/table/renderer/unicode/separator_spec.rb +2 -2
  218. data/spec/tty/table/renderer_spec.rb +1 -1
  219. data/spec/tty/table/rotate_spec.rb +27 -27
  220. data/spec/tty/table/row/access_spec.rb +3 -3
  221. data/spec/tty/table/row/call_spec.rb +4 -4
  222. data/spec/tty/table/row/data_spec.rb +5 -5
  223. data/spec/tty/table/row/each_spec.rb +1 -1
  224. data/spec/tty/table/row/equality_spec.rb +16 -16
  225. data/spec/tty/table/row/height_spec.rb +1 -1
  226. data/spec/tty/table/row/new_spec.rb +11 -11
  227. data/spec/tty/table/row/to_ary_spec.rb +3 -3
  228. data/spec/tty/table/to_s_spec.rb +8 -8
  229. data/spec/tty/table/validatable/validate_options_spec.rb +5 -5
  230. data/spec/tty/table/validatable_spec.rb +14 -1
  231. data/spec/tty/terminal/color/code_spec.rb +3 -3
  232. data/spec/tty/terminal/color/remove_spec.rb +8 -9
  233. data/spec/tty/terminal/color/set_spec.rb +5 -6
  234. data/spec/tty/terminal/color_spec.rb +3 -5
  235. data/spec/tty/terminal/echo_spec.rb +3 -4
  236. data/spec/tty/terminal/home_spec.rb +12 -14
  237. data/spec/tty/terminal/page_spec.rb +5 -4
  238. data/spec/tty/terminal/pager/available_spec.rb +11 -11
  239. data/spec/tty/terminal/pager/basic/page_spec.rb +8 -8
  240. data/spec/tty/terminal/pager/command_spec.rb +2 -2
  241. data/spec/tty/terminal/pager/executables_spec.rb +3 -3
  242. data/spec/tty/terminal/pager/page_spec.rb +8 -10
  243. data/spec/tty/terminal/pager/system/page_spec.rb +8 -8
  244. data/spec/tty/terminal/size_spec.rb +39 -36
  245. data/spec/tty/text/distance/distance_spec.rb +13 -13
  246. data/spec/tty/text/distance/initialize_spec.rb +4 -4
  247. data/spec/tty/text/distance_spec.rb +2 -2
  248. data/spec/tty/text/truncate_spec.rb +2 -3
  249. data/spec/tty/text/truncation/initialize_spec.rb +9 -9
  250. data/spec/tty/text/truncation/truncate_spec.rb +14 -14
  251. data/spec/tty/text/wrap_spec.rb +2 -3
  252. data/spec/tty/text/wrapping/initialize_spec.rb +7 -7
  253. data/spec/tty/text/wrapping/wrap_spec.rb +11 -11
  254. data/spec/tty/tty_spec.rb +22 -0
  255. data/spec/tty/vector/new_spec.rb +7 -7
  256. data/tasks/console.rake +10 -0
  257. data/tasks/coverage.rake +11 -0
  258. data/tasks/metrics/cane.rake +2 -0
  259. data/tasks/metrics/flog.rake +2 -0
  260. data/tasks/metrics/heckle.rake +15 -0
  261. data/tasks/metrics/reek.rake +2 -0
  262. data/tasks/spec.rake +29 -0
  263. data/tty.gemspec +5 -12
  264. metadata +34 -91
  265. data/.rvmrc +0 -34
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -11,7 +11,7 @@ describe TTY::Table, '#render' do
11
11
 
12
12
  subject(:table) { object.new header, rows }
13
13
 
14
- it { should respond_to(:render) }
14
+ it { is_expected.to respond_to(:render) }
15
15
 
16
16
  context 'with block' do
17
17
  it 'allows to modify renderer in a block' do
@@ -32,7 +32,7 @@ describe TTY::Table, '#render' do
32
32
  result = table.render :ascii do |renderer|
33
33
  renderer.border.style = :red
34
34
  end
35
- result.should == <<-EOS.normalize
35
+ expect(result).to eq <<-EOS.normalize
36
36
  \e[31m+--+--+\e[0m
37
37
  \e[31m|\e[0mh1\e[31m|\e[0mh2\e[31m|\e[0m
38
38
  \e[31m+--+--+\e[0m
@@ -45,13 +45,16 @@ describe TTY::Table, '#render' do
45
45
 
46
46
  context 'with params' do
47
47
  it 'sets params without renderer' do
48
- TTY::Table::Renderer.should_receive(:render).with(table, {renderer: :basic})
48
+ allow(TTY::Table::Renderer).to receive(:render)
49
49
  table.render(:basic)
50
+ expect(TTY::Table::Renderer).to have_received(:render).
51
+ with(table, {renderer: :basic})
50
52
  end
51
53
 
52
54
  it 'sets params with renderer' do
53
- TTY::Table::Renderer.should_receive(:render).with(table, {})
55
+ allow(TTY::Table::Renderer).to receive(:render)
54
56
  table.render
57
+ expect(TTY::Table::Renderer).to have_received(:render).with(table, {})
55
58
  end
56
59
  end
57
60
  end
@@ -14,7 +14,8 @@ describe TTY::Table, '#render_with' do
14
14
 
15
15
  it "doesn't implement def_border" do
16
16
  klass = Class.new(TTY::Table::Border)
17
- expect { table.render_with klass }.to raise_error(TTY::NoImplementationError)
17
+ expect { table.render_with klass }.
18
+ to raise_error(TTY::NoImplementationError)
18
19
  end
19
20
  end
20
21
 
@@ -42,7 +43,7 @@ describe TTY::Table, '#render_with' do
42
43
  }
43
44
 
44
45
  it 'displays custom border' do
45
- table.render_with(MyBorder).should == <<-EOS.normalize
46
+ expect(table.render_with(MyBorder)).to eq <<-EOS.normalize
46
47
  *==*==*==*
47
48
  $h1$h2$h3$
48
49
  *==*==*==*
@@ -69,7 +70,7 @@ describe TTY::Table, '#render_with' do
69
70
  }
70
71
 
71
72
  it 'displays border' do
72
- table.render_with(MyBorder).should == <<-EOS.normalize
73
+ expect(table.render_with(MyBorder)).to eq <<-EOS.normalize
73
74
  $h1$h2$h3$
74
75
  $a1$a2$a3$
75
76
  $b1$b2$b3$
@@ -92,7 +93,7 @@ describe TTY::Table, '#render_with' do
92
93
  result = table.render_with MyBorder do |renderer|
93
94
  renderer.border.style = :red
94
95
  end
95
- result.should == <<-EOS.normalize
96
+ expect(result).to eq <<-EOS.normalize
96
97
  \e[31m|\e[0mh1\e[31m\e[0mh2\e[31m\e[0mh3\e[31m|\e[0m
97
98
  \e[31m|\e[0ma1\e[31m\e[0ma2\e[31m\e[0ma3\e[31m|\e[0m
98
99
  \e[31m|\e[0mb1\e[31m\e[0mb2\e[31m\e[0mb3\e[31m|\e[0m
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -7,13 +7,13 @@ describe TTY::Table::Renderer::ASCII, '#render' do
7
7
  let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
8
8
  let(:table) { TTY::Table.new header, rows }
9
9
 
10
- subject { described_class.new(table) }
10
+ subject(:renderer) { described_class.new(table) }
11
11
 
12
12
  context 'only rows' do
13
13
  let(:table) { TTY::Table.new rows }
14
14
 
15
15
  it 'display table rows' do
16
- subject.render.should == <<-EOS.normalize
16
+ expect(renderer.render).to eq <<-EOS.normalize
17
17
  +--+--+--+
18
18
  |a1|a2|a3|
19
19
  |b1|b2|b3|
@@ -24,7 +24,7 @@ describe TTY::Table::Renderer::ASCII, '#render' do
24
24
 
25
25
  context 'with header' do
26
26
  it 'displays table with header' do
27
- subject.render.should == <<-EOS.normalize
27
+ expect(renderer.render).to eq <<-EOS.normalize
28
28
  +--+--+--+
29
29
  |h1|h2|h3|
30
30
  +--+--+--+
@@ -37,10 +37,10 @@ describe TTY::Table::Renderer::ASCII, '#render' do
37
37
 
38
38
  context 'with short header' do
39
39
  let(:header) { ['h1', 'h2'] }
40
- let(:rows) { [['aaa1', 'a2'], ['b1', 'bb1']] }
40
+ let(:rows) { [['aaa1', 'a2'], ['b1', 'bb1']] }
41
41
 
42
42
  it 'displays table according to widths' do
43
- subject.render.should == <<-EOS.normalize
43
+ expect(renderer.render).to eq <<-EOS.normalize
44
44
  +----+---+
45
45
  |h1 |h2 |
46
46
  +----+---+
@@ -55,7 +55,7 @@ describe TTY::Table::Renderer::ASCII, '#render' do
55
55
  let(:header) { ['header1', 'header2', 'header3'] }
56
56
 
57
57
  it 'header greater than row sizes' do
58
- subject.render.should == <<-EOS.normalize
58
+ expect(renderer.render).to eq <<-EOS.normalize
59
59
  +-------+-------+-------+
60
60
  |header1|header2|header3|
61
61
  +-------+-------+-------+
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -14,7 +14,7 @@ describe TTY::Table::Renderer::ASCII, 'with separator' do
14
14
  context 'when ascii' do
15
15
  it "renders each row" do
16
16
  renderer.border.separator= :each_row
17
- renderer.render.should == <<-EOS.normalize
17
+ expect(renderer.render).to eq <<-EOS.normalize
18
18
  +--+--+--+
19
19
  |h1|h2|h3|
20
20
  +--+--+--+
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -57,13 +57,13 @@ describe TTY::Table::Renderer::Basic, 'alignment' do
57
57
  let(:table) {
58
58
  TTY::Table.new header: header do |t|
59
59
  t << ['a1', 'a2', 'a3']
60
- t << ['b1', {:value => 'b2', :align => :right}, 'b3']
61
- t << ['c1', 'c2', {:value => 'c3', :align => :center}]
60
+ t << ['b1', {value: 'b2', align: :right}, 'b3']
61
+ t << ['c1', 'c2', {value: 'c3', align: :center}]
62
62
  end
63
63
  }
64
64
 
65
65
  it "takes individual fields over global aligns" do
66
- renderer.render.should == <<-EOS.normalize
66
+ expect(renderer.render).to eq <<-EOS.normalize
67
67
  header1 header2 header3
68
68
  a1 a2 a3
69
69
  b1 b2 b3
@@ -78,7 +78,7 @@ describe TTY::Table::Renderer::Basic, 'alignment' do
78
78
  let(:options) { { renderer: :basic } }
79
79
 
80
80
  it "aligns headres" do
81
- renderer.render.should == <<-EOS.normalize
81
+ expect(renderer.render).to eq <<-EOS.normalize
82
82
  h1 h2 h3
83
83
  aaaaa1 a2 aaa3
84
84
  b1 bbbb2 bb3
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,19 +1,19 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe TTY::Table::Renderer::Basic, '#extract_column_widths' do
5
+ describe TTY::Table::Renderer::Basic, '#column_widths' do
6
6
  let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
7
- let(:object) { described_class.new(table) }
7
+ let(:renderer) { described_class.new(table) }
8
8
 
9
- subject { object.render }
9
+ subject { renderer.render }
10
10
 
11
11
  context 'with rows only' do
12
12
  let(:rows) { [['a1a', 'a2a2a2'], ['b1b1b', 'b2b2']] }
13
13
  let(:table) { TTY::Table.new rows }
14
14
 
15
15
  it 'calculates column widths' do
16
- object.column_widths.should == [5,6]
16
+ expect(renderer.column_widths).to eq([5,6])
17
17
  end
18
18
  end
19
19
 
@@ -22,7 +22,7 @@ describe TTY::Table::Renderer::Basic, '#extract_column_widths' do
22
22
  let(:table) { TTY::Table.new header, rows }
23
23
 
24
24
  it 'calcualtes column widths with header' do
25
- object.column_widths.should == [7,5,2]
25
+ expect(renderer.column_widths).to eq([7,5,2])
26
26
  end
27
27
  end
28
28
  end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -17,7 +17,7 @@ describe TTY::Table::Renderer::Basic, 'filter' do
17
17
  }
18
18
 
19
19
  it 'filters only rows' do
20
- subject.render.should == <<-EOS.normalize
20
+ expect(renderer.render).to eq <<-EOS.normalize
21
21
  h1 h2 h3
22
22
  a1 A2 a3
23
23
  b1 B2 b3
@@ -29,7 +29,7 @@ describe TTY::Table::Renderer::Basic, 'filter' do
29
29
  let(:filter) { Proc.new { |val, row, col| col == 1 ? val.capitalize : val }}
30
30
 
31
31
  it 'filters only rows' do
32
- subject.render.should == <<-EOS.normalize
32
+ expect(renderer.render).to eq <<-EOS.normalize
33
33
  h1 H2 h3
34
34
  a1 A2 a3
35
35
  b1 B2 b3
@@ -44,7 +44,7 @@ describe TTY::Table::Renderer::Basic, 'filter' do
44
44
  let(:filter) { Proc.new { |val, row, col| col == 1 ? val.capitalize : val } }
45
45
 
46
46
  it 'filters only rows' do
47
- subject.render.should == <<-EOS.normalize
47
+ expect(renderer.render).to eq <<-EOS.normalize
48
48
  a1 A2 a3
49
49
  b1 B2 b3
50
50
  EOS
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -6,13 +6,12 @@ describe TTY::Table::Renderer::Basic, 'indentation' do
6
6
  let(:header) { ['h1', 'h2', 'h3'] }
7
7
  let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
8
8
  let(:table) { TTY::Table.new(header, rows) }
9
- let(:indent) { 2 }
10
9
  let(:options) { {indent: indent } }
11
10
 
12
11
  subject(:renderer) { described_class.new(table, options)}
13
12
 
14
13
  context 'when default' do
15
- let(:options) { { } }
14
+ let(:indent) { 0 }
16
15
 
17
16
  it 'indents by value' do
18
17
  expect(renderer.render).to eql <<-EOS.chomp
@@ -24,6 +23,8 @@ b1 b2 b3
24
23
  end
25
24
 
26
25
  context 'when custom' do
26
+ let(:indent) { 2 }
27
+
27
28
  it 'indents by value' do
28
29
  expect(renderer.render).to eql <<-EOS.chomp
29
30
  h1 h2 h3
@@ -34,6 +35,7 @@ b1 b2 b3
34
35
  end
35
36
 
36
37
  context 'when changed' do
38
+ let(:indent) { 2 }
37
39
  let(:header) { ['h1', 'h2'] }
38
40
  let(:rows) { [['a1', 'a2']] }
39
41
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -14,7 +14,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
14
14
 
15
15
  context 'without border' do
16
16
  it "renders single line" do
17
- table.render(multiline: false).should == <<-EOS.normalize
17
+ expect(table.render(multiline: false)).to eq <<-EOS.normalize
18
18
  First 1
19
19
  Multiline\\nContent 2
20
20
  Third 3
@@ -24,7 +24,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
24
24
 
25
25
  context 'with column widths' do
26
26
  it "renders single line" do
27
- table.render(multiline: false, column_widths: [8,1]).should == <<-EOS.normalize
27
+ expect(table.render(multiline: false, column_widths: [8,1])).to eq <<-EOS.normalize
28
28
  First 1
29
29
  Multili… 2
30
30
  Third 3
@@ -34,7 +34,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
34
34
 
35
35
  context 'with border' do
36
36
  it "renders single line" do
37
- table.render(:ascii, multiline: false).should == <<-EOS.normalize
37
+ expect(table.render(:ascii, multiline: false)).to eq <<-EOS.normalize
38
38
  +------------------+-+
39
39
  |First |1|
40
40
  |Multiline\\nContent|2|
@@ -48,7 +48,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
48
48
  let(:header) { ["Multi\nHeader", "header2"] }
49
49
 
50
50
  it "renders header" do
51
- table.render(:ascii, multiline: false).should == <<-EOS.normalize
51
+ expect(table.render(:ascii, multiline: false)).to eq <<-EOS.normalize
52
52
  +------------------+-------+
53
53
  |Multi\\nHeader |header2|
54
54
  +------------------+-------+
@@ -66,7 +66,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
66
66
 
67
67
  context 'without border' do
68
68
  it "renders every line" do
69
- table.render(multiline: true).should == <<-EOS.normalize
69
+ expect(table.render(multiline: true)).to eq <<-EOS.normalize
70
70
  First 1
71
71
  Multi 2
72
72
  Line
@@ -78,7 +78,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
78
78
 
79
79
  context 'with column widths' do
80
80
  it "renders multiline" do
81
- table.render(multiline: true, column_widths: [8,1]).should == <<-EOS.normalize
81
+ expect(table.render(multiline: true, column_widths: [8,1])).to eq <<-EOS.normalize
82
82
  First 1
83
83
  Multi 2
84
84
  Line
@@ -88,7 +88,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
88
88
  end
89
89
 
90
90
  it 'wraps multi line' do
91
- table.render(multiline: true, column_widths: [5,1]).should == <<-EOS.normalize
91
+ expect(table.render(multiline: true, column_widths: [5,1])).to eq <<-EOS.normalize
92
92
  First 1
93
93
  Multi 2
94
94
  Line
@@ -101,7 +101,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
101
101
 
102
102
  context 'with border' do
103
103
  it "renders every line" do
104
- table.render(:ascii, multiline: true).should == <<-EOS.normalize
104
+ expect(table.render(:ascii, multiline: true)).to eq <<-EOS.normalize
105
105
  +-------+-+
106
106
  |First |1|
107
107
  |Multi |2|
@@ -117,7 +117,7 @@ describe TTY::Table::Renderer::Basic, 'with multiline content' do
117
117
  let(:header) { ["Multi\nHeader", "header2"] }
118
118
 
119
119
  it "renders header" do
120
- table.render(:ascii, multiline: true).should == <<-EOS.normalize
120
+ expect(table.render(:ascii, multiline: true)).to eq <<-EOS.normalize
121
121
  +-------+-------+
122
122
  |Multi |header2|
123
123
  |Header | |
@@ -1,8 +1,8 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe TTY::Table::Renderer::Basic do
5
+ describe TTY::Table::Renderer::Basic, '.new' do
6
6
  let(:header) { ['h1'] }
7
7
  let(:rows) { [['a1']] }
8
8
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -16,33 +16,33 @@ describe TTY::Table::Renderer::Basic, 'options' do
16
16
  }
17
17
  }
18
18
 
19
- subject { object.new table, options }
19
+ subject(:renderer) { object.new table, options }
20
20
 
21
- its(:border) { should be_kind_of TTY::Table::BorderOptions }
21
+ it { expect(renderer.border).to be_kind_of(TTY::Table::BorderOptions) }
22
22
 
23
- its(:column_widths) { should eql([2,2]) }
23
+ it { expect(renderer.column_widths).to eql([2,2]) }
24
24
 
25
- its(:column_aligns) { should eql(aligns) }
25
+ it { expect(renderer.column_aligns).to eql(aligns) }
26
26
 
27
- it { subject.column_aligns.to_a.should be_empty }
27
+ it { expect(renderer.column_aligns.to_a).to be_empty }
28
28
 
29
29
  context '#column_widths' do
30
30
  let(:widths) { [10, 10] }
31
31
 
32
- its(:column_widths) { should == widths }
32
+ it { expect(renderer.column_widths).to eq(widths) }
33
33
  end
34
34
 
35
35
  context '#column_widths empty' do
36
36
  let(:widths) { [] }
37
37
 
38
- it { expect { subject.column_widths }.to raise_error(TTY::InvalidArgument) }
38
+ it { expect { renderer.column_widths }.to raise_error(TTY::InvalidArgument) }
39
39
  end
40
40
 
41
41
  context '#column_aligns' do
42
42
  let(:aligns) { [:center, :center] }
43
43
 
44
44
  it 'unwraps original array' do
45
- subject.column_aligns.to_a.should == aligns
45
+ expect(renderer.column_aligns.to_a).to eq(aligns)
46
46
  end
47
47
  end
48
48
  end