thor 0.14.4 → 0.14.5

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.
@@ -5,67 +5,67 @@ describe Thor do
5
5
  it "sets options to the next method to be invoked" do
6
6
  args = ["foo", "bar", "--force"]
7
7
  arg, options = MyScript.start(args)
8
- options.must == { "force" => true }
8
+ options.should == { "force" => true }
9
9
  end
10
10
 
11
11
  describe ":lazy_default" do
12
12
  it "is absent when option is not specified" do
13
13
  arg, options = MyScript.start(["with_optional"])
14
- options.must == {}
14
+ options.should == {}
15
15
  end
16
16
 
17
17
  it "sets a default that can be overridden for strings" do
18
18
  arg, options = MyScript.start(["with_optional", "--lazy"])
19
- options.must == { "lazy" => "yes" }
19
+ options.should == { "lazy" => "yes" }
20
20
 
21
21
  arg, options = MyScript.start(["with_optional", "--lazy", "yesyes!"])
22
- options.must == { "lazy" => "yesyes!" }
22
+ options.should == { "lazy" => "yesyes!" }
23
23
  end
24
24
 
25
25
  it "sets a default that can be overridden for numerics" do
26
26
  arg, options = MyScript.start(["with_optional", "--lazy-numeric"])
27
- options.must == { "lazy_numeric" => 42 }
27
+ options.should == { "lazy_numeric" => 42 }
28
28
 
29
29
  arg, options = MyScript.start(["with_optional", "--lazy-numeric", 20000])
30
- options.must == { "lazy_numeric" => 20000 }
30
+ options.should == { "lazy_numeric" => 20000 }
31
31
  end
32
32
 
33
33
  it "sets a default that can be overridden for arrays" do
34
34
  arg, options = MyScript.start(["with_optional", "--lazy-array"])
35
- options.must == { "lazy_array" => %w[eat at joes] }
35
+ options.should == { "lazy_array" => %w[eat at joes] }
36
36
 
37
37
  arg, options = MyScript.start(["with_optional", "--lazy-array", "hello", "there"])
38
- options.must == { "lazy_array" => %w[hello there] }
38
+ options.should == { "lazy_array" => %w[hello there] }
39
39
  end
40
40
 
41
41
  it "sets a default that can be overridden for hashes" do
42
42
  arg, options = MyScript.start(["with_optional", "--lazy-hash"])
43
- options.must == { "lazy_hash" => {'swedish' => 'meatballs'} }
43
+ options.should == { "lazy_hash" => {'swedish' => 'meatballs'} }
44
44
 
45
45
  arg, options = MyScript.start(["with_optional", "--lazy-hash", "polish:sausage"])
46
- options.must == { "lazy_hash" => {'polish' => 'sausage'} }
46
+ options.should == { "lazy_hash" => {'polish' => 'sausage'} }
47
47
  end
48
48
  end
49
49
 
50
50
  describe "when :for is supplied" do
51
51
  it "updates an already defined task" do
52
52
  args, options = MyChildScript.start(["animal", "horse", "--other=fish"])
53
- options[:other].must == "fish"
53
+ options[:other].should == "fish"
54
54
  end
55
55
 
56
56
  describe "and the target is on the parent class" do
57
57
  it "updates an already defined task" do
58
58
  args = ["example_default_task", "my_param", "--new-option=verified"]
59
59
  options = Scripts::MyScript.start(args)
60
- options[:new_option].must == "verified"
60
+ options[:new_option].should == "verified"
61
61
  end
62
62
 
63
63
  it "adds a task to the tasks list if the updated task is on the parent class" do
64
- Scripts::MyScript.tasks["example_default_task"].must_not be_nil
64
+ Scripts::MyScript.tasks["example_default_task"].should_not be_nil
65
65
  end
66
66
 
67
67
  it "clones the parent task" do
68
- Scripts::MyScript.tasks["example_default_task"].must_not == MyChildScript.tasks["example_default_task"]
68
+ Scripts::MyScript.tasks["example_default_task"].should_not == MyChildScript.tasks["example_default_task"]
69
69
  end
70
70
  end
71
71
  end
@@ -73,48 +73,48 @@ describe Thor do
73
73
 
