tty-prompt 0.12.0 → 0.13.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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -3
  3. data/CHANGELOG.md +12 -0
  4. data/README.md +3 -3
  5. data/appveyor.yml +2 -0
  6. data/lib/tty/prompt/keypress.rb +7 -4
  7. data/lib/tty/prompt/reader.rb +1 -1
  8. data/lib/tty/prompt/reader/win_api.rb +14 -0
  9. data/lib/tty/prompt/reader/win_console.rb +9 -2
  10. data/lib/tty/prompt/timeout.rb +44 -23
  11. data/lib/tty/prompt/version.rb +1 -1
  12. data/tty-prompt.gemspec +6 -3
  13. metadata +21 -131
  14. data/spec/spec_helper.rb +0 -45
  15. data/spec/unit/ask_spec.rb +0 -132
  16. data/spec/unit/choice/eql_spec.rb +0 -22
  17. data/spec/unit/choice/from_spec.rb +0 -29
  18. data/spec/unit/choices/add_spec.rb +0 -12
  19. data/spec/unit/choices/each_spec.rb +0 -13
  20. data/spec/unit/choices/find_by_spec.rb +0 -10
  21. data/spec/unit/choices/new_spec.rb +0 -10
  22. data/spec/unit/choices/pluck_spec.rb +0 -9
  23. data/spec/unit/collect_spec.rb +0 -33
  24. data/spec/unit/converters/convert_bool_spec.rb +0 -58
  25. data/spec/unit/converters/convert_char_spec.rb +0 -11
  26. data/spec/unit/converters/convert_custom_spec.rb +0 -14
  27. data/spec/unit/converters/convert_date_spec.rb +0 -34
  28. data/spec/unit/converters/convert_file_spec.rb +0 -17
  29. data/spec/unit/converters/convert_number_spec.rb +0 -39
  30. data/spec/unit/converters/convert_path_spec.rb +0 -18
  31. data/spec/unit/converters/convert_range_spec.rb +0 -22
  32. data/spec/unit/converters/convert_regex_spec.rb +0 -12
  33. data/spec/unit/converters/convert_string_spec.rb +0 -21
  34. data/spec/unit/converters/on_error_spec.rb +0 -9
  35. data/spec/unit/distance/distance_spec.rb +0 -73
  36. data/spec/unit/enum_paginator_spec.rb +0 -65
  37. data/spec/unit/enum_select_spec.rb +0 -310
  38. data/spec/unit/error_spec.rb +0 -20
  39. data/spec/unit/evaluator_spec.rb +0 -67
  40. data/spec/unit/expand_spec.rb +0 -198
  41. data/spec/unit/keypress_spec.rb +0 -58
  42. data/spec/unit/mask_spec.rb +0 -132
  43. data/spec/unit/multi_select_spec.rb +0 -319
  44. data/spec/unit/multiline_spec.rb +0 -77
  45. data/spec/unit/new_spec.rb +0 -20
  46. data/spec/unit/ok_spec.rb +0 -10
  47. data/spec/unit/paginator_spec.rb +0 -63
  48. data/spec/unit/question/checks_spec.rb +0 -97
  49. data/spec/unit/question/default_spec.rb +0 -31
  50. data/spec/unit/question/echo_spec.rb +0 -38
  51. data/spec/unit/question/in_spec.rb +0 -115
  52. data/spec/unit/question/initialize_spec.rb +0 -12
  53. data/spec/unit/question/modifier/apply_to_spec.rb +0 -24
  54. data/spec/unit/question/modifier/letter_case_spec.rb +0 -41
  55. data/spec/unit/question/modifier/whitespace_spec.rb +0 -51
  56. data/spec/unit/question/modify_spec.rb +0 -41
  57. data/spec/unit/question/required_spec.rb +0 -92
  58. data/spec/unit/question/validate_spec.rb +0 -115
  59. data/spec/unit/question/validation/call_spec.rb +0 -31
  60. data/spec/unit/question/validation/coerce_spec.rb +0 -30
  61. data/spec/unit/reader/history_spec.rb +0 -172
  62. data/spec/unit/reader/key_event_spec.rb +0 -86
  63. data/spec/unit/reader/line_spec.rb +0 -110
  64. data/spec/unit/reader/publish_keypress_event_spec.rb +0 -94
  65. data/spec/unit/reader/read_keypress_spec.rb +0 -80
  66. data/spec/unit/reader/read_line_spec.rb +0 -68
  67. data/spec/unit/reader/read_multiline_spec.rb +0 -60
  68. data/spec/unit/result_spec.rb +0 -40
  69. data/spec/unit/say_spec.rb +0 -67
  70. data/spec/unit/select_spec.rb +0 -359
  71. data/spec/unit/slider_spec.rb +0 -96
  72. data/spec/unit/statement/initialize_spec.rb +0 -15
  73. data/spec/unit/suggest_spec.rb +0 -28
  74. data/spec/unit/warn_spec.rb +0 -21
  75. data/spec/unit/yes_no_spec.rb +0 -235
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c73bc3ac5978ca2ec1610fee367e6e04e66c0ec
4
- data.tar.gz: 3350a73010eb30efd4494799ff5a6e8437115a42
3
+ metadata.gz: 9160061443d7a4ab50c00c9684f6db737d60edaf
4
+ data.tar.gz: f83459eb7604c90e7ba32694338204bc0b0ada16
5
5
  SHA512:
