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,7 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  module TTY
4
4
  class Text
5
-
6
5
  # A class responsible for string comparison
7
6
  class Distance
8
7
  include Unicode
@@ -22,7 +21,7 @@ module TTY
22
21
  # @api private
23
22
  def initialize(first, second, *args)
24
23
  options = Utils.extract_options!(args)
25
- @first = first.to_s
24
+ @first = first.to_s
26
25
  @second = second.to_s
27
26
  # TODO: add option to ignore case
28
27
  end
@@ -67,7 +66,6 @@ module TTY
67
66
  end
68
67
  distances[rows][cols]
69
68
  end
70
-
71
69
  end # Distance
72
70
  end # Text
73
71
  end # TTY
@@ -1,8 +1,7 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  module TTY
4
4
  class Text
5
-
6
5
  # A class responsible for text truncation operations
7
6
  class Truncation
8
7
  include Unicode
@@ -92,7 +91,6 @@ module TTY
92
91
  length - trailing_size
93
92
  end
94
93
  end
95
-
96
94
  end # Truncation
97
95
  end # Text
98
96
  end # TTY
@@ -1,8 +1,7 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  module TTY
4
4
  class Text
5
-
6
5
  # A class responsible for text wrapping operations
7
6
  class Wrapping
8
7
  include Unicode
@@ -111,7 +110,6 @@ module TTY
111
110
  part.insert(0, padding_left).insert(-1, padding_right)
112
111
  end
113
112
  end
114
-
115
113
  end # Wrapping
116
114
  end # Text
117
115
  end # TTY
@@ -1,7 +1,6 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  module TTY
4
-
5
4
  # This class represents a mathematical vector.
6
5
  class Vector
7
6
  include Enumerable, Equatable, Conversion
@@ -27,7 +26,7 @@ module TTY
27
26
  # @return [undefined]
28
27
  #
29
28
  # @api public
30
- def initialize(array=[])
29
+ def initialize(array = [])
31
30
  @elements = convert_to_array(array)
32
31
  end
33
32
 
@@ -58,7 +57,7 @@ module TTY
58
57
  #
59
58
  # @api public
60
59
  def []=(indx, value)
61
- self.elements[indx] = value
60
+ elements[indx] = value
62
61
  end
63
62
  alias set_element []=
64
63
 
@@ -113,6 +112,5 @@ module TTY
113
112
  def to_a
114
113
  to_ary.dup
115
114
  end
116
-
117
115
  end # Vector
118
116
  end # TTY
@@ -1,5 +1,5 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  module TTY
4
- VERSION = "0.0.11"
4
+ VERSION = "0.1.0"
5
5
  end
@@ -1,7 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rubygems'
4
-
5
3
  if ENV['TRAVIS'] || ENV['COVERAGE']
6
4
  require 'simplecov'
7
5
  require 'coveralls'
@@ -16,14 +14,13 @@ if ENV['TRAVIS'] || ENV['COVERAGE']
16
14
  end
17
15
  end
18
16
 
19
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
20
- $LOAD_PATH.unshift(File.dirname(__FILE__))
21
-
22
- require 'rspec'
23
17
  require 'tty'
24
18
 
25
19
  RSpec.configure do |config|
26
- config.order = :rand
20
+ config.run_all_when_everything_filtered = true
21
+ config.filter_run :focus
22
+ config.order = 'random'
23
+ config.raise_errors_for_deprecations!
27
24
  end
28
25
 
29
26
  class String
@@ -31,7 +28,3 @@ class String
31
28
  gsub(/^[ \t]*/, '').chomp
32
29
  end
33
30
  end
34
-
35
- unless defined?(Gem::Specification)
36
- Gem::Specification = Struct.new(:name, :version)
37
- end
@@ -1,6 +1,9 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe TTY::Coercer::Boolean, '#coerce' do
6
+
4
7
  subject { described_class.coerce(value) }
5
8
 
6
9
  context "with empty" do
@@ -12,97 +15,97 @@ describe TTY::Coercer::Boolean, '#coerce' do
12
15
  context "with true" do
13
16
  let(:value) { true }
14
17
 
15
- it { expect(subject).to be_true }
18
+ it { is_expected.to eq(true) }
16
19
  end
17
20
 
18
21
  context "with 'true'" do
19
22
  let(:value) { 'true' }
20
23
 
21
- it { expect(subject).to be_true }
24
+ it { is_expected.to eq(true) }
22
25
  end
23
26
 
24
27
  context "with TRUE" do
25
28
  let(:value) { TRUE }
26
29
 
27
- it { expect(subject).to be_true }
30
+ it { is_expected.to eq(true) }
28
31
  end
29
32
 
30
33
  context "with 'TRUE'" do
31
34
  let(:value) { 'TRUE' }
32
35
 
33
- it { expect(subject).to be_true }
36
+ it { is_expected.to eq(true) }
34
37
  end
35
38
 
36
39
  context "with 't'" do
37
40
  let(:value) { 't' }
38
41
 
39
- it { expect(subject).to be_true }
42
+ it { is_expected.to eq(true) }
40
43
  end
41
44
 
42
45
  context "with 'T'" do
43
46
  let(:value) { 'T' }
44
47
 
45
- it { expect(subject).to be_true }
48
+ it { is_expected.to eq(true) }
46
49
  end
47
50
 
48
51
  context "with 1" do
49
52
  let(:value) { 1 }
50
53
 
51
- it { expect(subject).to be_true }
54
+ it { is_expected.to eq(true) }
52
55
  end
53
56
 
54
57
  context "with '1'" do
55
58
  let(:value) { '1' }
56
59
 
57
- it { expect(subject).to be_true }
60
+ it { is_expected.to eq(true) }
58
61
  end
59
62
 
60
63
  context "with false" do
61
64
  let(:value) { false }
62
65
 
63
- it { expect(subject).to be_false }
66
+ it { is_expected.to eq(false) }
64
67
  end
65
68
 
66
69
  context "with 'false'" do
67
70
  let(:value) { 'false' }
68
71
 
69
- it { expect(subject).to be_false }
72
+ it { is_expected.to eq(false) }
70
73
  end
71
74
 
72
75
  context "with FALSE" do
73
76
  let(:value) { FALSE }
74
77
 
75
- it { expect(subject).to be_false }
78
+ it { is_expected.to eq(false) }
76
79
  end
77
80
 
78
81
  context "with 'FALSE'" do
79
82
  let(:value) { 'FALSE' }
80
83
 
81
- it { expect(subject).to be_false }
84
+ it { is_expected.to eq(false) }
82
85
  end
83
86
 
84
87
  context "with 'f'" do
85
88
  let(:value) { 'f' }
86
89
 
87
- it { expect(subject).to be_false }
90
+ it { is_expected.to eq(false) }
88
91
  end
89
92
 
90
93
  context "with 'F'" do
91
94
  let(:value) { 'F' }
92
95
 
93
- it { expect(subject).to be_false }
96
+ it { is_expected.to eq(false) }
94
97
  end
95
98
 
96
99
  context "with 0" do
97
100
  let(:value) { 0 }
98
101
 
99
- it { expect(subject).to be_false }
102
+ it { is_expected.to eq(false) }
100
103
  end
101
104
 
102
105
  context "with '0'" do
103
106
  let(:value) { '0' }
104
107
 
105
- it { expect(subject).to be_false }
108
+ it { is_expected.to eq(false) }
106
109
  end
107
110
 
108
111
  context "with FOO" do
@@ -1,7 +1,10 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe TTY::Coercer::Float, '#coerce' do
4
6
  let(:strict) { true }
7
+
5
8
  subject { described_class.coerce(value, strict) }
6
9
 
7
10
  context 'with empty' do
@@ -13,7 +16,7 @@ describe TTY::Coercer::Float, '#coerce' do
13
16
  context 'with 1 as string' do
14
17
  let(:value) { '1' }
15
18
 
16
- it { expect(subject).to eql 1.0 }
19
+ it { is_expected.to eql 1.0 }
17
20
  end
18
21
 
19
22
  context 'with float' do
@@ -23,10 +26,9 @@ describe TTY::Coercer::Float, '#coerce' do
23
26
  end
24
27
 
25
28
  context 'with float not strict' do
26
- let(:value) { '1.2abc'}
29
+ let(:value) { '1.2abc'}
27
30
  let(:strict) { false }
28
31
 
29
- it { expect(subject).to eql 1.2 }
32
+ it { is_expected.to eql 1.2 }
30
33
  end
31
-
32
34
  end
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe TTY::Coercer::Integer, '#coerce' do
@@ -13,7 +15,7 @@ describe TTY::Coercer::Integer, '#coerce' do
13
15
  context 'with 1 as string' do
14
16
  let(:value) { '1' }
15
17
 
16
- it { expect(subject).to eql 1 }
18
+ it { is_expected.to eql 1 }
17
19
  end
18
20
 
19
21
  context 'with float' do
@@ -26,14 +28,13 @@ describe TTY::Coercer::Integer, '#coerce' do
26
28
  let(:value) { 1.2 }
27
29
  let(:strict) { false }
28
30
 
29
- it { expect(subject).to eql 1 }
31
+ it { is_expected.to eql 1 }
30
32
  end
31
33
 
32
34
  context 'with letters not strict' do
33
35
  let(:value) { '1abc' }
34
36
  let(:strict) { false }
35
37
 
36
- it { expect(subject).to eql 1 }
38
+ it { is_expected.to eql 1 }
37
39
  end
