/
loader_spec.rb
70 lines (59 loc) · 2.81 KB
/
loader_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
require 'spec_helper'
describe Specjour::Loader do
describe "#spec_files" do
before do
stub(Dir).pwd { '/home/someone/myproject' }
stub(Dir).chdir
end
it "finds all specs in spec/ by default" do
mock(Dir).[]("/myproject/spec/**/*_spec.rb") { ["/myproject/spec/foo_spec.rb"] }
loader = described_class.new :project_path => "/myproject", :test_paths => ["/myproject"]
loader.spec_files.should =~ ["/myproject/spec/foo_spec.rb"]
end
it "finds all specs in spec directory" do
mock(File).expand_path("spec", "/myproject") { "/myproject/spec" }
stub(File).directory?("/myproject/spec") { true }
mock(Dir).[]("/myproject/spec/**/*_spec.rb") { ["/myproject/spec/foo_spec.rb"] }
loader = described_class.new :project_path => "/myproject", :test_paths => ["spec"]
loader.spec_files.should =~ ["/myproject/spec/foo_spec.rb"]
end
it "doesn't include feature files" do
mock(File).expand_path(anything, "/myproject") { |p| "/myproject/#{p}" }
stub(File).directory?("/myproject/spec") { true }
mock(Dir).[]("/myproject/spec/**/*_spec.rb") { ["/myproject/spec/foo_spec.rb"] }
loader = described_class.new :project_path => "/myproject", :test_paths => ["spec", "features/sign_up.feature"]
loader.spec_files.should =~ ["/myproject/spec/foo_spec.rb"]
end
it "finds one spec file in addition to a directory of specs" do
mock(File).expand_path(anything, "/myproject") { |p| "/myproject/#{p}" }.times(2)
stub(File).directory? { |d| d =~ /helpers/ }
mock(Dir).[]("/myproject/spec/helpers/**/*_spec.rb") do
[
"/myproject/spec/helpers/application_helper_spec.rb",
"/myproject/spec/helpers/phone_number_helper_spec.rb"
]
end
loader = described_class.new :project_path => "/myproject", :test_paths => ["spec/models/user_spec.rb", "spec/helpers"]
loader.spec_files.should =~ [
"/myproject/spec/models/user_spec.rb",
"/myproject/spec/helpers/application_helper_spec.rb",
"/myproject/spec/helpers/phone_number_helper_spec.rb"
]
end
it "finds a unique set of specs" do
mock(File).expand_path(anything, "/myproject") { |p| "/myproject/#{p}" }.times(2)
stub(File).directory? { |d| d =~ /helpers$/ }
mock(Dir).[]("/myproject/spec/helpers/**/*_spec.rb") do
[
"/myproject/spec/helpers/application_helper_spec.rb",
"/myproject/spec/helpers/phone_number_helper_spec.rb"
]
end
loader = described_class.new :project_path => "/myproject", :test_paths => ["spec/helpers/phone_number_helper_spec.rb", "spec/helpers"]
loader.spec_files.should =~ [
"/myproject/spec/helpers/application_helper_spec.rb",
"/myproject/spec/helpers/phone_number_helper_spec.rb"
]
end
end
end