trollop 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ module Trollop
4
+ class VersionNeededTest < ::MiniTest::Test
5
+ def test_class
6
+ assert_kind_of Exception, vn("message")
7
+ end
8
+
9
+ def test_message
10
+ assert "message", vn("message").message
11
+ end
12
+
13
+ private
14
+
15
+ def vn(*args)
16
+ VersionNeeded.new(*args)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,190 @@
1
+ require 'test_helper'
2
+
3
+ class TrollopTest < MiniTest::Test
4
+ def setup
5
+ Trollop.send(:instance_variable_set, "@last_parser", nil)
6
+ end
7
+
8
+ def parser(&block)
9
+ Trollop::Parser.new(&block)
10
+ end
11
+
12
+ def test_options
13
+ opts = Trollop.options %w(-f) do
14
+ opt :f
15
+ end
16
+
17
+ assert_equal true, opts[:f]
18
+ end
19
+
20
+ def test_options_die_default
21
+ assert_stderr(/Error: unknown argument.*Try --help/m) do
22
+ assert_system_exit(-1) do
23
+ Trollop.options %w(-f) do
24
+ opt :x
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ def test_options_die_educate_on_error
31
+ assert_stderr(/Error: unknown argument.*Options/m) do
32
+ assert_system_exit(-1) do
33
+ Trollop.options %w(-f) do
34
+ opt :x
35
+ educate_on_error
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ def test_die_without_options_ever_run
42
+ assert_raises(ArgumentError) { Trollop.die 'hello' }
43
+ end
44
+
45
+ def test_die
46
+ assert_stderr(/Error: issue with parsing/) do
47
+ assert_system_exit(-1) do
48
+ Trollop.options []
49
+ Trollop.die "issue with parsing"
50
+ end
51
+ end
52
+ end
53
+
54
+ def test_die_custom_error_code
55
+ assert_stderr(/Error: issue with parsing/) do
56
+ assert_system_exit(5) do
57
+ Trollop.options []
58
+ Trollop.die "issue with parsing", nil, 5
59
+ end
60
+ end
61
+ end
62
+
63
+ def test_die_custom_error_code_two_args
64
+ assert_stderr(/Error: issue with parsing/) do
65
+ assert_system_exit(5) do
66
+ Trollop.options []
67
+ Trollop.die "issue with parsing", 5
68
+ end
69
+ end
70
+ end
71
+
72
+ def test_educate_without_options_ever_run
73
+ assert_raises(ArgumentError) { Trollop.educate }
74
+ end
75
+
76
+ def test_educate
77
+ assert_stdout(/Show this message/) do
78
+ assert_system_exit(0) do
79
+ Trollop.options []
80
+ Trollop.educate
81
+ end
82
+ end
83
+ end
84
+
85
+ def test_with_standard_exception_options
86
+ p = parser do
87
+ opt :f
88
+ end
89
+
90
+ opts = Trollop::with_standard_exception_handling p do
91
+ p.parse %w(-f)
92
+ end
93
+
94
+ assert_equal true, opts[:f]
95
+ end
96
+
97
+ def test_with_standard_exception_version_exception
98
+ p = parser do
99
+ version "5.5"
100
+ end
101
+
102
+ assert_stdout(/5\.5/) do
103
+ assert_system_exit(0) do
104
+ Trollop::with_standard_exception_handling p do
105
+ raise Trollop::VersionNeeded
106
+ end
107
+ end
108
+ end
109
+ end
110
+
111
+ def test_with_standard_exception_version_flag
112
+ p = parser do
113
+ version "5.5"
114
+ end
115
+
116
+ assert_stdout(/5\.5/) do
117
+ assert_system_exit(0) do
118
+ Trollop::with_standard_exception_handling p do
119
+ p.parse %w(-v)
120
+ end
121
+ end
122
+ end
123
+ end
124
+
125
+ def test_with_standard_exception_die_exception
126
+ assert_stderr(/Error: cl error/) do
127
+ assert_system_exit(-1) do
128
+ p = parser
129
+ Trollop.with_standard_exception_handling(p) do
130
+ raise ::Trollop::CommandlineError.new('cl error')
131
+ end
132
+ end
133
+ end
134
+ end
135
+
136
+ def test_with_standard_exception_die_exception_custom_error
137
+ assert_stderr(/Error: cl error/) do
138
+ assert_system_exit(5) do
139
+ p = parser
140
+ Trollop.with_standard_exception_handling(p) do
141
+ raise ::Trollop::CommandlineError.new('cl error', 5)
142
+ end
143
+ end
144
+ end
145
+ end
146
+
147
+ def test_with_standard_exception_die
148
+ assert_stderr(/Error: cl error/) do
149
+ assert_system_exit(-1) do
150
+ p = parser
151
+ Trollop.with_standard_exception_handling(p) do
152
+ p.die 'cl error'
153
+ end
154
+ end
155
+ end
156
+ end
157
+
158
+ def test_with_standard_exception_die_custom_error
159
+ assert_stderr(/Error: cl error/) do
160
+ assert_system_exit(3) do
161
+ p = parser
162
+ Trollop.with_standard_exception_handling(p) do
163
+ p.die 'cl error', nil, 3
164
+ end
165
+ end
166
+ end
167
+ end
168
+
169
+ def test_with_standard_exception_help_needed
170
+ assert_stdout(/Options/) do
171
+ assert_system_exit(0) do
172
+ p = parser
173
+ Trollop.with_standard_exception_handling(p) do
174
+ raise Trollop::HelpNeeded
175
+ end
176
+ end
177
+ end
178
+ end
179
+
180
+ def test_with_standard_exception_help_needed_flag
181
+ assert_stdout(/Options/) do
182
+ assert_system_exit(0) do
183
+ p = parser
184
+ Trollop.with_standard_exception_handling(p) do
185
+ p.parse(%w(-h))
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -1,11 +1,10 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'trollop'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "trollop"
8
- spec.version = Trollop::VERSION
7
+ spec.version = "2.1.3"
9
8
  spec.authors = ["William Morgan", "Keenan Brock"]
10
9
  spec.email = "keenan@thebrocks.net"
11
10
  spec.summary = "Trollop is a commandline option parser for Ruby that just gets out of your way."
@@ -20,13 +19,15 @@ specify."
20
19
  spec.files = `git ls-files -z`.split("\x0")
21
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
22
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
+ spec.metadata = {
23
+ "changelog_uri" => "https://github.com/ManageIQ/trollop/blob/master/History.txt",
24
+ "source_code_uri" => "https://github.com/ManageIQ/trollop/",
25
+ "bug_tracker_uri" => "https://github.com/ManageIQ/trollop/issues",
26
+ }
23
27
 
24
28
  spec.require_paths = ["lib"]
25
29
 
26
- spec.add_development_dependency "minitest", "~> 4.7.3"
27
- spec.add_development_dependency "bundler", "~> 1.6"
30
+ spec.add_development_dependency "minitest", "~> 5.4.3"
28
31
  spec.add_development_dependency "rake", "~> 10.0"
29
32
  spec.add_development_dependency "chronic"
30
- spec.add_development_dependency "coveralls"
31
- spec.add_development_dependency "mime-types"
32
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trollop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Morgan
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-11 00:00:00.000000000 Z
12
+ date: 2018-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -17,28 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 4.7.3
20
+ version: 5.4.3
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 4.7.3
28
- - !ruby/object:Gem::Dependency
29
- name: bundler
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '1.6'
35
- type: :development
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '1.6'
27
+ version: 5.4.3
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: rake
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -67,34 +53,6 @@ dependencies:
67
53
  - - ">="
68
54
  - !ruby/object:Gem::Version
69
55
  version: '0'
70
- - !ruby/object:Gem::Dependency
71
- name: coveralls
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: mime-types
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
56
  description: |-
99
57
  Trollop is a commandline option parser for Ruby that just
100
58
  gets out of your way. One line of code per option is all you need to write.
@@ -116,13 +74,24 @@ files:
116
74
  - Rakefile
117
75
  - lib/trollop.rb
118
76
  - release-script.txt
77
+ - test/support/assert_helpers.rb
119
78
  - test/test_helper.rb
120
- - test/test_trollop.rb
79
+ - test/trollop/command_line_error_test.rb
80
+ - test/trollop/help_needed_test.rb
81
+ - test/trollop/parser_educate_test.rb
82
+ - test/trollop/parser_opt_test.rb
83
+ - test/trollop/parser_parse_test.rb
84
+ - test/trollop/parser_test.rb
85
+ - test/trollop/version_needed_test.rb
86
+ - test/trollop_test.rb
121
87
  - trollop.gemspec
122
88
  homepage: http://manageiq.github.io/trollop/
123
89
  licenses:
124
90
  - MIT
125
- metadata: {}
91
+ metadata:
92
+ changelog_uri: https://github.com/ManageIQ/trollop/blob/master/History.txt
93
+ source_code_uri: https://github.com/ManageIQ/trollop/
94
+ bug_tracker_uri: https://github.com/ManageIQ/trollop/issues
126
95
  post_install_message:
127
96
  rdoc_options: []
128
97
  require_paths:
@@ -139,11 +108,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
108
  version: '0'
140
109
  requirements: []
141
110
  rubyforge_project:
142
- rubygems_version: 2.2.2
111
+ rubygems_version: 2.6.13
143
112
  signing_key:
144
113
  specification_version: 4
145
114
  summary: Trollop is a commandline option parser for Ruby that just gets out of your
146
115
  way.
147
116
  test_files:
117
+ - test/support/assert_helpers.rb
148
118
  - test/test_helper.rb
149
- - test/test_trollop.rb
119
+ - test/trollop/command_line_error_test.rb
120
+ - test/trollop/help_needed_test.rb
121
+ - test/trollop/parser_educate_test.rb
122
+ - test/trollop/parser_opt_test.rb
123
+ - test/trollop/parser_parse_test.rb
124
+ - test/trollop/parser_test.rb
125
+ - test/trollop/version_needed_test.rb
126
+ - test/trollop_test.rb