74
74
  describe "#default_task" do
75
75
  it "sets a default task" do
76
- MyScript.default_task.must == "example_default_task"
76
+ MyScript.default_task.should == "example_default_task"
77
77
  end
78
78
 
79
79
  it "invokes the default task if no command is specified" do
80
- MyScript.start([]).must == "default task"
80
+ MyScript.start([]).should == "default task"
81
81
  end
82
82
 
83
83
  it "invokes the default task if no command is specified even if switches are given" do
84
- MyScript.start(["--with", "option"]).must == {"with"=>"option"}
84
+ MyScript.start(["--with", "option"]).should == {"with"=>"option"}
85
85
  end
86
86
 
87
87
  it "inherits the default task from parent" do
88
- MyChildScript.default_task.must == "example_default_task"
88
+ MyChildScript.default_task.should == "example_default_task"
89
89
  end
90
90
  end
91
91
 
92
92
  describe "#map" do
93
93
  it "calls the alias of a method if one is provided" do
94
- MyScript.start(["-T", "fish"]).must == ["fish"]
94
+ MyScript.start(["-T", "fish"]).should == ["fish"]
95
95
  end
96
96
 
97
97
  it "calls the alias of a method if several are provided via .map" do
98
- MyScript.start(["-f", "fish"]).must == ["fish", {}]
99
- MyScript.start(["--foo", "fish"]).must == ["fish", {}]
98
+ MyScript.start(["-f", "fish"]).should == ["fish", {}]
99
+ MyScript.start(["--foo", "fish"]).should == ["fish", {}]
100
100
  end
101
101
 
102
102
  it "inherits all mappings from parent" do
103
- MyChildScript.default_task.must == "example_default_task"
103
+ MyChildScript.default_task.should == "example_default_task"
104
104
  end
105
105
  end
106
106
 
107
107
  describe "#desc" do
108
108
  it "provides description for a task" do
109
109
  content = capture(:stdout) { MyScript.start(["help"]) }
110
- content.must =~ /thor my_script:zoo\s+# zoo around/m
110
+ content.should =~ /thor my_script:zoo\s+# zoo around/m
111
111
  end
112
112
 
113
113
  it "provides no namespace if $thor_runner is false" do
114
114
  begin
115
115
  $thor_runner = false
116
116
  content = capture(:stdout) { MyScript.start(["help"]) }
117
- content.must =~ /thor zoo\s+# zoo around/m
117
+ content.should =~ /thor zoo\s+# zoo around/m
118
118
  ensure
119
119
  $thor_runner = true
120
120
  end
@@ -122,17 +122,17 @@ describe Thor do
122
122
 
123
123
  describe "when :for is supplied" do
124
124
  it "overwrites a previous defined task" do
125
- capture(:stdout) { MyChildScript.start(["help"]) }.must =~ /animal KIND \s+# fish around/m
125
+ capture(:stdout) { MyChildScript.start(["help"]) }.should =~ /animal KIND \s+# fish around/m
126
126
  end
127
127
  end
128
128
 
129
129
  describe "when :hide is supplied" do
130
130
  it "does not show the task in help" do
131
- capture(:stdout) { MyScript.start(["help"]) }.must_not =~ /this is hidden/m
131
+ capture(:stdout) { MyScript.start(["help"]) }.should_not =~ /this is hidden/m
132
132
  end
133
133
 
134
134
  it "but the task is still invokcable not show the task in help" do
135
- MyScript.start(["hidden", "yesyes"]).must == ["yesyes"]
135
+ MyScript.start(["hidden", "yesyes"]).should == ["yesyes"]
136
136
  end
137
137
  end
138
138
  end
@@ -140,79 +140,79 @@ describe Thor do
140
140
  describe "#method_options" do
141
141
  it "sets default options if called before an initializer" do
142
142
  options = MyChildScript.class_options
143
- options[:force].type.must == :boolean
144
- options[:param].type.must == :numeric
143
+ options[:force].type.should == :boolean
144
+ options[:param].type.should == :numeric
145
145
  end
146
146
 
147
147
  it "overwrites default options if called on the method scope" do
148
148
  args = ["zoo", "--force", "--param", "feathers"]
149
149
  options = MyChildScript.start(args)