6
- metadata.gz: cd4716769f48d957e8ef5f4167a231d042126ab565267697b3541cd150629c669079275c1cdf66b7d3bba60b02d0b800458d3b84d1f0d0fa26c3c7cce202b709
7
- data.tar.gz: 003c09c9afe7d9f3e3b6014bc5352150f49a1609827c637342605f34fcbbac59f0a913b6d20f68cad8b698387b720c00f3025ab3a1fa30984b226adaada07f1f
6
+ metadata.gz: 5c858da34bb58566bf958d685f7431eefdb3f369736412798cdc1d3c7048908e7b49e00b0ad47164e77a6f8729c78ce3b804eb9b563fbc25ffa920577fc7cedd
7
+ data.tar.gz: 6457ad7692bd6c47bfce3e4e25bc2b8a14ff664f9c60a4b5e4e34e24b39c65a7b43edc95dde183e70f2e2d54494bc5c2df6efff2df272d2f841b5ea20f8f3ac6
data/.travis.yml CHANGED
@@ -10,16 +10,14 @@ rvm:
10
10
  - 2.1.10
11
11
  - 2.2.6
12
12
  - 2.3.3
13
- - 2.4.0
13
+ - 2.4.1
14
14
  - ruby-head
15
15
  - jruby-9000
16
16
  - jruby-head
17
- - rbx-3
18
17
  matrix:
19
18
  allow_failures:
20
19
  - rvm: ruby-head
21
20
  - rvm: jruby-head
22
- - rvm: rbx-3
23
21
  fast_finish: true
24
22
  branches:
25
23
  only: master
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Change log
2
2
 
3
+ ## [v0.13.0] - 2017-08-11
4
+
5
+ ### Changed
6
+ * Change Timeout to use clock time instead of sleep to measure interval
7
+ * Upgrade tty-cursor to fix save & restore
8
+
9
+ ### Fixed
10
+ * Fix keypress with timeout option to cleanly stop timeout thread
11
+ * Fix Reader on Windows to stop blocking when waiting for key press
12
+
3
13
  ## [v0.12.0] - 2017-03-19
4
14
 
5
15
  ### Added
@@ -191,6 +201,8 @@
191
201
 
192
202
  * Initial implementation and release
193
203
 
204
+ [v0.13.0]: https://github.com/piotrmurach/tty-prompt/compare/v0.12.0...v0.13.0
205
+ [v0.12.0]: https://github.com/piotrmurach/tty-prompt/compare/v0.11.0...v0.12.0
194
206
  [v0.11.0]: https://github.com/piotrmurach/tty-prompt/compare/v0.10.1...v0.11.0
195
207
  [v0.10.1]: https://github.com/piotrmurach/tty-prompt/compare/v0.10.0...v0.10.1
