rubyexts 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/LICENSE +20 -0
- data/README.textile +0 -0
- data/Rakefile +79 -0
- data/TODO.txt +6 -0
- data/lib/rubyexts.rb +102 -0
- data/lib/rubyexts/array.rb +20 -0
- data/lib/rubyexts/attribute.rb +151 -0
- data/lib/rubyexts/capture_io.rb +32 -0
- data/lib/rubyexts/class.rb +177 -0
- data/lib/rubyexts/colored_string.rb +103 -0
- data/lib/rubyexts/enumerable.rb +30 -0
- data/lib/rubyexts/file.rb +84 -0
- data/lib/rubyexts/hash.rb +180 -0
- data/lib/rubyexts/kernel.rb +91 -0
- data/lib/rubyexts/module.rb +53 -0
- data/lib/rubyexts/object.rb +56 -0
- data/lib/rubyexts/object_space.rb +16 -0
- data/lib/rubyexts/os.rb +89 -0
- data/lib/rubyexts/platform.rb +27 -0
- data/lib/rubyexts/random.rb +25 -0
- data/lib/rubyexts/string.rb +92 -0
- data/lib/rubyexts/time.rb +15 -0
- data/lib/rubyexts/time_dsl.rb +62 -0
- data/lib/rubyexts/try_dup.rb +43 -0
- data/lib/rubyexts/unique_array.rb +16 -0
- data/rubyexts.gemspec +36 -0
- data/script/spec +12 -0
- data/spec/rubyexts/array_spec.rb +19 -0
- data/spec/rubyexts/attribute_spec.rb +37 -0
- data/spec/rubyexts/class_spec.rb +1 -0
- data/spec/rubyexts/cli_spec.rb +0 -0
- data/spec/rubyexts/colored_string_spec.rb +9 -0
- data/spec/rubyexts/enumerable_spec.rb +52 -0
- data/spec/rubyexts/file_spec.rb +78 -0
- data/spec/rubyexts/hash_spec.rb +91 -0
- data/spec/rubyexts/kernel_spec.rb +9 -0
- data/spec/rubyexts/module_spec.rb +0 -0
- data/spec/rubyexts/object_space_spec.rb +17 -0
- data/spec/rubyexts/object_spec.rb +57 -0
- data/spec/rubyexts/os_spec.rb +121 -0
- data/spec/rubyexts/platform_spec.rb +0 -0
- data/spec/rubyexts/random_spec.rb +31 -0
- data/spec/rubyexts/string_spec.rb +23 -0
- data/spec/rubyexts/time_dsl_spec.rb +88 -0
- data/spec/rubyexts/time_spec.rb +11 -0
- data/spec/rubyexts/unique_array_spec.rb +0 -0
- data/spec/rubyexts_spec.rb +182 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +16 -0
- metadata +104 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/object"
|
4
|
+
|
5
|
+
class ObjectStub
|
6
|
+
def generator
|
7
|
+
define_instance_method(:new_method) { "return value" }
|
8
|
+
end
|
9
|
+
|
10
|
+
def proxy(*args, &block)
|
11
|
+
return {args: args, block: block}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe Object do
|
16
|
+
before(:each) do
|
17
|
+
@stub = ObjectStub.new
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "#try" do
|
21
|
+
it "should returns nil if given method doesn't exist" do
|
22
|
+
@stub.try(:a_method).should be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it "can takes arguments" do
|
26
|
+
returned = @stub.try(:proxy, :one, :two, :three)
|
27
|
+
returned[:args].should eql([:one, :two, :three])
|
28
|
+
end
|
29
|
+
|
30
|
+
it "can takes block" do
|
31
|
+
returned = @stub.try(:proxy) { [:one, :two, :three] }
|
32
|
+
returned[:block].call.should eql([:one, :two, :three])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "#not_nil?" do
|
37
|
+
it "should be true if object isn't nil" do
|
38
|
+
Object.new.not_nil?.should be_true
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should be false if object is nil" do
|
42
|
+
nil.not_nil?.should be_false
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#define_instance_method" do
|
47
|
+
before(:each) do
|
48
|
+
@stub = ObjectStub.new
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should define instance method" do
|
52
|
+
@stub.generator
|
53
|
+
methods = ObjectStub.instance_methods
|
54
|
+
methods.should include(:new_method)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/os"
|
4
|
+
|
5
|
+
describe OS do
|
6
|
+
before(:each) do
|
7
|
+
@os = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
8
|
+
end
|
9
|
+
|
10
|
+
describe ".parse" do
|
11
|
+
it "should transform 'KEY' => value syntax into key: value" do
|
12
|
+
@os = OS.parse("HOME" => "/Users/botanicus", "PATH" => "/bin:/sbin")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should use ENV by default" do
|
16
|
+
ENV.should eql(OS.parse.original_env)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should save original ENV" do
|
20
|
+
OS.parse.original_env.should eql(ENV)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "basic variables" do
|
25
|
+
before(:each) do
|
26
|
+
@os = OS.new(@os.env.merge(empty: "", digit: "123"))
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should be shortcut for ENV['variable']" do
|
30
|
+
@os.home.should eql("/Users/botanicus")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should returns array of paths if key ends with PATH or LIB" do
|
34
|
+
@os.path.should eql(["/bin", "/sbin"])
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should convert empty string to nil" do
|
38
|
+
@os.empty.should be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should convert string '123' to integer 123" do
|
42
|
+
@os.digit.should eql(123)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#[]" do
|
47
|
+
it "should returns value for given key if key exist" do
|
48
|
+
@os[:home].should eql("/Users/botanicus")
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should returns nil if given key doesn't exist" do
|
52
|
+
@os[:xpath].should be_nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "#==" do
|
57
|
+
it "should be equal if keys and values are equal" do
|
58
|
+
one = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
59
|
+
two = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
60
|
+
one.should == two
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should be equal if keys and sorted values are equal" do
|
64
|
+
one = OS.new(home: "/Users/botanicus", path: "/sbin:/bin")
|
65
|
+
two = OS.new(home: "/Users/botanicus", path: "/bin:/sbin")
|
66
|
+
one.should == two
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should not be equal if keys are equal but values not" do
|
70
|
+
one = OS.new(home: "/Users/one", path: "/bin:/sbin")
|
71
|
+
two = OS.new(home: "/Users/two", path: "/bin:/sbin")
|
72
|
+
one.should_not == two
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should not be equal if keys are different" do
|
76
|
+
one = OS.new(home: "/Users/one")
|
77
|
+
two = OS.new(home: "/Users/two", path: "/bin:/sbin")
|
78
|
+
one.should_not == two
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "#keys" do
|
83
|
+
it "should returns array of ENV keys which are upcased strings" do
|
84
|
+
@os.keys.should be_kind_of(Array)
|
85
|
+
@os.keys.all? { |key| key.should be_kind_of(Symbol) }
|
86
|
+
@os.keys.all? { |key| key.should match(/^[a-z_]+$/) }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
describe "#inspect" do
|
91
|
+
it "should show all the keys" do
|
92
|
+
[:home, :path].each do |key|
|
93
|
+
@os.inspect.should match(%r[#{key}])
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe "#root?" do
|
99
|
+
it "should returns false if user isn't root" do
|
100
|
+
@os.should_not be_root
|
101
|
+
end
|
102
|
+
|
103
|
+
it "should returns true if user is root" do
|
104
|
+
pending do
|
105
|
+
@os.should be_root
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
describe "#method_missing" do
|
111
|
+
it "should returns nil if method doesn't exist and no arguments or block given" do
|
112
|
+
@os.i_do_not_exist.should be_nil
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should raise NoMethodError nil if method doesn't exist and no arguments or block given" do
|
116
|
+
-> { @os.i_do_not_exist {} }.should raise_error(NoMethodError)
|
117
|
+
-> { @os.i_do_not_exist(1) }.should raise_error(NoMethodError)
|
118
|
+
-> { @os.i_do_not_exist(1) {} }.should raise_error(NoMethodError)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
File without changes
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/random"
|
4
|
+
|
5
|
+
describe "Array#random" do
|
6
|
+
before(:each) do
|
7
|
+
@array = (1..1000).to_a
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should returns random item *from array*" do
|
11
|
+
@array.should include(@array.random)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should returns *random* item from array" do
|
15
|
+
@array.random.should_not eql(@array.random)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "Range#random" do
|
20
|
+
before(:each) do
|
21
|
+
@range = (1..1000)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should returns random item *from range*" do
|
25
|
+
@range.should include(@range.random)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should returns *random* item from range" do
|
29
|
+
@range.random.should_not eql(@range.random)
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../../lib/rubyexts/string"
|
4
|
+
|
5
|
+
describe String do
|
6
|
+
describe "#titlecase" do
|
7
|
+
it "should returns titlecased string" do
|
8
|
+
"hello world!".titlecase.should eql("Hello World!")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should play well with unicode" do
|
12
|
+
pending do
|
13
|
+
"čus borče!".titlecase.should eql("Čus Borče!")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "#colorize" do
|
19
|
+
it "should returns colorized string" do
|
20
|
+
"whatever".colorize.should be_kind_of(ColoredString)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# Author: Martin Hrdlička
|
4
|
+
|
5
|
+
require_relative "../../lib/rubyexts/time_dsl"
|
6
|
+
|
7
|
+
SECOND = 1
|
8
|
+
MINUTE = 60 * SECOND
|
9
|
+
HOUR = 60 * MINUTE
|
10
|
+
DAY = 24 * HOUR
|
11
|
+
WEEK = 7 * DAY
|
12
|
+
MONTH = 30 * DAY
|
13
|
+
YEAR = 365 * DAY + 6 * HOUR
|
14
|
+
|
15
|
+
describe TimeDSL do
|
16
|
+
it "should return correct count of seconds for 1.second" do
|
17
|
+
1.second.should eql SECOND
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should return correct count of seconds for 2.seconds" do
|
21
|
+
2.seconds.should eql 2 * SECOND
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return correct count of seconds for 1.minute" do
|
25
|
+
1.minute.should eql MINUTE
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should return correct count of seconds for 2.minutes" do
|
29
|
+
2.minutes.should eql 2 * MINUTE
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return correct count of seconds for 1.hour" do
|
33
|
+
1.hour.should eql HOUR
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should return correct count of seconds for 2.hours" do
|
37
|
+
2.hours.should eql 2 * HOUR
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should return correct count of seconds for 1.day" do
|
41
|
+
1.day.should eql DAY
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should return correct count of seconds for 2.day" do
|
45
|
+
2.day.should eql 2 * DAY
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should return correct count of seconds for 1.week" do
|
49
|
+
1.week.should eql WEEK
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should return correct count of seconds for 2.weeks" do
|
53
|
+
2.weeks.should eql 2 * WEEK
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should return correct count of seconds for 1.month" do
|
57
|
+
1.month.should eql MONTH
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return correct count of seconds for 2.months" do
|
61
|
+
2.months.should eql 2 * MONTH
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should return correct count of seconds for 1.year" do
|
65
|
+
pending "year can have 365 or 366 days"
|
66
|
+
1.year.should eql YEAR
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should return correct count of seconds for 2.years" do
|
70
|
+
pending "year can have 365 or 366 days"
|
71
|
+
2.years.should eql 2 * YEAR
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should return correct since time for any time" do
|
75
|
+
actual_time = ::Time.now
|
76
|
+
1.day.since(actual_time).should eql actual_time + DAY
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should return correct time from now for any time" do
|
80
|
+
actual_time = ::Time.now
|
81
|
+
1.day.from_now(actual_time).should eql actual_time + DAY
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should return correct time ago time for any time" do
|
85
|
+
actual_time = ::Time.now
|
86
|
+
1.day.ago(actual_time).should eql actual_time - DAY
|
87
|
+
end
|
88
|
+
end
|
File without changes
|
@@ -0,0 +1,182 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "../lib/rubyexts"
|
4
|
+
|
5
|
+
describe Kernel do
|
6
|
+
before(:each) do
|
7
|
+
dirname = File.dirname(__FILE__)
|
8
|
+
@path = File.join(dirname, "..", "stubs")
|
9
|
+
@path = File.expand_path(@path)
|
10
|
+
$LOADED_FEATURES.clear
|
11
|
+
end
|
12
|
+
|
13
|
+
def loaded
|
14
|
+
$LOADED_FEATURES.map do |loaded|
|
15
|
+
loaded.sub("#{@path}/acqs/", "")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#acquire" do
|
20
|
+
before(:each) do
|
21
|
+
$:.push(@path) unless $:.include?(@path)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should raise LoadError if given directory doesn't exist at all" do
|
25
|
+
-> { acquire "a/b/c/d/*" }.should raise_error(LoadError)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should raise ArgumentError if given argument isn't a glob" do
|
29
|
+
-> { acquire "a/b/c/d" }.should raise_error(ArgumentError)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should returns empty array if no file match the glob, but the base directory exist" do
|
33
|
+
acquire "acqs/*.i"
|
34
|
+
loaded.should be_kind_of(Array)
|
35
|
+
loaded.should be_empty
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should returns nonempty array if some files matched the glob" do
|
39
|
+
acquire "acqs/**/*"
|
40
|
+
loaded.should be_kind_of(Array)
|
41
|
+
loaded.should_not be_empty
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should returns array with full paths" do
|
45
|
+
acquire "acqs/**/*"
|
46
|
+
$LOADED_FEATURES.each do |file|
|
47
|
+
File.file?(file).should be_true
|
48
|
+
File.expand_path(file).should eql(file)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should use .rb as default extension if any extension specified" do
|
53
|
+
acquire "acqs/**/*"
|
54
|
+
loaded.should include("lib.rb")
|
55
|
+
loaded.should include("dir/lib.rb")
|
56
|
+
loaded.should_not include("tasks.thor")
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should load even files with another extension than just .rb" do
|
60
|
+
acquire "acqs/**/*.thor"
|
61
|
+
loaded.should include("tasks.thor")
|
62
|
+
loaded.should_not include("lib.rb")
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should ignore dotfiles" do
|
66
|
+
acquire "acqs/**/*"
|
67
|
+
loaded.should_not include(".hidden.rb")
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should ignore nonruby files" do
|
71
|
+
acquire "acqs/**/*"
|
72
|
+
loaded.should_not include("tasks.thor")
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should permit to exclude a file" do
|
76
|
+
acquire "acqs/**/*", exclude: "dir/lib.rb"
|
77
|
+
loaded.should include("lib.rb")
|
78
|
+
loaded.should_not include("dir/lib.rb")
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should permit to exclude array of files" do
|
82
|
+
acquire "acqs/**/*", exclude: ["lib.rb", "dir/lib.rb"]
|
83
|
+
loaded.should_not include("lib.rb")
|
84
|
+
loaded.should_not include("dir/lib.rb")
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should permit to exclude a glob" do
|
88
|
+
acquire "acqs/**/*", exclude: "**/*_spec.rb"
|
89
|
+
loaded.should include("dir/lib.rb")
|
90
|
+
loaded.should_not include("dir/lib_spec.rb")
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should permit to exclude list of globs" do
|
94
|
+
acquire "acqs/**/*", exclude: ["**/*_spec.rb", "**/lib.rb"]
|
95
|
+
loaded.should_not include("lib.rb")
|
96
|
+
loaded.should_not include("dir/lib.rb")
|
97
|
+
loaded.should_not include("dir/lib_spec.rb")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
describe "#acquire_relative" do
|
102
|
+
before(:each) do
|
103
|
+
$:.delete(@path)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should raise LoadError if given directory doesn't exist at all" do
|
107
|
+
-> { acquire_relative "a/b/c/d/*" }.should raise_error(LoadError)
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should raise ArgumentError if given argument isn't a glob" do
|
111
|
+
-> { acquire_relative "a/b/c/d" }.should raise_error(ArgumentError)
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should returns empty array if no file match the glob, but the base directory exist" do
|
115
|
+
acquire_relative "../stubs/acqs/*.i"
|
116
|
+
loaded.should be_kind_of(Array)
|
117
|
+
loaded.should be_empty
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should returns nonempty array if some files matched the glob" do
|
121
|
+
acquire_relative "../stubs/acqs/**/*"
|
122
|
+
loaded.should be_kind_of(Array)
|
123
|
+
loaded.should_not be_empty
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should returns array with full paths" do
|
127
|
+
acquire_relative "../stubs/acqs/**/*"
|
128
|
+
$LOADED_FEATURES.each do |file|
|
129
|
+
File.file?(file).should be_true
|
130
|
+
File.expand_path(file).should eql(file)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should use .rb as default extension if any extension specified" do
|
135
|
+
acquire_relative "../stubs/acqs/**/*"
|
136
|
+
loaded.should include("lib.rb")
|
137
|
+
loaded.should include("dir/lib.rb")
|
138
|
+
loaded.should_not include("tasks.thor")
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should load even files with another extension than just .rb" do
|
142
|
+
acquire_relative "../stubs/acqs/**/*.thor"
|
143
|
+
loaded.should include("tasks.thor")
|
144
|
+
loaded.should_not include("lib.rb")
|
145
|
+
end
|
146
|
+
|
147
|
+
it "should ignore dotfiles" do
|
148
|
+
acquire_relative "../stubs/acqs/**/*"
|
149
|
+
loaded.should_not include(".hidden.rb")
|
150
|
+
end
|
151
|
+
|
152
|
+
it "should ignore nonruby files" do
|
153
|
+
acquire_relative "../stubs/acqs/**/*"
|
154
|
+
loaded.should_not include("tasks.thor")
|
155
|
+
end
|
156
|
+
|
157
|
+
it "should permit to exclude a file" do
|
158
|
+
acquire_relative "../stubs/acqs/**/*", exclude: "dir/lib.rb"
|
159
|
+
loaded.should include("lib.rb")
|
160
|
+
loaded.should_not include("dir/lib.rb")
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should permit to exclude array of files" do
|
164
|
+
acquire_relative "../stubs/acqs/**/*", exclude: ["lib.rb", "dir/lib.rb"]
|
165
|
+
loaded.should_not include("lib.rb")
|
166
|
+
loaded.should_not include("dir/lib.rb")
|
167
|
+
end
|
168
|
+
|
169
|
+
it "should permit to exclude a glob" do
|
170
|
+
acquire_relative "../stubs/acqs/**/*", exclude: "**/*_spec.rb"
|
171
|
+
loaded.should include("dir/lib.rb")
|
172
|
+
loaded.should_not include("dir/lib_spec.rb")
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should permit to exclude list of globs" do
|
176
|
+
acquire_relative "../stubs/acqs/**/*", exclude: ["**/*_spec.rb", "**/lib.rb"]
|
177
|
+
loaded.should_not include("lib.rb")
|
178
|
+
loaded.should_not include("dir/lib.rb")
|
179
|
+
loaded.should_not include("dir/lib_spec.rb")
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|