150
- options.must == { "force" => true, "param" => "feathers" }
150
+ options.should == { "force" => true, "param" => "feathers" }
151
151
  end
152
152
 
153
153
  it "allows default options to be merged with method options" do
154
154
  args = ["animal", "bird", "--force", "--param", "1.0", "--other", "tweets"]
155
155
  arg, options = MyChildScript.start(args)
156
- arg.must == 'bird'
157
- options.must == { "force"=>true, "param"=>1.0, "other"=>"tweets" }
156
+ arg.should == 'bird'
157
+ options.should == { "force"=>true, "param"=>1.0, "other"=>"tweets" }
158
158
  end
159
159
  end
160
160
 
161
161
  describe "#start" do
162
162
  it "calls a no-param method when no params are passed" do
163
- MyScript.start(["zoo"]).must == true
163
+ MyScript.start(["zoo"]).should == true
164
164
  end
165
165
 
166
166
  it "calls a single-param method when a single param is passed" do
167
- MyScript.start(["animal", "fish"]).must == ["fish"]
167
+ MyScript.start(["animal", "fish"]).should == ["fish"]
168
168
  end
169
169
 
170
170
  it "does not set options in attributes" do
171
- MyScript.start(["with_optional", "--all"]).must == [nil, { "all" => true }]
171
+ MyScript.start(["with_optional", "--all"]).should == [nil, { "all" => true }]
172
172
  end
173
173
 
174
174
  it "raises an error if a required param is not provided" do
175
- capture(:stderr) { MyScript.start(["animal"]) }.strip.must == '"animal" was called incorrectly. Call as "thor my_script:animal TYPE".'
175
+ capture(:stderr) { MyScript.start(["animal"]) }.strip.should == '"animal" was called incorrectly. Call as "thor my_script:animal TYPE".'
176
176
  end
177
177
 
178
178
  it "raises an error if the invoked task does not exist" do
179
- capture(:stderr) { Amazing.start(["animal"]) }.strip.must == 'Could not find task "animal" in "amazing" namespace.'
179
+ capture(:stderr) { Amazing.start(["animal"]) }.strip.should == 'Could not find task "animal" in "amazing" namespace.'
180
180
  end
181
181
 
182
182
  it "calls method_missing if an unknown method is passed in" do
183
- MyScript.start(["unk", "hello"]).must == [:unk, ["hello"]]
183
+ MyScript.start(["unk", "hello"]).should == [:unk, ["hello"]]
184
184
  end
185
185
 
186
186
  it "does not call a private method no matter what" do
187
- capture(:stderr) { MyScript.start(["what"]) }.strip.must == 'Could not find task "what" in "my_script" namespace.'
187
+ capture(:stderr) { MyScript.start(["what"]) }.strip.should == 'Could not find task "what" in "my_script" namespace.'
188
188
  end
189
189
 
190
190
  it "uses task default options" do
191
191
  options = MyChildScript.start(["animal", "fish"]).last
192
- options.must == { "other" => "method default" }
192
+ options.should == { "other" => "method default" }
193
193
  end
194
194
 
195
195
  it "raises when an exception happens within the task call" do
196
- lambda { MyScript.start(["call_myself_with_wrong_arity"]) }.must raise_error(ArgumentError)
196
+ lambda { MyScript.start(["call_myself_with_wrong_arity"]) }.should raise_error(ArgumentError)
197
197
  end
198
198
  end
199
199
 
200
200
  describe "#subcommand" do
201
201
  it "maps a given subcommand to another Thor subclass" do
202
202
  barn_help = capture(:stdout){ Scripts::MyDefaults.start(["barn"]) }
203
- barn_help.must include("barn help [COMMAND] # Describe subcommands or one specific subcommand")
203
+ barn_help.should include("barn help [COMMAND] # Describe subcommands or one specific subcommand")
204
204
  end
205
205
 
206
206
  it "passes commands to subcommand classes" do
207
- capture(:stdout){ Scripts::MyDefaults.start(["barn", "open"]) }.strip.must == "Open sesame!"
207
+ capture(:stdout){ Scripts::MyDefaults.start(["barn", "open"]) }.strip.should == "Open sesame!"
208
208
  end