196
208
  [v0.10.0]: https://github.com/piotrmurach/tty-prompt/compare/v0.9.0...v0.10.0
data/README.md CHANGED
@@ -268,7 +268,7 @@ You can change these and configure to your liking either by inling them with the
268
268
 
269
269
  ```ruby
270
270
  prompt.ask('What is your email?') do |q|
271
- question.validate(/\A\w+@\w+\.\w+\Z/, 'Invalid email address')
271
+ q.validate(/\A\w+@\w+\.\w+\Z/, 'Invalid email address')
272
272
  end
273
273
  ```
274
274
 
@@ -276,8 +276,8 @@ or change the `messages` key entry out of `:required?`, `:valid?`, `:range?`:
276
276
 
277
277
  ```ruby
278
278
  prompt.ask('What is your email?') do |q|
279
- question.validate(/\A\w+@\w+\.\w+\Z/)
280
- question.messages[:valid?] = 'Invalid email address'
279
+ q.validate(/\A\w+@\w+\.\w+\Z/)
280
+ q.messages[:valid?] = 'Invalid email address'
281
281
  end
282
282
  ```
283
283
 
data/appveyor.yml CHANGED
@@ -18,6 +18,8 @@ environment:
18
18
  - ruby_version: "22-x64"
19
19
  - ruby_version: "23"
20
20
  - ruby_version: "23-x64"
21
+ - ruby_version: "24"
22
+ - ruby_version: "24-x64"
21
23
  matrix:
22
24
  allow_failures:
23
25
  - ruby_version: "193"
@@ -18,7 +18,9 @@ module TTY
18
18
  @echo = options.fetch(:echo) { false }
19
19
  @keys = options.fetch(:keys) { UndefinedSetting }
20
20
  @timeout = options.fetch(:timeout) { UndefinedSetting }
21
- @interval = options.fetch(:interval) { 1 }
21
+ @interval = options.fetch(:interval) {
22
+ (@timeout != UndefinedSetting && @timeout < 1) ? @timeout : 1
23
+ }
22
24
  @pause = true
23
25
  @countdown = @timeout
