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
 
@@ -18,7 +18,7 @@ describe TTY::Table, '#<<' do
18
18
  end
19
19
 
20
20
  context 'with complex values' do
21
- let(:row) { [1, { :value => 2 }, 3] }
21
+ let(:row) { [1, { value: 2 }, 3] }
22
22
 
23
23
  it 'extracts values correctly' do
24
24
  table << row
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -8,22 +8,22 @@ describe TTY::Table::Border::ASCII, '#rendering' do
8
8
 
9
9
  context 'with empty row' do
10
10
  let(:row) { TTY::Table::Row.new([]) }
11
- let(:column_widths) { []}
11
+ let(:column_widths) { [] }
12
12
 
13
13
  it 'draws top line' do
14
- subject.top_line.should == "++"
14
+ expect(subject.top_line).to eq("++")
15
15
  end
16
16
 
17
17
  it 'draws middle line' do
18
- subject.separator.should == "++"
18
+ expect(subject.separator).to eq("++")
19
19
  end
20
20
 
21
21
  it 'draw bottom line' do
22
- subject.bottom_line.should == "++"
22
+ expect(subject.bottom_line).to eq("++")
23
23
  end
24
24
 
25
25
  it 'draws row line' do
26
- subject.row_line(row).should == "||"
26
+ expect(subject.row_line(row)).to eq("||")
27
27
  end
28
28
  end
29
29
 
@@ -32,19 +32,19 @@ describe TTY::Table::Border::ASCII, '#rendering' do
32
32
  let(:row) { TTY::Table::Row.new(['a1', 'a2', 'a3']) }
33
33
 
34
34
  it 'draws top line' do
35
- subject.top_line.should == "+--+--+--+"
35
+ expect(subject.top_line).to eq("+--+--+--+")
36
36
  end
37
37
 
38
38
  it 'draw middle line' do
39
- subject.separator.should == "+--+--+--+"
39
+ expect(subject.separator).to eq("+--+--+--+")
40
40
  end
41
41
 
42
42
  it 'draw bottom line' do
43
- subject.bottom_line.should == "+--+--+--+"
43
+ expect(subject.bottom_line).to eq("+--+--+--+")
44
44
  end
45
45
 
46
46
  it 'draws row line' do
47
- subject.row_line(row).should == "|a1|a2|a3|"
47
+ expect(subject.row_line(row)).to eq("|a1|a2|a3|")
48
48
  end
49
49
  end
50
50
 
@@ -55,7 +55,7 @@ describe TTY::Table::Border::ASCII, '#rendering' do
55
55
  let(:row) { TTY::Table::Row.new(["a1\nb1\nc1", 'a2', 'a3']) }
56
56
 
57
57
  it 'draws row line' do
58
- subject.row_line(row).should == <<-EOS.normalize
58
+ expect(subject.row_line(row)).to eq <<-EOS.normalize
59
59
  |a1|a2|a3|
60
60
  |b1| | |
61
61
  |c1| | |
@@ -67,7 +67,7 @@ describe TTY::Table::Border::ASCII, '#rendering' do
67
67
  let(:row) { TTY::Table::Row.new(["a1\n\n", "\na2\n", "\n\na3"]) }
68
68
 
69
69
  it 'draws row line' do
70
- subject.row_line(row).should == <<-EOS.normalize
70
+ expect(subject.row_line(row)).to eq <<-EOS.normalize
71
71
  |a1| | |
72
72
  | |a2| |
73
73
  | | |a3|
@@ -79,7 +79,7 @@ describe TTY::Table::Border::ASCII, '#rendering' do
79
79
  let(:row) { TTY::Table::Row.new(["\na1\n", "\na2\n", "\na3\n"]) }
80
80
 
81
81
  it 'draws row line' do
82
- subject.row_line(row).should == <<-EOS.normalize
82
+ expect(subject.row_line(row)).to eq <<-EOS.normalize
83
83
  | | | |
84
84
  |a1|a2|a3|
85
85
  | | | |
@@ -1,15 +1,16 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  describe TTY::Table::Border, '#new' do
6
6
  let(:row) { [] }
7
+
7
8
  subject(:instance) { klass.new row }
8
9
 
9
10
  context 'when abstract' do
10
11
  let(:klass) { described_class }
11
12
 
12
- specify { expect { instance }.to raise_error(NotImplementedError) }
13
+ it { expect { instance }.to raise_error(NotImplementedError) }
13
14
  end
14
15
 
15
16
  context 'when concrete' do
@@ -19,8 +20,8 @@ describe TTY::Table::Border, '#new' do
19
20
  end
20
21
  }
21
22
 
22
- specify { expect { instance }.to_not raise_error() }
23
+ it { expect { instance }.to_not raise_error() }
23
24
 
24
- it { should be_instance_of klass }
25
+ it { is_expected.to be_instance_of klass }
25
26
  end
26
27
  end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -12,19 +12,19 @@ describe TTY::Table::Border::Null, '#rendering' do
12
12
  let(:column_widths) { [] }
13
13
 
14
14
  it 'draws top line' do
15
- subject.top_line.should be_nil
15
+ expect(subject.top_line).to be_nil
16
16
  end
17
17
 
18
18
  it 'draws middle line' do
19
- subject.separator.should be_nil
19
+ expect(subject.separator).to be_nil
20
20
  end
21
21
 
22
22
  it 'draw bottom line' do
23
- subject.bottom_line.should be_nil
23
+ expect(subject.bottom_line).to be_nil
24
24
  end
25
25
 
26
26
  it 'draws row line' do
27
- subject.row_line(row).should == ''
27
+ expect(subject.row_line(row)).to eq('')
28
28
  end
29
29
  end
30
30
 
@@ -33,19 +33,19 @@ describe TTY::Table::Border::Null, '#rendering' do
33
33
  let(:column_widths) { [2,2,2] }
34
34
 
35
35
  it 'draws top line' do
36
- subject.top_line.should be_nil
36
+ expect(subject.top_line).to be_nil
37
37
  end
38
38
 
39
39
  it 'draw middle line' do
40
- subject.separator.should be_nil
40
+ expect(subject.separator).to be_nil
41
41
  end
42
42
 
43
43
  it 'draw bottom line' do
44
- subject.bottom_line.should be_nil
44
+ expect(subject.bottom_line).to be_nil
45
45
  end
46
46
 
47
47
  it 'draws row line' do
48
- subject.row_line(row).should == 'a1 a2 a3'
48
+ expect(subject.row_line(row)).to eq('a1 a2 a3')
49
49
  end
50
50
  end
51
51
 
@@ -56,7 +56,7 @@ describe TTY::Table::Border::Null, '#rendering' do
56
56
  let(:row) { TTY::Table::Row.new(["a1\nb1\nc1", 'a2', 'a3']) }
57
57
 
58
58
  it 'draws row line' do
59
- subject.row_line(row).should == <<-EOS.normalize
59
+ expect(subject.row_line(row)).to eq <<-EOS.normalize
60
60
  a1 a2 a3
61
61
  b1
62
62
  c1
@@ -68,7 +68,7 @@ describe TTY::Table::Border::Null, '#rendering' do
68
68
  let(:row) { TTY::Table::Row.new(["a1\n\n", "\na2\n", "\n\na3"]) }
69
69
 
70
70
  it 'draws row line' do
71
- subject.row_line(row).should == <<-EOS.chomp
71
+ expect(subject.row_line(row)).to eq <<-EOS.chomp
72
72
  a1
73
73
  a2
74
74
  a3
@@ -80,7 +80,7 @@ a1
80
80
  let(:row) { TTY::Table::Row.new(["\na1\n", "\na2\n", "\na3\n"]) }
81
81
 
82
82
  it 'draws row line' do
83
- subject.row_line(row).should == <<-EOS.chomp
83
+ expect(subject.row_line(row)).to eq <<-EOS.chomp
84
84
 
85
85
  a1 a2 a3
86
86
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -15,7 +15,7 @@ describe TTY::Table::BorderOptions, '#from' do
15
15
  end
16
16
 
17
17
  context 'when hash' do
18
- let(:object) { { :style => :red, :separator => :none } }
18
+ let(:object) { { style: :red, separator: :none } }
19
19
 
20
20
  it { expect(options).to be_kind_of(described_class) }
21
21
 
@@ -35,5 +35,4 @@ describe TTY::Table::BorderOptions, '#from' do
35
35
 
36
36
  it { expect(options.style).to eql :blue }
37
37
  end
38
-
39
38
  end # from
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -6,10 +6,9 @@ describe TTY::Table::BorderOptions, '.new' do
6
6
 
7
7
  subject(:options) { described_class.new }
8
8
 
9
- its(:characters) { should eql({}) }
9
+ it { expect(subject.characters).to eql({}) }
10
10
 
11
- its(:separator) { should be_nil }
12
-
13
- its(:style) { should be_nil }
11
+ it { expect(subject.separator).to be_nil }
14
12
 
13
+ it { expect(subject.style).to be_nil }
15
14
  end # new
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -11,19 +11,19 @@ describe TTY::Table::Border::Unicode, '#rendering' do
11
11
  let(:column_widths) { [] }
12
12
 
13
13
  it 'draws top line' do
14
- subject.top_line.should == "┌┐"
14
+ expect(subject.top_line).to eq("┌┐")
15
15
  end
16
16
 
17
17
  it 'draws middle line' do
18
- subject.separator.should == "├┤"
18
+ expect(subject.separator).to eq("├┤")
19
19
  end
20
20
 
21
21
  it 'draw bottom line' do
22
- subject.bottom_line.should == "└┘"
22
+ expect(subject.bottom_line).to eq("└┘")
23
23
  end
24
24
 
25
25
  it 'draws row line' do
26
- subject.row_line(row).should == "││"
26
+ expect(subject.row_line(row)).to eq("││")
27
27
  end
28
28
  end
29
29
 
@@ -32,19 +32,19 @@ describe TTY::Table::Border::Unicode, '#rendering' do
32
32
  let(:column_widths) { [2,2,2] }
33
33
 
34
34
  it 'draws top line' do
35
- subject.top_line.should == "┌──┬──┬──┐"
35
+ expect(subject.top_line).to eq("┌──┬──┬──┐")
36
36
  end
37
37
 
38
38
  it 'draw middle line' do
39
- subject.separator.should == "├──┼──┼──┤"
39
+ expect(subject.separator).to eq("├──┼──┼──┤")
40
40
  end
41
41
 
42
42
  it 'draw bottom line' do
43
- subject.bottom_line.should == "└──┴──┴──┘"
43
+ expect(subject.bottom_line).to eq("└──┴──┴──┘")
44
44
  end
45
45
 
46
46
  it 'draws row line' do
47
- subject.row_line(row).should == "│a1│a2│a3│"
47
+ expect(subject.row_line(row)).to eq("│a1│a2│a3│")
48
48
  end
49
49
  end
50
50
 
@@ -53,7 +53,7 @@ describe TTY::Table::Border::Unicode, '#rendering' do
53
53
  let(:column_widths) { [2,2,2] }
54
54
 
55
55
  it 'draws row line' do
56
- subject.row_line(row).should == <<-EOS.normalize
56
+ expect(subject.row_line(row)).to eq <<-EOS.normalize
57
57
  │a1│a2│a3│
58
58
  │b1│ │ │
59
59
  │c1│ │ │
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe TTY::Table::BorderOptions do
6
+
7
+ subject { described_class.new(options) }
8
+
9
+ context 'with characters' do
10
+ let(:options) { {top: '**'} }
11
+
12
+ it { expect(subject.characters).to eq({top:'**'}) }
13
+ end
14
+
15
+ context 'without characters' do
16
+ let(:options) { nil }
17
+
18
+ it { expect(subject.characters).to eq({}) }
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe TTY::Table::BorderOptions, '.update' do
6
+
7
+ let(:object) { described_class.new }
8
+
9
+ let(:params) { {characters: {top: '*'}, separator: '|', style: :red} }
10
+
11
+ subject { object.update(params) }
12
+
13
+ it 'sets properties from hash object' do
14
+ expect(subject.characters).to eq({top: '*'})
15
+ expect(subject.separator).to eq('|')
16
+ expect(subject.style).to eq(:red)
17
+ end
18
+ end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -1,10 +1,10 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  describe TTY::Table::ColumnSet, '#extract_widths!' do
6
6
  let(:header) { ['h1', 'h2', 'h3'] }
7
- let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
7
+ let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
8
8
  let(:table) { TTY::Table.new header, rows }
9
9
 
10
10
  subject { described_class.new table }
@@ -1,5 +1,4 @@
1
-
2
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
3
2
 
4
3
  require 'spec_helper'
5
4
 
@@ -45,7 +45,7 @@ describe TTY::Table::Columns, '#enforce' do
45
45
  let(:options) { { width: 8, resize: false }}
46
46
 
47
47
  it 'changes table orientation to vertical' do
48
- TTY.shell.should_receive(:warn)
48
+ allow(TTY.shell).to receive(:warn)
49
49
  expect(renderer.column_widths).to eql([2,2,2,2])
50
50
  expect(renderer.table.orientation.name).to eql(:horizontal)
51
51
  subject
@@ -59,7 +59,7 @@ describe TTY::Table::Columns, '#enforce' do
59
59
  let(:renderer) { TTY::Table::Renderer::Basic.new(table, options) }
60
60
  let(:options) { { width: 15 }}
61
61
 
62
- before { TTY.shell.stub(:warn) }
62
+ before { allow(TTY.shell).to receive(:warn) }
63
63
 
64
64
  it "doesn't change original widths" do
65
65
  expect(renderer.column_widths).to eq([2,2,2,2])
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe TTY::Table::Columns, 'column widths' do
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -6,9 +6,9 @@ describe TTY::Table, '#data' do
6
6
  let(:header) { ['h1', 'h2', 'h3'] }
7
7
  let(:rows) { [['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']] }
8
8
 
9
- subject { described_class.new header, rows }
9
+ subject(:table) { described_class.new header, rows }
10
10
 
11
11
  it 'gets all table data' do
12
- expect(subject.data).to eql([header] + rows)
12
+ expect(table.data).to eql([header] + rows)
13
13
  end
14
14
  end
@@ -1,27 +1,27 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  describe TTY::Table, '#each' do
6
- let(:object) { described_class.new header, rows }
6
+ let(:table) { described_class.new header, rows }
7
7
  let(:header) { ['Header1'] }
8
8
  let(:rows) { [['a1'], ['b1']] }
9
9
  let(:field) { TTY::Table::Field }
10
10
 
11
11
  context 'with no block' do
12
- subject { object.each }
12
+ subject { table.each }
13
13
 
14
- it { should be_instance_of(to_enum.class) }
14
+ it { is_expected.to be_instance_of(to_enum.class) }
15
15
 
16
16
  it 'yields the expected values' do
17
- subject.to_a.should eql(object.to_a)
17
+ expect(subject.to_a).to eql(table.to_a)
18
18
  end
19
19
  end
20
20
 
21
21
  context 'with block' do
22
22
  let(:yields) { [] }
23
23
 
24
- subject { object.each { |row| yields << row } }
24
+ subject { table.each { |row| yields << row } }
25
25
 
26
26
  it 'yields header and rows' do
27
27
  subject
@@ -31,13 +31,11 @@ describe TTY::Table, '#each' do
31
31
 
32
32
  it 'yields header and rows with expected attributes' do
33
33
  subject
34
- expect(yields).to eql(object.data)
34
+ expect(yields).to eql(table.data)
35
35
  end
36
36
 
37
- it 'yields each row' do
38
- expect { subject }.to change { yields }.
39
- from( [] ).
40
- to( object.data )
37
+ xit 'yields each row' do
38
+ expect { subject }.to change { yields }.from([]).to(table.data)
41
39
  end
42
40
  end
43
41
  end