209
209
 
210
210
  it "passes arguments to subcommand classes" do
211
- capture(:stdout){ Scripts::MyDefaults.start(["barn", "open", "shotgun"]) }.strip.must == "That's going to leave a mark."
211
+ capture(:stdout){ Scripts::MyDefaults.start(["barn", "open", "shotgun"]) }.strip.should == "That's going to leave a mark."
212
212
  end
213
213
 
214
214
  it "ignores unknown options (the subcommand class will handle them)" do
215
- capture(:stdout){ Scripts::MyDefaults.start(["barn", "paint", "blue", "--coats", "4"])}.strip.must == "4 coats of blue paint"
215
+ capture(:stdout){ Scripts::MyDefaults.start(["barn", "paint", "blue", "--coats", "4"])}.strip.should == "4 coats of blue paint"
216
216
  end
217
217
  end
218
218
 
@@ -227,43 +227,43 @@ describe Thor do
227
227
  end
228
228
 
229
229
  it "provides useful help info for the help method itself" do
230
- @content.must =~ /help \[TASK\]\s+# Describe available tasks/
230
+ @content.should =~ /help \[TASK\]\s+# Describe available tasks/
231
231
  end
232
232
 
233
233
  it "provides useful help info for a method with params" do
234
- @content.must =~ /animal TYPE\s+# horse around/
234
+ @content.should =~ /animal TYPE\s+# horse around/
235
235
  end
236
236
 
237
237
  it "uses the maximum terminal size to show tasks" do
238
238
  @shell.should_receive(:terminal_width).and_return(80)
239
239
  content = capture(:stdout){ MyScript.help(shell) }
240
- content.must =~ /aaa\.\.\.$/
240
+ content.should =~ /aaa\.\.\.$/
241
241
  end
242
242
 
243
243
  it "provides description for tasks from classes in the same namespace" do
244
- @content.must =~ /baz\s+# do some bazing/
244
+ @content.should =~ /baz\s+# do some bazing/
245
245
  end
246
246
 
247
247
  it "shows superclass tasks" do
248
248
  content = capture(:stdout){ MyChildScript.help(shell) }
249
- content.must =~ /foo BAR \s+# do some fooing/
249
+ content.should =~ /foo BAR \s+# do some fooing/
250
250
  end
251
251
 
252
252
  it "shows class options information" do
253
253
  content = capture(:stdout){ MyChildScript.help(shell) }
254
- content.must =~ /Options\:/
255
- content.must =~ /\[\-\-param=N\]/
254
+ content.should =~ /Options\:/
255
+ content.should =~ /\[\-\-param=N\]/
256
256
  end
257
257
 
258
258
  it "injects class arguments into default usage" do
259
259
  content = capture(:stdout){ Scripts::MyScript.help(shell) }
260
- content.must =~ /zoo ACCESSOR \-\-param\=PARAM/
260
+ content.should =~ /zoo ACCESSOR \-\-param\=PARAM/
261
261
  end
262
262
  end
263
263
 
264
264
  describe "for a specific task" do
265
265
  it "provides full help info when talking about a specific task" do
266
- capture(:stdout) { MyScript.task_help(shell, "foo") }.must == <<-END
266
+ capture(:stdout) { MyScript.task_help(shell, "foo") }.should == <<-END
267
267
  Usage:
268
268
  thor my_script:foo BAR
269
269
 
@@ -279,15 +279,15 @@ END
279
279
  it "raises an error if the task can't be found" do
280
280
  lambda {
281
281
  MyScript.task_help(shell, "unknown")
282
- }.must raise_error(Thor::UndefinedTaskError, 'Could not find task "unknown" in "my_script" namespace.')
282
+ }.should raise_error(Thor::UndefinedTaskError, 'Could not find task "unknown" in "my_script" namespace.')
283
283
  end
284
284
 
285
285
  it "normalizes names before claiming they don't exist" do
286
- capture(:stdout) { MyScript.task_help(shell, "name-with-dashes") }.must =~ /thor my_script:name-with-dashes/
286
+ capture(:stdout) { MyScript.task_help(shell, "name-with-dashes") }.should =~ /thor my_script:name-with-dashes/
287
287
  end
288
288
 
289
289
  it "uses the long description if it exists" do
290
- capture(:stdout) { MyScript.task_help(shell, "long_description") }.must == <<-HELP
290
+ capture(:stdout) { MyScript.task_help(shell, "long_description") }.should == <<-HELP
291
291
  Usage:
292
292
  thor my_script:long_description
293
293
 
@@ -301,17 +301,17 @@ HELP
301
301
  it "doesn't assign the long description to the next task without one" do
302
302
  capture(:stdout) do
303
303
  MyScript.task_help(shell, "name_with_dashes")
304
- end.must_not =~ /so very long/i
304
+ end.should_not =~ /so very long/i
305
305
  end
306
306
  end
307
307
 
308
308
  describe "instance method" do
309
309
  it "calls the class method" do
310
- capture(:stdout){ MyScript.start(["help"]) }.must =~ /Tasks:/
310
+ capture(:stdout){ MyScript.start(["help"]) }.should =~ /Tasks:/
311
311
  end
312
312
 
313
313
  it "calls the class method" do
314
- capture(:stdout){ MyScript.start(["help", "foo"]) }.must =~ /Usage:/
314
+ capture(:stdout){ MyScript.start(["help", "foo"]) }.should =~ /Usage:/
315
315
  end
316
316
  end
317
317
  end
@@ -321,14 +321,14 @@ HELP
321
321
  capture(:stdout) {
322
322
  klass = Class.new(Thor)
323
323
  klass.class_eval "def hello_from_thor; end"
324
- }.must =~ /\[WARNING\] Attempted to create task "hello_from_thor" without usage or description/
324
+ }.should =~ /\[WARNING\] Attempted to create task "hello_from_thor" without usage or description/
325
325
  end
326
326
 
327
327
  it "does not print if overwriting a previous task" do
328
328
  capture(:stdout) {
329
329
  klass = Class.new(Thor)
330
330
  klass.class_eval "def help; end"
331
- }.must be_empty
331
+ }.should be_empty
332
332
  end
333
333
  end
334
334
  end
@@ -9,112 +9,112 @@ end
9
9
  describe Thor::Util do
10
10
  describe "#find_by_namespace" do
11
11
  it "returns 'default' if no namespace is given" do
12
- Thor::Util.find_by_namespace('').must == Scripts::MyDefaults
12
+ Thor::Util.find_by_namespace('').should == Scripts::MyDefaults
13
13
  end
14
14
 
15
15
  it "adds 'default' if namespace starts with :" do
16
- Thor::Util.find_by_namespace(':child').must == Scripts::ChildDefault
16
+ Thor::Util.find_by_namespace(':child').should == Scripts::ChildDefault
17
17
  end
18
18
 
19
19
  it "returns nil if the namespace can't be found" do
20
- Thor::Util.find_by_namespace('thor:core_ext:ordered_hash').must be_nil
20
+ Thor::Util.find_by_namespace('thor:core_ext:ordered_hash').should be_nil
21
21
  end
22
22
 
23
23
  it "returns a class if it matches the namespace" do
24
- Thor::Util.find_by_namespace('app:broken:counter').must == BrokenCounter
24
+ Thor::Util.find_by_namespace('app:broken:counter').should == BrokenCounter
25
25
  end
26
26
 
27
27
  it "matches classes default namespace" do
28
- Thor::Util.find_by_namespace('scripts:my_script').must == Scripts::MyScript
28
+ Thor::Util.find_by_namespace('scripts:my_script').should == Scripts::MyScript
29
29
  end
30
30
  end
31
31
 
32
32
  describe "#namespace_from_thor_class" do
33
33
  it "replaces constant nesting with task namespacing" do
34
- Thor::Util.namespace_from_thor_class("Foo::Bar::Baz").must == "foo:bar:baz"
34
+ Thor::Util.namespace_from_thor_class("Foo::Bar::Baz").should == "foo:bar:baz"
35
35
  end
36
36
 
37
37
  it "snake-cases component strings" do
38
- Thor::Util.namespace_from_thor_class("FooBar::BarBaz::BazBoom").must == "foo_bar:bar_baz:baz_boom"
38
+ Thor::Util.namespace_from_thor_class("FooBar::BarBaz::BazBoom").should == "foo_bar:bar_baz:baz_boom"
39
39
  end
40
40
 
41
41
  it "accepts class and module objects" do
42
- Thor::Util.namespace_from_thor_class(Thor::CoreExt::OrderedHash).must == "thor:core_ext:ordered_hash"
43
- Thor::Util.namespace_from_thor_class(Thor::Util).must == "thor:util"
42
+ Thor::Util.namespace_from_thor_class(Thor::CoreExt::OrderedHash).should == "thor:core_ext:ordered_hash"
43
+ Thor::Util.namespace_from_thor_class(Thor::Util).should == "thor:util"
44
44
  end
45
45
 
46
46
  it "removes Thor::Sandbox namespace" do
47
- Thor::Util.namespace_from_thor_class("Thor::Sandbox::Package").must == "package"
47
+ Thor::Util.namespace_from_thor_class("Thor::Sandbox::Package").should == "package"
48
48
  end
49
49
  end
50
50
 
51
51
  describe "#namespaces_in_content" do
52
52
  it "returns an array of names of constants defined in the string" do
53
53
  list = Thor::Util.namespaces_in_content("class Foo; class Bar < Thor; end; end; class Baz; class Bat; end; end")
54
- list.must include("foo:bar")
55
- list.must_not include("bar:bat")
54
+ list.should include("foo:bar")
55
+ list.should_not include("bar:bat")
56
56
  end
57
57
 
58
58
  it "doesn't put the newly-defined constants in the enclosing namespace" do
59
59
  Thor::Util.namespaces_in_content("class Blat; end")
60
- defined?(Blat).must_not be
61
- defined?(Thor::Sandbox::Blat).must be
60
+ defined?(Blat).should_not be
61
+ defined?(Thor::Sandbox::Blat).should be
62
62
  end
63
63
  end
64
64
 
65
65
  describe "#snake_case" do
66
66
  it "preserves no-cap strings" do
67
- Thor::Util.snake_case("foo").must == "foo"
68
- Thor::Util.snake_case("foo_bar").must == "foo_bar"
67
+ Thor::Util.snake_case("foo").should == "foo"
68
+ Thor::Util.snake_case("foo_bar").should == "foo_bar"
69
69
  end
70
70
 
71
71
  it "downcases all-caps strings" do
72
- Thor::Util.snake_case("FOO").must == "foo"
73
- Thor::Util.snake_case("FOO_BAR").must == "foo_bar"
72
+ Thor::Util.snake_case("FOO").should == "foo"
73
+ Thor::Util.snake_case("FOO_BAR").should == "foo_bar"
74
74
  end
75
75
 
76
76
  it "downcases initial-cap strings" do
77
- Thor::Util.snake_case("Foo").must == "foo"
77
+ Thor::Util.snake_case("Foo").should == "foo"
78
78
  end
79
79
 
80
80
  it "replaces camel-casing with underscores" do
81
- Thor::Util.snake_case("FooBarBaz").must == "foo_bar_baz"
82
- Thor::Util.snake_case("Foo_BarBaz").must == "foo_bar_baz"
81
+ Thor::Util.snake_case("FooBarBaz").should == "foo_bar_baz"
82
+ Thor::Util.snake_case("Foo_BarBaz").should == "foo_bar_baz"
83
83
  end
84
84
 
85
85
  it "places underscores between multiple capitals" do
86
- Thor::Util.snake_case("ABClass").must == "a_b_class"
86
+ Thor::Util.snake_case("ABClass").should == "a_b_class"
87
87
  end
88
88
  end
89
89
 
90
90
  describe "#find_class_and_task_by_namespace" do
91
91
  it "returns a Thor::Group class if full namespace matches" do
92
- Thor::Util.find_class_and_task_by_namespace("my_counter").must == [MyCounter, nil]
92
+ Thor::Util.find_class_and_task_by_namespace("my_counter").should == [MyCounter, nil]
93
93
  end
94
94
 
95
95
  it "returns a Thor class if full namespace matches" do
96
- Thor::Util.find_class_and_task_by_namespace("thor").must == [Thor, nil]
96
+ Thor::Util.find_class_and_task_by_namespace("thor").should == [Thor, nil]
97
97
  end
