trollop 2.1.2 → 2.1.3

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.
@@ -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