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,8 +1,8 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe TTY::Logger, '#valid_level' do
5
+ describe TTY::Logger, '#valid_level?' do
6
6
  let(:object) { described_class }
7
7
 
8
8
  subject { object.valid_level?(level) }
@@ -10,24 +10,24 @@ describe TTY::Logger, '#valid_level' do
10
10
  context 'when level is nil' do
11
11
  let(:level) { nil }
12
12
 
13
- it { should be_false }
13
+ it { is_expected.to eq(false) }
14
14
  end
15
15
 
16
16
  context 'when level is non numeric' do
17
17
  let(:level) { 'a' }
18
18
 
19
- it { should be_false }
19
+ it { is_expected.to eq(false) }
20
20
  end
21
21
 
22
22
  context 'when level is not a valid number' do
23
23
  let(:level) { -1 }
24
24
 
25
- it { should be_false }
25
+ it { is_expected.to eq(false) }
26
26
  end
27
27
 
28
28
  context 'when level is valid number' do
29
29
  let(:level) { 0 }
30
30
 
31
- it { should be_true }
31
+ it { is_expected.to eq(true) }
32
32
  end
33
33
  end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -9,15 +9,15 @@ describe TTY::Plugins, '#find' do
9
9
  let(:gems) { [gem, tty_gem] }
10
10
 
11
11
  before {
12
- Gem.stub(:refresh)
13
- Gem::Specification.stub(:each).and_yield(tty_gem).and_yield(gem)
12
+ allow(Gem).to receive(:refresh)
13
+ allow(Gem::Specification).to receive(:each).and_yield(tty_gem).and_yield(gem)
14
14
  }
15
15
 
16
16
  subject { object.new }
17
17
 
18
18
  it 'inserts the tty gem only' do
19
19
  found = subject.find
20
- expect(found).to have(1).item
20
+ expect(found.size).to eq(1)
21
21
  expect(found.first.gem).to eql(tty_gem)
22
22
  end
23
23
 
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -9,12 +9,11 @@ describe TTY::Plugins, '#load' do
9
9
 
10
10
  subject { object.new }
11
11
 
12
- before {
13
- subject.stub(:plugins).and_return(plugins)
14
- }
12
+ before { allow(subject).to receive(:plugins).and_return(plugins) }
15
13
 
16
14
  it "activates all plugins" do
17
- plugin.should_receive(:load!).twice()
15
+ allow(plugin).to receive(:load!)
18
16
  subject.load
17
+ expect(plugin).to have_received(:load!).twice()
19
18
  end
20
19
  end
@@ -1,30 +1,32 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  describe TTY::Plugin, '#load!' do
6
- let(:gem) { Gem::Specification.new('tty-console', '3.1.3')}
7
- let(:name) { 'console'}
6
+ let(:gem) { Gem::Specification.new('tty-console', '3.1.3')}
7
+ let(:name) { 'console'}
8
8
  let(:input) { StringIO.new }
9
9
  let(:output) { StringIO.new }
10
10
 
11
- subject { described_class.new(name, gem) }
11
+ subject(:plugin) { described_class.new(name, gem) }
12
12
 
13
13
  context 'when gem unsuccessfully loaded' do
14
- before { Kernel.stub(:require) { raise LoadError } }
14
+ before { allow(Kernel).to receive(:require) { raise LoadError } }
15
15
 
16
16
  it 'fails to load the gem' do
17
- TTY.shell.should_receive(:error).with(/Unable to load plugin tty-console./)
17
+ allow(TTY.shell).to receive(:error)
18
18
  subject.load!
19
+ expect(TTY.shell).to have_received(:error).with(/Unable to load plugin tty-console./)
19
20
  end
20
21
  end
21
22
 
22
23
  context 'when gem unsuccessfully required' do
23
- before { Kernel.stub(:require) { raise StandardError } }
24
+ before { allow(Kernel).to receive(:require) { raise StandardError } }
24
25
 
25
26
  it 'fails to require the gem' do
26
- TTY.shell.should_receive(:error).with(/Unable to load plugin tty-console./)
27
+ allow(TTY.shell).to receive(:error)
27
28
  subject.load!
29
+ expect(TTY.shell).to have_received(:error).with(/Unable to load plugin tty-console./)
28
30
  end
29
31
  end
30
32
  end
@@ -1,18 +1,18 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
5
  describe TTY::Plugin, '#new' do
6
- let(:gem) { Gem::Specification.new('tty-console', '3.1.3')}
6
+ let(:gem) { Gem::Specification.new('tty-console', '3.1.3')}
7
7
  let(:name) { 'console'}
8
8
 
9
- subject { described_class.new(name, gem) }
9
+ subject(:plugin) { described_class.new(name, gem) }
10
10
 