24
26
  @interval_handler = proc { |time|
@@ -67,6 +69,7 @@ module TTY
67
69
  while @pause
68
70
  @input = @prompt.read_keypress
69
71
  end
72
+ @pause
70
73
  end
71
74
  @evaluator.(@input)
72
75
  end
@@ -77,10 +80,10 @@ module TTY
77
80
 
78
81
  def time(&block)
79
82
  if timeout?
80
- secs = Integer(@timeout)
81
- interval = Integer(@interval)
83
+ time = Float(@timeout)
84
+ interval = Float(@interval)
82
85
  scheduler = Timeout.new(interval_handler: @interval_handler)
83
- scheduler.timeout(secs, interval, &block)
86
+ scheduler.timeout(time, interval, &block)
84
87
  else
85
88
  block.()
86
89
  end
@@ -345,7 +345,7 @@ module TTY
345
345
  #
346
346
  # @api public
347
347
  def windows?
348
- ::File::ALT_SEPARATOR == "\\"
348
+ ::File::ALT_SEPARATOR == '\\'
349
349
  end
350
350
  end # Reader
351
351
  end # Prompt
@@ -23,6 +23,20 @@ module TTY
23
23
  @@getche.call
24
24
  end
25
25
  module_function :getche
26
+
27
+ # Check the console for recent keystroke. If the function
28
+ # returns a nonzero value, a keystroke is waiting in the buffer.
29
+ #
30
+ # @return [Integer]
31
+ # return a nonzero value if a key has been pressed. Otherwirse,
32
+ # it returns 0.
33
+ #
34
+ # @api public
35
+ def kbhit
36
+ @@kbhit ||= Fiddle::Function.new(CRT_HANDLE["_kbhit"], [], TYPE_INT)
37
+ @@kbhit.call
38
+ end
39
+ module_function :kbhit
26
40
  end # WinAPI
27
41
  end # Reader
28
42
  end # Prompt
@@ -42,11 +42,18 @@ module TTY
42
42
  # @api private
43
43
  def get_char(options)
44
44
  if options[:raw]
45
- WinAPI.getch.chr
45
+ get_char_non_blocking
46
46
  else
47
- options[:echo] ? @input.getc : WinAPI.getch.chr
47
+ options[:echo] ? @input.getc : get_char_non_blocking
48
48
  end
49
49
  end
50
+
51
+ # Get the char for last key pressed, or if no keypress return nil
52
+ #
53
+ # @api private
54
+ def get_char_non_blocking
55
+ WinAPI.kbhit.zero? ? nil : WinAPI.getch.chr
56
+ end
50
57
  end # Console
51
58
  end # Reader
52
59
  end # Prompt
@@ -1,5 +1,7 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require 'timers'
4
+
3
5
  module TTY
4
6
  class Prompt
5
7
  class Timeout
@@ -9,38 +11,57 @@ module TTY
9
11
 
10
12
  def initialize(options = {})
11
13
  @timeout_handler = options.fetch(:timeout_handler) { TIMEOUT_HANDLER }
12
- @interval_handler = options.fetch(:interval_handler) { proc { } }
13
- @lock = Mutex.new
14
+ @interval_handler = options.fetch(:interval_handler) { proc {} }
15
+ @lock = Mutex.new
16
+ @running = true
17
+ @timers = Timers::Group.new
14
18
  end
15
19
 
16
- def self.timeout(secs, interval, &block)
17
- (@scheduler ||= new).timeout(secs, interval, &block)
20
+ def self.timeout(time, interval, &block)
21
+ (@scheduler ||= new).timeout(time, interval, &block)
18
22
  end
19
23
 
20
- def timeout(secs, interval, &block)
21
- return block.() if secs.nil? || secs.to_i.zero?
22
- @lock.synchronize do
23
- @runner = Thread.new {
24
- run_in(secs, interval)
25
- }
26
- end
27
- block.()
24
+ # Evalute block and time it
25
+ #
26
+ # @param [Float] time
27
+ # the time by which to stop
28
+ # @param [Float] interval
29
+ # the interval time for each tick
30
+ #
31
+ # @api public
32
+ def timeout(time, interval, &block)
33
+ @runner = async_run(time, interval)
34
+ @running = block.()
35
+ @runner.join
28
36
  end
29
37
 
30
- def run_in(secs, interval)
31
- Thread.current.abort_on_exception = true
32
- start = Time.now
38
+ def async_run(time, interval)
39
+ Thread.new do
40
+ Thread.current.abort_on_exception = true
41
+ start = Time.now
33
42
 
34
- loop do
35
- sleep(interval)
36
- runtime = Time.now - start
37
- delta = secs - runtime
38
- @interval_handler.(delta.round)
43
+ interval_timer = @timers.every(interval) do
44
+ runtime = Time.now - start
45
+ delta = time - runtime
46
+ if delta.round >= 0
47
+ @interval_handler.(delta.round)
48
+ end
49
+ end
39
50
 
40
- if delta < 0.0
41
- @timeout_handler.(Thread.current)
42
- break
51
+ while @running
52
+ @lock.synchronize {
53
+ @timers.wait
54
+ runtime = Time.now - start
55
+ delta = time - runtime
56
+
57
+ if delta <= 0.0
58
+ @timeout_handler.(Thread.current)
59
+ break
60
+ end
61
+ }
43
62
  end
63
+
64
+ interval_timer.cancel
44
65
  end
45
66
  end
46
67
  end # Scheduler
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TTY
4
4
  class Prompt
5
- VERSION = "0.12.0"
5
+ VERSION = "0.13.0"
6
6
  end # Prompt
7
7
  end # TTY
data/tty-prompt.gemspec CHANGED
@@ -13,15 +13,18 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://piotrmurach.github.io/tty"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0")
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
17
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
20
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
21
  spec.require_paths = ["lib"]
20
22
 
21
23
  spec.add_dependency 'necromancer', '~> 0.4.0'
22
24
  spec.add_dependency 'pastel', '~> 0.7.0'
23
- spec.add_dependency 'tty-cursor', '~> 0.4.0'
24
- spec.add_dependency 'wisper', '~> 1.6.1'
25
+ spec.add_dependency 'tty-cursor', '~> 0.5.0'
26
+ spec.add_dependency 'wisper', '~> 2.0.0'
27
+ spec.add_dependency 'timers', '~> 4.1.2'
25
28
 
26
29
  spec.add_development_dependency 'bundler', '>= 1.5.0', '< 2.0'
27
30
  spec.add_development_dependency 'rake'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tty-prompt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-19 00:00:00.000000000 Z
11
+ date: 2017-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: necromancer
@@ -44,28 +44,42 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.4.0
47
+ version: 0.5.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.4.0
54
+ version: 0.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: wisper
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.6.1
61
+ version: 2.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: timers
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 4.1.2
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 1.6.1
82
+ version: 4.1.2
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -196,68 +210,6 @@ files:
196
210
  - lib/tty/prompt/utils.rb
197
211
  - lib/tty/prompt/version.rb
198
212
  - lib/tty/test_prompt.rb
199
- - spec/spec_helper.rb
200
- - spec/unit/ask_spec.rb
201
- - spec/unit/choice/eql_spec.rb
202
- - spec/unit/choice/from_spec.rb
203
- - spec/unit/choices/add_spec.rb
204
- - spec/unit/choices/each_spec.rb
205
- - spec/unit/choices/find_by_spec.rb
206
- - spec/unit/choices/new_spec.rb
207
- - spec/unit/choices/pluck_spec.rb
208
- - spec/unit/collect_spec.rb
209
- - spec/unit/converters/convert_bool_spec.rb
210
- - spec/unit/converters/convert_char_spec.rb
211
- - spec/unit/converters/convert_custom_spec.rb
212
- - spec/unit/converters/convert_date_spec.rb
213
- - spec/unit/converters/convert_file_spec.rb
214
- - spec/unit/converters/convert_number_spec.rb
215
- - spec/unit/converters/convert_path_spec.rb
216
- - spec/unit/converters/convert_range_spec.rb
217
- - spec/unit/converters/convert_regex_spec.rb
218
- - spec/unit/converters/convert_string_spec.rb
219
- - spec/unit/converters/on_error_spec.rb
220
- - spec/unit/distance/distance_spec.rb
221
- - spec/unit/enum_paginator_spec.rb
222
- - spec/unit/enum_select_spec.rb
223
- - spec/unit/error_spec.rb
224
- - spec/unit/evaluator_spec.rb
225
- - spec/unit/expand_spec.rb
226
- - spec/unit/keypress_spec.rb
227
- - spec/unit/mask_spec.rb
228
- - spec/unit/multi_select_spec.rb
229
- - spec/unit/multiline_spec.rb
230
- - spec/unit/new_spec.rb
231
- - spec/unit/ok_spec.rb
232
- - spec/unit/paginator_spec.rb
233
- - spec/unit/question/checks_spec.rb
234
- - spec/unit/question/default_spec.rb
235
- - spec/unit/question/echo_spec.rb
236
- - spec/unit/question/in_spec.rb
237
- - spec/unit/question/initialize_spec.rb
238
- - spec/unit/question/modifier/apply_to_spec.rb
239
- - spec/unit/question/modifier/letter_case_spec.rb
240
- - spec/unit/question/modifier/whitespace_spec.rb
241
- - spec/unit/question/modify_spec.rb
242
- - spec/unit/question/required_spec.rb
243
- - spec/unit/question/validate_spec.rb
244
- - spec/unit/question/validation/call_spec.rb
245
- - spec/unit/question/validation/coerce_spec.rb
246
- - spec/unit/reader/history_spec.rb
247
- - spec/unit/reader/key_event_spec.rb
248
- - spec/unit/reader/line_spec.rb
249
- - spec/unit/reader/publish_keypress_event_spec.rb
250
- - spec/unit/reader/read_keypress_spec.rb
251
- - spec/unit/reader/read_line_spec.rb
252
- - spec/unit/reader/read_multiline_spec.rb
253
- - spec/unit/result_spec.rb
254
- - spec/unit/say_spec.rb
255
- - spec/unit/select_spec.rb
256
- - spec/unit/slider_spec.rb
257
- - spec/unit/statement/initialize_spec.rb
258
- - spec/unit/suggest_spec.rb
259
- - spec/unit/warn_spec.rb
260
- - spec/unit/yes_no_spec.rb
261
213
  - tasks/console.rake
262
214
  - tasks/coverage.rake
263
215
  - tasks/spec.rake
@@ -286,67 +238,5 @@ rubygems_version: 2.5.1
286
238
  signing_key:
287
239
  specification_version: 4
288
240
  summary: A beautiful and powerful interactive command line prompt.
289
- test_files:
290
- - spec/spec_helper.rb
291
- - spec/unit/ask_spec.rb
292
- - spec/unit/choice/eql_spec.rb
293
- - spec/unit/choice/from_spec.rb
294
- - spec/unit/choices/add_spec.rb
295
- - spec/unit/choices/each_spec.rb
296
- - spec/unit/choices/find_by_spec.rb
297
- - spec/unit/choices/new_spec.rb
298
- - spec/unit/choices/pluck_spec.rb
299
- - spec/unit/collect_spec.rb
300
- - spec/unit/converters/convert_bool_spec.rb
301
- - spec/unit/converters/convert_char_spec.rb
302
- - spec/unit/converters/convert_custom_spec.rb
303
- - spec/unit/converters/convert_date_spec.rb
304
- - spec/unit/converters/convert_file_spec.rb
305
- - spec/unit/converters/convert_number_spec.rb
306
- - spec/unit/converters/convert_path_spec.rb
307
- - spec/unit/converters/convert_range_spec.rb
308
- - spec/unit/converters/convert_regex_spec.rb
309
- - spec/unit/converters/convert_string_spec.rb
310
- - spec/unit/converters/on_error_spec.rb
311
- - spec/unit/distance/distance_spec.rb
312
- - spec/unit/enum_paginator_spec.rb
313
- - spec/unit/enum_select_spec.rb
314
- - spec/unit/error_spec.rb
315
- - spec/unit/evaluator_spec.rb
316
- - spec/unit/expand_spec.rb
317
- - spec/unit/keypress_spec.rb
318
- - spec/unit/mask_spec.rb
319
- - spec/unit/multi_select_spec.rb
320
- - spec/unit/multiline_spec.rb
321
- - spec/unit/new_spec.rb
322
- - spec/unit/ok_spec.rb
323
- - spec/unit/paginator_spec.rb
324
- - spec/unit/question/checks_spec.rb
325
- - spec/unit/question/default_spec.rb
326
- - spec/unit/question/echo_spec.rb
327
- - spec/unit/question/in_spec.rb
328
- - spec/unit/question/initialize_spec.rb
329
- - spec/unit/question/modifier/apply_to_spec.rb
330
- - spec/unit/question/modifier/letter_case_spec.rb
331
- - spec/unit/question/modifier/whitespace_spec.rb
332
- - spec/unit/question/modify_spec.rb
333
- - spec/unit/question/required_spec.rb
334
- - spec/unit/question/validate_spec.rb
335
- - spec/unit/question/validation/call_spec.rb
336
- - spec/unit/question/validation/coerce_spec.rb
337
- - spec/unit/reader/history_spec.rb
338
- - spec/unit/reader/key_event_spec.rb
339
- - spec/unit/reader/line_spec.rb
340
- - spec/unit/reader/publish_keypress_event_spec.rb
341
- - spec/unit/reader/read_keypress_spec.rb
342
- - spec/unit/reader/read_line_spec.rb
343
- - spec/unit/reader/read_multiline_spec.rb
344
- - spec/unit/result_spec.rb
345
- - spec/unit/say_spec.rb
346
- - spec/unit/select_spec.rb
347
- - spec/unit/slider_spec.rb
348
- - spec/unit/statement/initialize_spec.rb
349
- - spec/unit/suggest_spec.rb
350
- - spec/unit/warn_spec.rb
351
- - spec/unit/yes_no_spec.rb
241
+ test_files: []
352
242
  has_rdoc: