kicker 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/recipes_test.rb DELETED
@@ -1,67 +0,0 @@
1
- require File.expand_path('../test_helper', __FILE__)
2
-
3
- module ReloadDotKick; end
4
-
5
- describe "Kicker::Recipes" do
6
- before do
7
- Kicker::Recipes.reset!
8
- end
9
-
10
- it "returns a list of recipes" do
11
- recipe_files = Kicker::Recipes.recipe_files
12
- if File.exist?(File.expand_path('~/.kick'))
13
- Set.new(recipe_files).should == Set.new(Dir.glob('../../lib/kicker/recipes/**/*.rb'))
14
- else
15
- Dir.glob('../../lib/kicker/recipes/**/*.rb').each do |filename|
16
- recipe_files.should.include?(filename)
17
- end
18
- end
19
- end
20
-
21
- it "returns a list of recipe names" do
22
- expected = Set.new(%w(could_not_handle_file dot_kick execute_cli_command ignore jstest rails ruby).map { |n| n.to_sym })
23
- actual = Kicker::Recipes.recipe_names
24
- if File.exist?(File.expand_path('~/.kick'))
25
- actual.should == expected
26
- else
27
- expected.each do |name|
28
- actual.should.include?(name)
29
- end
30
- end
31
- end
32
-
33
- if File.exist?(File.expand_path('~/.kick'))
34
- it "should add ~/.kick to the load path" do
35
- $:.should.include File.expand_path('~/.kick')
36
- end
37
- else
38
- puts "[!] ~/.kick does not exist, not testing the Kicker directory support."
39
- end
40
-
41
- it "should load a recipe" do
42
- name = Kicker::Recipes.recipe_names.last
43
- recipe name
44
- end
45
-
46
- it "does not break when a recipe is loaded twice" do
47
- name = Kicker::Recipes.recipe_names.last
48
- recipe name
49
- recipe name
50
- end
51
-
52
- it "should define a recipe load callback" do
53
- called = false
54
- recipe('new_recipe') { called = true }
55
- assert !called
56
- recipe(:new_recipe)
57
- assert called
58
- end
59
-
60
- it "should raise if a recipe does not exist" do
61
- begin
62
- recipe :foobar
63
- rescue LoadError => e
64
- e.message.should.start_with "Can't load recipe `foobar', it doesn't exist on disk."
65
- end
66
- end
67
- end
data/test/test_helper.rb DELETED
@@ -1,29 +0,0 @@
1
- require 'rubygems'
2
- require 'test/spec'
3
- require 'mocha'
4
- require 'set'
5
-
6
- $:.unshift File.expand_path('../../lib', __FILE__)
7
- require 'kicker'
8
-
9
- class File
10
- class << self
11
- attr_accessor :existing_files
12
- attr_accessor :use_original_exist
13
-
14
- alias exist_without_stubbing? exist?
15
- def exist?(file)
16
- if use_original_exist
17
- exist_without_stubbing?(file)
18
- else
19
- if existing_files
20
- existing_files.include?(file)
21
- else
22
- raise "Please stub the files you want to exist by setting File.existing_files"
23
- end
24
- end
25
- end
26
- end
27
- end
28
-
29
- File.use_original_exist = true
data/test/utils_test.rb DELETED
@@ -1,193 +0,0 @@
1
- require File.expand_path('../test_helper', __FILE__)
2
-
3
- class Kicker
4
- module Utils
5
- public :will_execute_command, :did_execute_command
6
- end
7
- end
8
-
9
- describe "A Kicker instance, concerning its utility methods" do
10
- before do
11
- utils.stubs(:puts)
12
- end
13
-
14
- after do
15
- Kicker.silent = false
16
- Kicker::Growl.use = true
17
- end
18
-
19
- it "should print a log entry with timestamp" do
20
- now = Time.now
21
- Time.stubs(:now).returns(now)
22
-
23
- utils.expects(:puts).with("#{now.strftime('%H:%M:%S')}.#{now.usec.to_s[0,2]} | the message")
24
- utils.send(:log, 'the message')
25
- end
26
-
27
- it 'should print a log entry with no timestamp in quiet mode' do
28
- before = Kicker.quiet
29
-
30
- utils.expects(:puts).with('the message')
31
-
32
- Kicker.quiet = true
33
- utils.send(:log, 'the message')
34
-
35
- Kicker.quiet = before
36
- end
37
-
38
- it "should log the output of the command indented by 2 spaces and whether or not the command succeeded" do
39
- Kicker::Growl.use = false
40
-
41
- utils.stubs(:`).returns("line 1\nline 2")
42
-
43
- utils.stubs(:last_command_succeeded?).returns(true)
44
- utils.expects(:log).with('Executing: ls')
45
- utils.expects(:puts).with("\nline 1\nline 2\n\n")
46
- utils.expects(:log).with('Success')
47
- utils.execute('ls')
48
-
49
- utils.stubs(:last_command_succeeded?).returns(false)
50
- utils.stubs(:last_command_status).returns(123)
51
- utils.expects(:log).with('Executing: ls')
52
- utils.expects(:puts).with("\nline 1\nline 2\n\n")
53
- utils.expects(:log).with('Failed (123)')
54
- utils.execute('ls')
55
- end
56
-
57
- it "should growl a change occurred and the output" do
58
- utils.stubs(:`).returns("line 1\nline 2")
59
- utils.stubs(:last_command_succeeded?).returns(true)
60
- utils.stubs(:log)
61
-
62
- Kicker::Growl.expects(:change_occured).with { |status| status.command == 'ls' }
63
- Kicker::Growl.expects(:result).with { |status| status.output == "line 1\nline 2" }
64
- utils.execute('ls')
65
- end
66
-
67
- it "should not growl that a change occured in silent mode" do
68
- Kicker.silent = true
69
- utils.stubs(:did_execute_command)
70
-
71
- utils.expects(:log)
72
- Kicker::Growl.expects(:change_occured).never
73
- utils.execute('ls')
74
- end
75
-
76
- it "should only log that is has succeeded in silent mode" do
77
- Kicker.silent = true
78
- Kicker::Growl.expects(:result).with { |status| status.output == "line 1\nline 2" }
79
-
80
- status = Kicker::LogStatusHelper.new(nil, 'ls -l')
81
- status.result("line 1\nline 2", true, 0)
82
-
83
- utils.expects(:log).with("Success")
84
- utils.did_execute_command(status)
85
- end
86
-
87
- it "should fully log that it has failed in silent mode" do
88
- Kicker.silent = true
89
- Kicker::Growl.expects(:result).with { |status| status.output == "line 1\nline 2" }
90
-
91
- utils.expects(:puts).with("\nline 1\nline 2\n\n")
92
- utils.expects(:log).with('Failed (123)')
93
-
94
- status = Kicker::LogStatusHelper.new(nil, 'ls -l')
95
- status.result("line 1\nline 2", false, 123)
96
-
97
- utils.did_execute_command(status)
98
- end
99
-
100
- it "should clear the console before running a command" do
101
- Kicker.clear_console = true
102
- utils.expects(:puts).with("\e[H\e[2J")
103
-
104
- Kicker::Growl.stubs(:change_occured)
105
- status = Kicker::LogStatusHelper.new(nil, 'ls -l')
106
- status.result("line 1\nline 2", false, 123)
107
-
108
- utils.will_execute_command(status)
109
- end
110
-
111
- it "should store the last executed command" do
112
- Kicker::Growl.use = false
113
- utils.stubs(:log)
114
-
115
- utils.execute('date')
116
- utils.last_command.should == 'date'
117
- end
118
-
119
- it "should call the block given to execute and yield the log status helper with status success" do
120
- Kicker.silent = true
121
- Kicker::Growl.use = false
122
- utils.stubs(:last_command_succeeded?).returns(true)
123
-
124
- utils.expects(:log).with('Start!')
125
- utils.expects(:log).with('Done!')
126
-
127
- utils.execute('ls -l') do |status|
128
- if status.after?
129
- if status.success?
130
- 'Done!'
131
- else
132
- 'Ohnoes!'
133
- end
134
- elsif status.before?
135
- 'Start!'
136
- end
137
- end
138
- end
139
-
140
- it "should call the block given to execute and yield the log status helper with status failed" do
141
- Kicker.silent = true
142
- Kicker::Growl.use = false
143
- utils.stubs(:last_command_succeeded?).returns(false)
144
-
145
- utils.expects(:log).with('Start!')
146
- utils.expects(:log).with('Ohnoes!')
147
-
148
- utils.execute('ls -l') do |status|
149
- if status.after?
150
- if status.success?
151
- 'Done!'
152
- else
153
- 'Ohnoes!'
154
- end
155
- elsif status.before?
156
- 'Start!'
157
- end
158
- end
159
- end
160
-
161
- private
162
-
163
- def utils
164
- Kicker::Utils
165
- end
166
- end
167
-
168
- describe "Kernel utility methods" do
169
- before do
170
- utils.stubs(:last_command_succeeded?).returns(true)
171
- end
172
-
173
- it "should forward log calls to the Kicker::Utils module" do
174
- utils.expects(:log).with('the message')
175
- log 'the message'
176
- end
177
-
178
- it "should forward execute calls to the Kicker::Utils module" do
179
- utils.expects(:execute).with('ls')
180
- execute 'ls'
181
- end
182
-
183
- it "should return the last_command" do
184
- utils.stubs(:last_command).returns('abcde')
185
- last_command.should == 'abcde'
186
- end
187
-
188
- private
189
-
190
- def utils
191
- Kicker::Utils
192
- end
193
- end