11
- its(:name) { should == name }
11
+ it { expect(plugin.name).to eq(name) }
12
12
 
13
- its(:gem) { should == gem }
13
+ it { expect(plugin.gem).to eq(gem) }
14
14
 
15
- its(:enabled) { should be_false }
15
+ it { expect(plugin.enabled).to eq(false) }
16
16
 
17
- its(:gem_name) { should == "tty-#{name}" }
17
+ it { expect(plugin.gem_name).to eq("tty-#{name}") }
18
18
  end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -33,7 +33,7 @@ describe TTY::Shell, '#ask' do
33
33
  it "asks a question with '>'" do
34
34
  input << ''
35
35
  input.rewind
36
- q = shell.ask "Are you Polish?"
36
+ shell.ask "Are you Polish?"
37
37
  expect(output.string).to eql " > Are you Polish?\n"
38
38
  end
39
39
  end
@@ -51,13 +51,13 @@ describe TTY::Shell, '#ask' do
51
51
  it 'agrees' do
52
52
  input << 'yes'
53
53
  input.rewind
54
- expect(shell.yes?("Are you a human?")).to be_true
54
+ expect(shell.yes?("Are you a human?")).to eq(true)
55
55
  end
56
56
 
57
57
  it 'disagrees' do
58
58
  input << 'no'
59
59
  input.rewind
60
- expect(shell.yes?("Are you a human?")).to be_false
60
+ expect(shell.yes?("Are you a human?")).to eq(false)
61
61
  end
62
62
  end
63
63
 
@@ -65,14 +65,13 @@ describe TTY::Shell, '#ask' do
65
65
  it 'agrees' do
66
66
  input << 'no'
67
67
  input.rewind
68
- expect(shell.no?("Are you a human?")).to be_true
68
+ expect(shell.no?("Are you a human?")).to eq(true)
69
69
  end
70
70
 
71
71
  it 'disagrees' do
72
72
  input << 'yes'
73
73
  input.rewind
74
- expect(shell.no?("Are you a human?")).to be_false
74
+ expect(shell.no?("Are you a human?")).to eq(false)
75
75
  end
76
76
  end
77
-
78
77
  end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -24,5 +24,4 @@ describe TTY::Shell, '#error' do
24
24
  shell.error "Nothing is fine!", :newline => false
25
25
  expect(output.string).to eql "\e[31mNothing is fine!\e[0m"
26
26
  end
27
-
28
27
  end # error
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -21,5 +21,4 @@ describe TTY::Shell, '#print_table' do
21
21
  +--+--+\n
22
22
  EOS
23
23
  end
24
-
25
24
  end # print_table
@@ -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
 
@@ -10,7 +10,15 @@ describe TTY::Shell::Question, '#character' do
10
10
  it 'switches to character input' do
11
11
  input << "abcd"
12
12
  input.rewind
13
- q = shell.ask("Which one do you prefer a, b, c or d?").character(true)
14
- expect(q.read_string).to eql "abcd"
13
+ q = shell.ask("Which one do you prefer a, b, c or d?").char(true)
14
+ expect(q.character)
15
+ expect(q.read_string).to eq("abcd")
16
+ end
17
+
18
+ it 'acts as reader without arguments' do
19
+ input << "abcd"
20
+ input.rewind
21
+ q = shell.ask("Which one do you prefer a, b, c or d?")
22
+ expect(q.char).to eq(false)
15
23
  end
16
24
  end # character
@@ -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::Shell::Question, '#default' do
11
11
  name = 'Anonymous'
12
12
  q = shell.ask("What is your name?").default(name)
13
13
  answer = q.read
14
- expect(answer).to eql name
14
+ expect(answer).to eq(name)
15
15
  end
16
16
 
17
17
  it 'uses default value in block' do
@@ -20,6 +20,6 @@ describe TTY::Shell::Question, '#default' do
20
20
  default name
21
21
  end
22
22
  answer = q.read
23
- expect(answer).to eql name
23
+ expect(answer).to eq(name)
24
24
  end
25
25
  end # default
@@ -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
 
@@ -8,20 +8,17 @@ describe TTY::Shell::Question, '#initialize' do
8
8
  let(:shell) { TTY::Shell.new(input, output) }
9
9
  let(:message) { 'Do you like me?' }
10
10
 
11
- subject { described_class.new shell }
11
+ subject(:question) { described_class.new shell }
12
12
 
13
- its(:shell) { should == shell }
13
+ it { expect(question.required?).to eq(false) }
14
14
 
15
- its(:required) { should be_false }
15
+ it { expect(question.echo).to eq(true) }
16
16
 
17
- its(:echo) { should be_true }
17
+ it { expect(question.mask).to eq(false) }
18
18
 
19
- its(:mask) { should be_false }
19
+ it { expect(question.character).to eq(false) }
20
20
 
