infinity_test 1.0.0 → 1.0.1
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.
- data/History.markdown +7 -0
- data/Readme.markdown +8 -0
- data/VERSION.yml +1 -1
- data/infinity_test.gemspec +1 -1
- data/lib/infinity_test/application.rb +12 -6
- data/lib/infinity_test/builder.rb +11 -0
- data/lib/infinity_test/test_library/test_unit.rb +6 -0
- data/spec/infinity_test/application_spec.rb +7 -0
- data/spec/infinity_test/test_library/test_unit_spec.rb +2 -2
- metadata +2 -2
data/History.markdown
CHANGED
@@ -4,9 +4,16 @@ v1.0.0
|
|
4
4
|
Features
|
5
5
|
--------
|
6
6
|
|
7
|
+
- Added the <b>Fuu</b> images: <a href="https://github.com/tomas-stefano/infinity_test/tree/master/images/fuuu/">https://github.com/tomas-stefano/infinity_test/tree/master/images/fuuu/</a> (thanks to Marcio Giaxia)
|
8
|
+
|
7
9
|
- Added the RVM System Wide support (For more information see http://rvm.beginrescueend.com/deployment/system-wide/ )
|
8
10
|
|
9
11
|
- Added the Heuristics feature(<b>For users who want to add your own paths</b>)
|
12
|
+
|
13
|
+
To see the Heuristics that InfinityTest will see type in ther terminal:
|
14
|
+
|
15
|
+
infinity_test --heuristics
|
16
|
+
|
10
17
|
This example tell to InfinityTest <b>run all the tests when some_file.rb is changed</b>
|
11
18
|
This basic DSL you will put in the <b>infinity_test file</b>:
|
12
19
|
|
data/Readme.markdown
CHANGED
data/VERSION.yml
CHANGED
data/infinity_test.gemspec
CHANGED
@@ -250,12 +250,18 @@ module InfinityTest
|
|
250
250
|
# files_to_run!(match_data) # => return the test file
|
251
251
|
#
|
252
252
|
def files_to_run!(options)
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
253
|
+
files = lambda do
|
254
|
+
options.to_s if options.is_a?(MatchData)
|
255
|
+
if options.equal?(:all) or options.include?(:all)
|
256
|
+
search_files_in_dir(all_test_files, :in_dir => options[:in_dir]).join(' ')
|
257
|
+
else
|
258
|
+
search_file(:pattern => options[:test_for][1], :in_dir => options[:in_dir]) if options.include?(:test_for)
|
259
|
+
end
|
258
260
|
end
|
261
|
+
files = files.call
|
262
|
+
# Fix fo Test::Unit - But this is not responsability of the Application instances - Refactoring this
|
263
|
+
files = "#{test_framework.test_loader} #{files}" if test_framework.respond_to?(:test_loader)
|
264
|
+
files
|
259
265
|
end
|
260
266
|
|
261
267
|
# Search files under the dir(s) specified
|
@@ -271,7 +277,7 @@ module InfinityTest
|
|
271
277
|
# Search files that matches with the pattern
|
272
278
|
#
|
273
279
|
def search_file(options)
|
274
|
-
files = all_test_files.grep(/#{options[:pattern]}/i)
|
280
|
+
files = all_test_files.grep(/#{options[:pattern]}/i)
|
275
281
|
search_files_in_dir(files, :in_dir => options[:in_dir]).join(' ')
|
276
282
|
end
|
277
283
|
|
@@ -1,19 +1,26 @@
|
|
1
1
|
module InfinityTest
|
2
2
|
module Builder
|
3
3
|
|
4
|
+
#
|
5
|
+
# TODO: Refactoring this Ugly Code
|
6
|
+
#
|
4
7
|
#
|
5
8
|
def construct_command(options)
|
6
9
|
binary_name, ruby_version, command, file, environment = resolve_options(options)
|
10
|
+
|
7
11
|
unless have_binary?(binary_name) || options[:skip_binary?]
|
8
12
|
print_message(binary_name, ruby_version)
|
13
|
+
|
9
14
|
else
|
10
15
|
command = "#{command} #{decide_files(file)}"
|
11
16
|
rvm_ruby_version = "rvm #{ruby_version} ruby"
|
17
|
+
|
12
18
|
if application.have_gemfile? and not application.skip_bundler?
|
13
19
|
run_with_bundler!(rvm_ruby_version, command, environment)
|
14
20
|
else
|
15
21
|
run_without_bundler!(rvm_ruby_version, command)
|
16
22
|
end
|
23
|
+
|
17
24
|
end
|
18
25
|
end
|
19
26
|
|
@@ -42,6 +49,10 @@ module InfinityTest
|
|
42
49
|
construct_rubies_commands(file)
|
43
50
|
end
|
44
51
|
|
52
|
+
#
|
53
|
+
# TODO: Refactoring this Ugly Code
|
54
|
+
#
|
55
|
+
#
|
45
56
|
def resolve_options(options)
|
46
57
|
ruby_version = options[:for]
|
47
58
|
binary_name = options[:skip_binary?] ? '' : options[:binary]
|
@@ -373,6 +373,13 @@ module InfinityTest
|
|
373
373
|
match_data = /(infinity_test\/heuristics)/.match('infinity_test/heuristics') #<MatchData "infinity_test/heuristics" 1:"infinity_test/heuristics">
|
374
374
|
application_with_rspec.files_to_run!(:test_for => match_data).should include 'spec/infinity_test/heuristics_spec.rb'
|
375
375
|
end
|
376
|
+
|
377
|
+
it "should return the command with the test_loader" do
|
378
|
+
app = application_with_test_unit
|
379
|
+
app.should_receive(:all_test_files).and_return([ "lib/infinity_test/test_loader.rb", "test/people_test.rb"])
|
380
|
+
match_data = /(people_test.rb)/.match('people_test.rb')
|
381
|
+
app.files_to_run!(:test_for => match_data).should include "lib/infinity_test/test_unit_loader.rb"
|
382
|
+
end
|
376
383
|
|
377
384
|
it "should return the test file the match with the changed file" do
|
378
385
|
match_data = /(infinity_test\/application)/.match('infinity_test/application') #<MatchData "infinity_test/application" 1:"infinity_test/application">
|
@@ -32,13 +32,13 @@ module InfinityTest
|
|
32
32
|
|
33
33
|
it "return should include test/company_test.rb" do
|
34
34
|
Dir.chdir("#{@current_dir}/spec/factories/company") do
|
35
|
-
test_unit.all_files.should
|
35
|
+
test_unit.all_files.should include "test/company_test.rb"
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
39
|
it "return should include more than one file to test" do
|
40
40
|
Dir.chdir("#{@current_dir}/spec/factories/travel") do
|
41
|
-
test_unit.all_files.should eql ["test/partner_test.rb","test/travel_test.rb"]
|
41
|
+
files = test_unit.all_files.should eql ["test/partner_test.rb", "test/travel_test.rb"]
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|