38
-
39
40
  end
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe TTY::Coercer::Range, '#coerce' do
@@ -13,61 +15,60 @@ describe TTY::Coercer::Range, '#coerce' do
13
15
  context 'with 1' do
14
16
  let(:value) { '1' }
15
17
 
16
- it { should == (1..1) }
18
+ it { is_expected.to eq(1..1) }
17
19
  end
18
20
 
19
21
  context 'with 1..10' do
20
22
  let(:value) { '1..10' }
21
23
 
22
- it { should == (1..10) }
24
+ it { is_expected.to eq(1..10) }
23
25
  end
24
26
 
25
27
  context 'with 1-10' do
26
28
  let(:value) { '1-10' }
27
29
 
28
- it { should == (1..10) }
30
+ it { is_expected.to eq(1..10) }
29
31
  end
30
32
 
31
33
  context 'with 1,10' do
32
34
  let(:value) { '1,10' }
33
35
 
34
- it { should == (1..10) }
36
+ it { is_expected.to eq(1..10) }
35
37
  end
36
38
 
37
39
  context 'with 1...10' do
38
40
  let(:value) { '1...10'}
39
41
 
40
- it { should == (1...10) }
42
+ it { is_expected.to eq(1...10) }
41
43
  end
42
44
 
43
45
  context 'with -1..10' do
44
46
  let(:value) { '-1..10' }
45
47
 
46
- it { should == (-1..10) }
48
+ it { is_expected.to eq(-1..10) }
47
49
  end
48
50
 
49
51
  context 'with 1..-10' do
50
52
  let(:value) { '1..-10' }
51
53
 
52
- it { should == (1..-10) }
54
+ it { is_expected.to eq(1..-10) }
53
55
  end
54
56
 
55
57
  context 'with a..z' do
56
58
  let(:value) { 'a..z' }
57
59
 
58
- it { should == ('a'..'z')}
60
+ it { is_expected.to eq('a'..'z')}
59
61
  end
60
62
 
61
63
  context 'with a-z' do
62
64
  let(:value) { 'a-z' }
63
65
 
64
- it { should == ('a'..'z')}
66
+ it { is_expected.to eq('a'..'z')}
65
67
  end
66
68
 
67
69
  context 'with A..Z' do
68
70
  let(:value) { 'A..Z' }
69
71
 
70
- it { should == ('A'..'Z')}
72
+ it { is_expected.to eq('A'..'Z')}
71
73
  end
72
-
73
74
  end # coerce
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+ require 'timecop'
5
+
6
+ describe TTY::Logger, '#log' do
7
+ let(:output) { StringIO.new }
8
+ let(:message) { 'text' }
9
+ let(:namespace) { 'tty::'}
10
+ let(:options) { {output: output, namespace: namespace} }
11
+ let(:object) { described_class.new(options) }
12
+
13
+ subject { object.log(message) }
14
+
15
+ before { Timecop.freeze }
16
+
17
+ after { Timecop.return }
18
+
19
+ it 'logs message to output' do
20
+ subject
21
+ expect(output.string).to eq("#{object.timestamp} - #{message}")
22
+ end
23
+ end
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require 'spec_helper'
4
4
 
@@ -6,31 +6,31 @@ describe TTY::Logger, '#new' do
6
6
  let(:object) { described_class }
7
7
  let(:output) { StringIO.new }
8
8
 
9
- subject { object.new options }
9
+ subject(:logger) { object.new(options) }
10
10
 
11
11
  context 'when default' do
12
- let(:options) { {:namespace => ''} }
12
+ let(:options) { {namespace: ''} }
13
13
 
14
- its(:level) { should eql object::ALL }
14
+ it { expect(logger.level).to eq(object::ALL) }
15
15
 
16
- its(:output) { should eql $stderr }
16
+ it { expect(logger.output).to eq($stderr) }
17
17
 
18
- its(:timestamp_format) { should eql '%Y-%m-%d %T' }
18
+ it { expect(logger.timestamp_format).to eq('%Y-%m-%d %T') }
19
19
  end
20
20
 
21
21
  context 'when custom' do
22
22
  let(:options) { {
23
- :namespace => 'tty::color',
24
- :level => 2,
25
- :output => output,
26
- :timestamp_format => "%dd" } }
23
+ namespace: 'tty::color',
24
+ level: 2,
25
+ output: output,
26
+ timestamp_format: "%dd" } }
27
27
 
28
- its(:namespace) { should eql 'tty::color' }
28
+ it { expect(logger.namespace).to eq('tty::color') }
29
29
 
30
- its(:level) { should eql 2 }
30
+ it { expect(logger.level).to eq(2) }
31
31
 
32
- its(:output) { should eql output }
32
+ it { expect(logger.output).to eq(output) }
33
33
 
34
- its(:timestamp_format) { should eql '%dd' }
34
+ it { expect(logger.timestamp_format).to eq('%dd') }
35
35
  end
36
36
  end