98
98
 
99
99
  it "returns a Thor class and the task name" do
100
- Thor::Util.find_class_and_task_by_namespace("thor:help").must == [Thor, "help"]
100
+ Thor::Util.find_class_and_task_by_namespace("thor:help").should == [Thor, "help"]
101
101
  end
102
102
 
103
103
  it "falls back in the namespace:task look up even if a full namespace does not match" do
104
104
  Thor.const_set(:Help, Module.new)
105
- Thor::Util.find_class_and_task_by_namespace("thor:help").must == [Thor, "help"]
105
+ Thor::Util.find_class_and_task_by_namespace("thor:help").should == [Thor, "help"]
106
106
  Thor.send :remove_const, :Help
107
107
  end
108
108
 
109
109
  it "falls back on the default namespace class if nothing else matches" do
110
- Thor::Util.find_class_and_task_by_namespace("test").must == [Scripts::MyDefaults, "test"]
110
+ Thor::Util.find_class_and_task_by_namespace("test").should == [Scripts::MyDefaults, "test"]
111
111
  end
112
112
  end
113
113
 
114
114
  describe "#thor_classes_in" do
115
115
  it "returns thor classes inside the given class" do
116
- Thor::Util.thor_classes_in(MyScript).must == [MyScript::AnotherScript]
117
- Thor::Util.thor_classes_in(MyScript::AnotherScript).must be_empty
116
+ Thor::Util.thor_classes_in(MyScript).should == [MyScript::AnotherScript]
117
+ Thor::Util.thor_classes_in(MyScript::AnotherScript).should be_empty
118
118
  end
119
119
  end
120
120
 
@@ -125,14 +125,14 @@ describe Thor::Util do
125
125
  end
126
126
 
127
127
  it "returns the user path if none variable is set on the environment" do
128
- Thor::Util.user_home.must == File.expand_path("~")
128
+ Thor::Util.user_home.should == File.expand_path("~")
129
129
  end
130
130
 
131
131
  it "returns the *unix system path if file cannot be expanded and separator does not exist" do
132
132
  File.should_receive(:expand_path).with("~").and_raise(RuntimeError)
133
133
  previous_value = File::ALT_SEPARATOR
134
134
  capture(:stderr){ File.const_set(:ALT_SEPARATOR, false) }
135
- Thor::Util.user_home.must == "/"
135
+ Thor::Util.user_home.should == "/"
136
136
  capture(:stderr){ File.const_set(:ALT_SEPARATOR, previous_value) }
137
137
  end
138
138
 
@@ -140,24 +140,24 @@ describe Thor::Util do
140
140
  File.should_receive(:expand_path).with("~").and_raise(RuntimeError)
141
141
  previous_value = File::ALT_SEPARATOR
142
142
  capture(:stderr){ File.const_set(:ALT_SEPARATOR, true) }
143
- Thor::Util.user_home.must == "C:/"
143
+ Thor::Util.user_home.should == "C:/"
144
144
  capture(:stderr){ File.const_set(:ALT_SEPARATOR, previous_value) }
145
145
  end
146
146
 
147
147
  it "returns HOME/.thor if set" do
148
148
  ENV.stub!(:[]).with("HOME").and_return("/home/user/")
149
- Thor::Util.user_home.must == "/home/user/"
149
+ Thor::Util.user_home.should == "/home/user/"
150
150
  end
151
151
 
152
152
  it "returns path with HOMEDRIVE and HOMEPATH if set" do
153
153
  ENV.stub!(:[]).with("HOMEDRIVE").and_return("D:/")
154
154
  ENV.stub!(:[]).with("HOMEPATH").and_return("Documents and Settings/James")
155
- Thor::Util.user_home.must == "D:/Documents and Settings/James"
155
+ Thor::Util.user_home.should == "D:/Documents and Settings/James"
156
156
  end
157
157
 
158
158
  it "returns APPDATA/.thor if set" do
159
159
  ENV.stub!(:[]).with("APPDATA").and_return("/home/user/")
160
- Thor::Util.user_home.must == "/home/user/"
160
+ Thor::Util.user_home.should == "/home/user/"
161
161
  end
162
162
  end
163
163
  end