21
- its(:character) { should be_false }
22
-
23
- its(:modifier) { should be_kind_of TTY::Shell::Question::Modifier }
24
-
25
- its(:validation) { should be_kind_of TTY::Shell::Question::Validation }
21
+ it { expect(question.modifier).to be_kind_of(TTY::Shell::Question::Modifier) }
26
22
 
23
+ it { expect(question.validation).to be_kind_of(TTY::Shell::Question::Validation) }
27
24
  end # initialize
@@ -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::Shell::Question::Modifier, '#apply_to' do
6
6
  let(:instance) { described_class.new modifiers }
7
- let(:string) { "Text to be modified"}
7
+ let(:string) { "Text to be modified"}
8
8
 
9
9
  subject { instance.apply_to string }
10
10
 
@@ -18,13 +18,17 @@ describe TTY::Shell::Question::Modifier, '#apply_to' do
18
18
  let(:modifiers) { [:down, :capitalize] }
19
19
 
20
20
  it 'applies letter case modifications' do
21
- described_class.should_receive(:letter_case).with(modifiers, string)
21
+ allow(described_class).to receive(:letter_case)
22
22
  subject
23
+ expect(described_class).to have_received(:letter_case).
24
+ with(modifiers, string)
23
25
  end
24
26
 
25
27
  it 'applies whitespace modifications' do
26
- described_class.should_receive(:whitespace).with(modifiers, string)
28
+ allow(described_class).to receive(:whitespace)
27
29
  subject
30
+ expect(described_class).to have_received(:whitespace).
31
+ with(modifiers, string)
28
32
  end
29
33
  end
30
34
  end # apply_to
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -10,18 +10,18 @@ describe TTY::Shell::Question::Modifier, '#letter_case' do
10
10
  context 'when upper case' do
11
11
  let(:modifier) { :up }
12
12
 
13
- it { should == 'TEXT TO MODIFY' }
13
+ it { is_expected.to eq('TEXT TO MODIFY') }
14
14
  end
15
15
 
16
16
  context 'when lower case' do
17
17
  let(:modifier) { :down }
18
18
 
19
- it { should == 'text to modify'}
19
+ it { is_expected.to eq('text to modify') }
20
20
  end
21
21
 
22
22
  context 'when capitalize' do
23
23
  let(:modifier) { :capitalize }
24
24
 
25
- it { should == 'Text to modify'}
25
+ it { is_expected.to eq('Text to modify') }
26
26
  end
27
27
  end # lettercase
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -10,24 +10,24 @@ describe TTY::Shell::Question::Modifier, '#whitespace' do
10
10
  context 'when stripping whitespace' do
11
11
  let(:modifier) { :trim }
12
12
 
13
- it { should == "text\t \n to\t modify" }
13
+ it { is_expected.to eq("text\t \n to\t modify") }
14
14
  end
15
15
 
16
16
  context 'when chomping whitespace' do
17
17
  let(:modifier) { :chomp }
18
18
 
19
- it { should == " text\t \n to\t modify" }
19
+ it { is_expected.to eq(" text\t \n to\t modify") }
20
20
  end
21
21
 
22
22
  context 'when capitalize' do
23
23
  let(:modifier) { :collapse }
24
24
 
25
- it { should == " text to modify " }
25
+ it { is_expected.to eq(" text to modify ") }
26
26
  end
27
27
 
28
28
  context 'when removing whitespace' do
29
29
  let(:modifier) { :remove }
30
30
 
31
- it { should == "texttomodify" }
31
+ it { is_expected.to eq("texttomodify") }
32
32
  end
33
33
  end # whitespace
@@ -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
 
@@ -13,14 +13,14 @@ describe TTY::Shell::Question, '#valid' do
13
13
  input << 'club'
14
14
  input.rewind
15
15
  q = shell.ask("What is your card suit sir?").valid(cards)
16
- expect(q.read_choice).to eql 'club'
16
+ expect(q.read_choice).to eq('club')
17
17
  end
18
18
 
19
19
  it 'reads valid options with option hash' do
20
20
  input << 'club'
21
21
  input.rewind
22
22
  q = shell.ask("What is your card suit sir?", :valid => cards)
23
- expect(q.read_choice).to eql 'club'
23
+ expect(q.read_choice).to eq('club')
24
24
  end
25
25
 
26
26
  it 'reads invalid option' do
@@ -41,6 +41,6 @@ describe TTY::Shell::Question, '#valid' do
41
41
  input << ''
42
42
  input.rewind
43
43
  q = shell.ask("What is your card suit sir?").valid(cards).default('club')
44
- expect(q.read_choice).to eql 'club'
44
+ expect(q.read_choice).to eq('club')
45
45
  end
46
46
  end