fun_with_gems 0.0.3 → 0.0.8
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.
- checksums.yaml +5 -13
- data/.document +5 -0
- data/CHANGELOG.markdown +21 -0
- data/Gemfile +6 -11
- data/README.rdoc +125 -1
- data/ROADMAP.md +6 -0
- data/Rakefile +8 -7
- data/VERSION +1 -1
- data/lib/fun_with/gems/api_extender.rb +46 -0
- data/lib/fun_with/gems/configuration_installer.rb +86 -0
- data/lib/fun_with/gems/constant_builder.rb +36 -0
- data/lib/fun_with/gems/core_extender.rb +65 -0
- data/lib/fun_with/gems/core_extensions/module.rb +9 -3
- data/lib/fun_with/gems/fun_gem_api.rb +31 -10
- data/lib/fun_with/gems/gem_api.rb +74 -52
- data/lib/fun_with/gems/inclusionizer.rb +34 -0
- data/lib/fun_with/gems/library_requirer.rb +54 -0
- data/lib/fun_with/gems/rake_class_methods.rb +26 -13
- data/lib/fun_with/gems/rakefile.rb +109 -1
- data/lib/fun_with/gems/root_setter.rb +19 -0
- data/lib/fun_with/gems/test_case_extender.rb +27 -0
- data/lib/fun_with/gems/testing/assertions.rb +22 -0
- data/lib/fun_with/gems/testing/gem_to_test_methods.rb +37 -0
- data/lib/fun_with/gems/testing/test_case_extensions.rb +39 -0
- data/lib/fun_with/gems/testing/test_results.rb +40 -0
- data/lib/fun_with/gems/testing/test_setup.rb +22 -0
- data/lib/fun_with/gems/testing/test_suite_runner.rb +28 -0
- data/lib/fun_with/gems/testing/validator.rb +52 -0
- data/lib/fun_with/gems/versionizer.rb +41 -0
- data/lib/fun_with_gems.rb +13 -17
- data/lib/tasks/fun_with/gems/publish.rake +8 -0
- data/lib/tasks/fun_with/gems/validate.rake +28 -0
- data/tasks/empty/empty.rake +6 -0
- data/tasks/empty/environment.rake +7 -0
- data/test/assertions.rb +15 -0
- data/test/data/test_gems/array_inherits_enumerable/VERSION +1 -0
- data/test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/comparable.rb +9 -0
- data/test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/enumerable.rb +10 -0
- data/test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/numeric.rb +22 -0
- data/test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable.rb +1 -0
- data/test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/gem_api.rb +10 -0
- data/test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/llama.rb +40 -0
- data/test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/trainer.rb +15 -0
- data/test/data/test_gems/integer_magic/VERSION +1 -0
- data/test/data/test_gems/integer_magic/config/gem_config.rb +4 -0
- data/test/data/test_gems/integer_magic/lib/integer_magic/core_extensions/integer.rb +28 -0
- data/test/data/test_gems/integer_magic/lib/integer_magic/core_extensions/numeric.rb +13 -0
- data/test/data/test_gems/integer_magic/lib/integer_magic.rb +1 -0
- data/test/helper.rb +9 -38
- data/test/test_core_extensions.rb +10 -0
- data/test/test_fun_with_gems.rb +9 -16
- data/test/test_library_requirer.rb +13 -0
- data/test/test_the_test_case.rb +24 -0
- data/test/test_the_test_gems.rb +152 -0
- metadata +123 -43
- data/lib/fun_with/gems/test_results.rb +0 -38
- data/lib/fun_with/gems/test_suite_runner.rb +0 -26
- data/lib/fun_with/gems/validator.rb +0 -50
- data/test/test_gem/lib/fun_with/llamas/llama.rb +0 -9
- data/test/test_gem/lib/fun_with/llamas/trainer.rb +0 -9
- /data/test/{test_gem → data/test_gems/fun_with_llamas}/VERSION +0 -0
- /data/test/{test_gem → data/test_gems/fun_with_llamas}/lib/fun_with_llamas.rb +0 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
require 'helper'
|
|
2
|
+
|
|
3
|
+
class TestTheTestGems < FunWith::Gems::TestCase
|
|
4
|
+
def load_llamas
|
|
5
|
+
load_gem( :llamas )
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def load_integer_magic
|
|
9
|
+
load_gem( :integer_magic )
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def load_array_inherits_enumerable
|
|
13
|
+
load_gem( :array_inherits_enumerable )
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def load_gem( g )
|
|
17
|
+
@test_gem_dir = FunWith::Gems.root( "test", "data", "test_gems" )
|
|
18
|
+
|
|
19
|
+
case g
|
|
20
|
+
when :llamas
|
|
21
|
+
@test_gem_dir.join( "fun_with_llamas", "lib", "fun_with_llamas.rb" ).requir
|
|
22
|
+
assert defined?( FunWith::Llamas )
|
|
23
|
+
when :integer_magic
|
|
24
|
+
@test_gem_dir.join( "integer_magic", "lib", "integer_magic.rb" ).requir
|
|
25
|
+
assert defined?( IntegerMagic )
|
|
26
|
+
when :array_inherits_enumerable
|
|
27
|
+
@test_gem_dir.join( "array_inherits_enumerable", "lib", "array_inherits_enumerable.rb" ).requir
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
context "testing gem loading" do
|
|
32
|
+
setup do
|
|
33
|
+
# load Llama gem
|
|
34
|
+
load_llamas
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
should "load llama gem" do
|
|
38
|
+
assert defined?( FunWith )
|
|
39
|
+
assert defined?( FunWith::Llamas )
|
|
40
|
+
assert defined?( FunWith::Llamas::Llama )
|
|
41
|
+
assert defined?( FunWith::Llamas::Trainer )
|
|
42
|
+
assert_respond_to( FunWith::Llamas::Llama.new( "Ella" ), :spit )
|
|
43
|
+
|
|
44
|
+
assert_equal 3, FunWith::Llamas.version.major
|
|
45
|
+
assert_equal 5, FunWith::Llamas.version.minor
|
|
46
|
+
assert_equal 2, FunWith::Llamas.version.patch
|
|
47
|
+
|
|
48
|
+
assert FunWith::Llamas.valid_gem?
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
should "extend the FunWith::Llamas gem with its GemAPI" do
|
|
52
|
+
assert_respond_to( FunWith::Llamas, :can_make_the_llamas_dance? )
|
|
53
|
+
assert FunWith::Llamas.can_make_the_llamas_dance?
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
should "demonstrate festive llama/trainer interaction" do
|
|
57
|
+
trainer = FunWith::Llamas::Trainer.new( "Karsten" )
|
|
58
|
+
llama = FunWith::Llamas::Llama.new( "Babette" )
|
|
59
|
+
|
|
60
|
+
assert_false llama.knows?( trainer )
|
|
61
|
+
|
|
62
|
+
trainer.brush( llama )
|
|
63
|
+
|
|
64
|
+
assert_true llama.knows?( trainer )
|
|
65
|
+
|
|
66
|
+
assert_equal 1, llama.trainer_score( trainer )
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
context "testing core_extension functionality" do
|
|
71
|
+
setup do
|
|
72
|
+
load_integer_magic
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
should "load IntegerMagic gem" do
|
|
76
|
+
assert defined?( IntegerMagic )
|
|
77
|
+
assert_fun_gem( IntegerMagic )
|
|
78
|
+
assert_version( IntegerMagic, "3.1.4" )
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
should "successfully load core_extension modules" do
|
|
82
|
+
assert defined?( IntegerMagic::CoreExtensions::Integer )
|
|
83
|
+
assert defined?( IntegerMagic::CoreExtensions::Numeric )
|
|
84
|
+
assert defined?( IntegerMagic::CoreExtensions::Integer::Constants )
|
|
85
|
+
assert defined?( IntegerMagic::CoreExtensions::Integer::InstanceMethods )
|
|
86
|
+
assert defined?( IntegerMagic::CoreExtensions::Integer::ClassMethods )
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
should "include core_extension functionality on Integer and Numeric" do
|
|
90
|
+
assert_respond_to( 6, :odd? )
|
|
91
|
+
assert_respond_to( 5, :even? )
|
|
92
|
+
refute 6.odd?
|
|
93
|
+
refute 5.even?
|
|
94
|
+
|
|
95
|
+
assert_respond_to( 4.1, :integer? )
|
|
96
|
+
assert_respond_to( Integer, :thinking_of_a_number_between_zero_and )
|
|
97
|
+
assert_equal( :you_guessed_correctly, Integer.thinking_of_a_number_between_zero_and( 1_000_000 ) )
|
|
98
|
+
assert_zero( Integer::ZERO )
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
context "testing install of default configurations" do
|
|
103
|
+
setup do
|
|
104
|
+
load_integer_magic
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# To make this test pass, I'll need to clear out the fun_gem cruft from FunWith::Configurations,
|
|
108
|
+
# then make FunWith::Gems dependent on it rather than vice versa.
|
|
109
|
+
should "load a default configuration" do
|
|
110
|
+
assert_respond_to( IntegerMagic, :config ) if defined?( FunWith::Configurations )
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
context "load ArrayInheritsEnumerable gem" do
|
|
115
|
+
setup do
|
|
116
|
+
load_array_inherits_enumerable
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
should "extend Enumerable" do
|
|
120
|
+
assert defined?( ArrayInheritsEnumerable::CoreExtensions::Enumerable )
|
|
121
|
+
assert_includes( Enumerable.included_modules, ArrayInheritsEnumerable::CoreExtensions::Enumerable )
|
|
122
|
+
assert_includes( Enumerable.instance_methods, :array_should_have_this_method )
|
|
123
|
+
|
|
124
|
+
assert_respond_to( [], :array_should_have_this_method )
|
|
125
|
+
assert_respond_to( {}, :array_should_have_this_method )
|
|
126
|
+
assert_respond_to( Set.new, :array_should_have_this_method )
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
should "extend Comparable" do
|
|
130
|
+
assert defined?( ArrayInheritsEnumerable::CoreExtensions::Comparable )
|
|
131
|
+
assert_includes( Comparable.included_modules, ArrayInheritsEnumerable::CoreExtensions::Comparable )
|
|
132
|
+
assert_includes( Comparable.instance_methods, :string_should_have_this_method )
|
|
133
|
+
|
|
134
|
+
assert_respond_to( "", :string_should_have_this_method )
|
|
135
|
+
assert_respond_to( 3, :string_should_have_this_method ) # because Integer is also Comparable
|
|
136
|
+
assert_equal( :it_does, Time.now.string_should_have_this_method ) # and so is Time
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
should "extend Numeric" do
|
|
140
|
+
assert defined?( ArrayInheritsEnumerable::CoreExtensions::Numeric )
|
|
141
|
+
assert_respond_to( 3, :prime? )
|
|
142
|
+
assert_equal :maybe, 3.prime?
|
|
143
|
+
|
|
144
|
+
assert_respond_to( Numeric, :give_me_a_random_number )
|
|
145
|
+
assert_equal :no, Numeric.give_me_a_random_number
|
|
146
|
+
assert_equal :no, Integer.give_me_a_random_number
|
|
147
|
+
assert_equal :no, Float.give_me_a_random_number
|
|
148
|
+
|
|
149
|
+
assert_greater_than 10 ** 100, Numeric::COUNTLESS
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
metadata
CHANGED
|
@@ -1,121 +1,201 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fun_with_gems
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bryce Anderson
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
13
|
+
name: juwelier
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
|
-
- -
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
18
24
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0
|
|
20
|
-
|
|
25
|
+
version: '0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: rake
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
21
31
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '0
|
|
32
|
+
version: '0'
|
|
23
33
|
type: :runtime
|
|
24
34
|
prerelease: false
|
|
25
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
36
|
requirements:
|
|
27
|
-
- -
|
|
37
|
+
- - ">="
|
|
28
38
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 0
|
|
30
|
-
|
|
39
|
+
version: '0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: fun_with_files
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0.0'
|
|
47
|
+
- - ">="
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: 0.0.17
|
|
50
|
+
type: :runtime
|
|
51
|
+
prerelease: false
|
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
53
|
+
requirements:
|
|
54
|
+
- - "~>"
|
|
31
55
|
- !ruby/object:Gem::Version
|
|
32
56
|
version: '0.0'
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: 0.0.17
|
|
33
60
|
- !ruby/object:Gem::Dependency
|
|
34
61
|
name: fun_with_version_strings
|
|
35
62
|
requirement: !ruby/object:Gem::Requirement
|
|
36
63
|
requirements:
|
|
37
|
-
- -
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.0.3
|
|
40
|
-
- - ~>
|
|
64
|
+
- - "~>"
|
|
41
65
|
- !ruby/object:Gem::Version
|
|
42
66
|
version: '0.0'
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 0.0.4
|
|
43
70
|
type: :runtime
|
|
44
71
|
prerelease: false
|
|
45
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
73
|
requirements:
|
|
47
|
-
- -
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: 0.0.3
|
|
50
|
-
- - ~>
|
|
74
|
+
- - "~>"
|
|
51
75
|
- !ruby/object:Gem::Version
|
|
52
76
|
version: '0.0'
|
|
77
|
+
- - ">="
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: 0.0.4
|
|
80
|
+
- !ruby/object:Gem::Dependency
|
|
81
|
+
name: sorted_set
|
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
|
83
|
+
requirements:
|
|
84
|
+
- - ">="
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
version: '0'
|
|
87
|
+
type: :runtime
|
|
88
|
+
prerelease: false
|
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
90
|
+
requirements:
|
|
91
|
+
- - ">="
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: '0'
|
|
53
94
|
- !ruby/object:Gem::Dependency
|
|
54
95
|
name: fun_with_testing
|
|
55
96
|
requirement: !ruby/object:Gem::Requirement
|
|
56
97
|
requirements:
|
|
57
|
-
- - ~>
|
|
98
|
+
- - "~>"
|
|
58
99
|
- !ruby/object:Gem::Version
|
|
59
100
|
version: '0.0'
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 0.0.8
|
|
60
104
|
type: :development
|
|
61
105
|
prerelease: false
|
|
62
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
63
107
|
requirements:
|
|
64
|
-
- - ~>
|
|
108
|
+
- - "~>"
|
|
65
109
|
- !ruby/object:Gem::Version
|
|
66
110
|
version: '0.0'
|
|
111
|
+
- - ">="
|
|
112
|
+
- !ruby/object:Gem::Version
|
|
113
|
+
version: 0.0.8
|
|
67
114
|
description: Dependency for FunWith gems, simplifies the setup of new gems, installing
|
|
68
115
|
version data, root filepath, and default requirements.
|
|
69
116
|
email: keeputahweird@gmail.com
|
|
70
117
|
executables: []
|
|
71
118
|
extensions: []
|
|
72
119
|
extra_rdoc_files:
|
|
120
|
+
- CHANGELOG.markdown
|
|
73
121
|
- LICENSE.txt
|
|
74
122
|
- README.rdoc
|
|
75
123
|
files:
|
|
76
|
-
-
|
|
77
|
-
- ./lib/fun_with/gems/fun_gem_api.rb
|
|
78
|
-
- ./lib/fun_with/gems/gem_api.rb
|
|
79
|
-
- ./lib/fun_with/gems/rake_class_methods.rb
|
|
80
|
-
- ./lib/fun_with/gems/rakefile.rb
|
|
81
|
-
- ./lib/fun_with/gems/test_results.rb
|
|
82
|
-
- ./lib/fun_with/gems/test_suite_runner.rb
|
|
83
|
-
- ./lib/fun_with/gems/validator.rb
|
|
84
|
-
- ./lib/fun_with_gems.rb
|
|
85
|
-
- ./test/helper.rb
|
|
86
|
-
- ./test/test_fun_with_gems.rb
|
|
87
|
-
- ./test/test_gem/VERSION
|
|
88
|
-
- ./test/test_gem/lib/fun_with/llamas/llama.rb
|
|
89
|
-
- ./test/test_gem/lib/fun_with/llamas/trainer.rb
|
|
90
|
-
- ./test/test_gem/lib/fun_with_llamas.rb
|
|
124
|
+
- ".document"
|
|
91
125
|
- CHANGELOG.markdown
|
|
92
126
|
- Gemfile
|
|
93
127
|
- LICENSE.txt
|
|
94
128
|
- README.rdoc
|
|
129
|
+
- ROADMAP.md
|
|
95
130
|
- Rakefile
|
|
96
131
|
- VERSION
|
|
132
|
+
- lib/fun_with/gems/api_extender.rb
|
|
133
|
+
- lib/fun_with/gems/configuration_installer.rb
|
|
134
|
+
- lib/fun_with/gems/constant_builder.rb
|
|
135
|
+
- lib/fun_with/gems/core_extender.rb
|
|
136
|
+
- lib/fun_with/gems/core_extensions/module.rb
|
|
137
|
+
- lib/fun_with/gems/fun_gem_api.rb
|
|
138
|
+
- lib/fun_with/gems/gem_api.rb
|
|
139
|
+
- lib/fun_with/gems/inclusionizer.rb
|
|
140
|
+
- lib/fun_with/gems/library_requirer.rb
|
|
141
|
+
- lib/fun_with/gems/rake_class_methods.rb
|
|
142
|
+
- lib/fun_with/gems/rakefile.rb
|
|
143
|
+
- lib/fun_with/gems/root_setter.rb
|
|
144
|
+
- lib/fun_with/gems/test_case_extender.rb
|
|
145
|
+
- lib/fun_with/gems/testing/assertions.rb
|
|
146
|
+
- lib/fun_with/gems/testing/gem_to_test_methods.rb
|
|
147
|
+
- lib/fun_with/gems/testing/test_case_extensions.rb
|
|
148
|
+
- lib/fun_with/gems/testing/test_results.rb
|
|
149
|
+
- lib/fun_with/gems/testing/test_setup.rb
|
|
150
|
+
- lib/fun_with/gems/testing/test_suite_runner.rb
|
|
151
|
+
- lib/fun_with/gems/testing/validator.rb
|
|
152
|
+
- lib/fun_with/gems/versionizer.rb
|
|
153
|
+
- lib/fun_with_gems.rb
|
|
154
|
+
- lib/tasks/fun_with/gems/publish.rake
|
|
155
|
+
- lib/tasks/fun_with/gems/validate.rake
|
|
156
|
+
- tasks/empty/empty.rake
|
|
157
|
+
- tasks/empty/environment.rake
|
|
158
|
+
- test/assertions.rb
|
|
159
|
+
- test/data/test_gems/array_inherits_enumerable/VERSION
|
|
160
|
+
- test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable.rb
|
|
161
|
+
- test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/comparable.rb
|
|
162
|
+
- test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/enumerable.rb
|
|
163
|
+
- test/data/test_gems/array_inherits_enumerable/lib/array_inherits_enumerable/core_extensions/numeric.rb
|
|
164
|
+
- test/data/test_gems/fun_with_llamas/VERSION
|
|
165
|
+
- test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/gem_api.rb
|
|
166
|
+
- test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/llama.rb
|
|
167
|
+
- test/data/test_gems/fun_with_llamas/lib/fun_with/llamas/trainer.rb
|
|
168
|
+
- test/data/test_gems/fun_with_llamas/lib/fun_with_llamas.rb
|
|
169
|
+
- test/data/test_gems/integer_magic/VERSION
|
|
170
|
+
- test/data/test_gems/integer_magic/config/gem_config.rb
|
|
171
|
+
- test/data/test_gems/integer_magic/lib/integer_magic.rb
|
|
172
|
+
- test/data/test_gems/integer_magic/lib/integer_magic/core_extensions/integer.rb
|
|
173
|
+
- test/data/test_gems/integer_magic/lib/integer_magic/core_extensions/numeric.rb
|
|
174
|
+
- test/helper.rb
|
|
175
|
+
- test/test_core_extensions.rb
|
|
176
|
+
- test/test_fun_with_gems.rb
|
|
177
|
+
- test/test_library_requirer.rb
|
|
178
|
+
- test/test_the_test_case.rb
|
|
179
|
+
- test/test_the_test_gems.rb
|
|
97
180
|
homepage: http://github.com/darthschmoo/fun_with_gems
|
|
98
181
|
licenses:
|
|
99
182
|
- MIT
|
|
100
183
|
metadata: {}
|
|
101
|
-
post_install_message:
|
|
102
184
|
rdoc_options: []
|
|
103
185
|
require_paths:
|
|
104
186
|
- lib
|
|
105
187
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
188
|
requirements:
|
|
107
|
-
- -
|
|
189
|
+
- - ">="
|
|
108
190
|
- !ruby/object:Gem::Version
|
|
109
191
|
version: '0'
|
|
110
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
193
|
requirements:
|
|
112
|
-
- -
|
|
194
|
+
- - ">="
|
|
113
195
|
- !ruby/object:Gem::Version
|
|
114
196
|
version: '0'
|
|
115
197
|
requirements: []
|
|
116
|
-
|
|
117
|
-
rubygems_version: 2.2.2
|
|
118
|
-
signing_key:
|
|
198
|
+
rubygems_version: 4.0.14
|
|
119
199
|
specification_version: 4
|
|
120
|
-
summary:
|
|
200
|
+
summary: 'Dependency for most of my FunWith:: gems. Not much use standalone.'
|
|
121
201
|
test_files: []
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
module FunWith
|
|
2
|
-
module Gems
|
|
3
|
-
class TestResults
|
|
4
|
-
TEST_SUITE_DATA_REGEX = /(?<tests>\d+) (?:tests|runs), (?<assertions>\d+) assertions, (?<failures>\d+) failures, (?<errors>\d+) errors, (?<skips>\d+) skips/
|
|
5
|
-
|
|
6
|
-
attr_accessor :output, :test_results_found, :gem_const, :fail_count
|
|
7
|
-
|
|
8
|
-
def initialize g
|
|
9
|
-
self.gem_const = g
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def passed?
|
|
13
|
-
self.scan_test_results
|
|
14
|
-
self.test_results_found? && no_failures_or_errors?
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def test_results_found?
|
|
18
|
-
self.test_results_found
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def no_failures_or_errors?
|
|
22
|
-
fail_count == 0
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def scan_test_results
|
|
26
|
-
raise "No output to scan!" if self.output.nil?
|
|
27
|
-
|
|
28
|
-
if m = self.output.match( TEST_SUITE_DATA_REGEX )
|
|
29
|
-
self.test_results_found = true
|
|
30
|
-
self.fail_count = m[:failures].to_i + m[:errors].to_i
|
|
31
|
-
else
|
|
32
|
-
self.fail_count = -1
|
|
33
|
-
self.test_results_found = false
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module FunWith
|
|
2
|
-
module Gems
|
|
3
|
-
class TestSuiteRunner
|
|
4
|
-
attr_accessor :gem_const
|
|
5
|
-
|
|
6
|
-
def initialize fwgem
|
|
7
|
-
self.gem_const = fwgem
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def passes_tests?
|
|
11
|
-
result = self.run_tests
|
|
12
|
-
result.passed?
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def run_tests
|
|
16
|
-
filepath = self.gem_const.root
|
|
17
|
-
|
|
18
|
-
results = TestResults.new( self.gem_const )
|
|
19
|
-
|
|
20
|
-
puts "running tests on #{self.gem_const} from #{filepath}"
|
|
21
|
-
results.output = `cd #{filepath} && rake test`
|
|
22
|
-
results
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
module FunWith
|
|
2
|
-
module Gems
|
|
3
|
-
class Validator
|
|
4
|
-
def self.validate( gem_const )
|
|
5
|
-
self.new( gem_const ).validate
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def initialize( gem_const )
|
|
9
|
-
@gem_const = gem_const
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# should be available via the gem itgem_const?
|
|
13
|
-
def validate
|
|
14
|
-
@fun_gem_errors = []
|
|
15
|
-
|
|
16
|
-
if @gem_const.respond_to?(:root)
|
|
17
|
-
if @gem_const.root.is_a?( FunWith::Files::FilePath )
|
|
18
|
-
@fun_gem_errors << ".root() doesn't exist" unless @gem_const.root.directory?
|
|
19
|
-
@fun_gem_errors << "VERSION file doesn't exist" unless @gem_const.root("VERSION").file?
|
|
20
|
-
@fun_gem_errors << "CHANGELOG.markdown doesn't exist" unless @gem_const.root("CHANGELOG.markdown")
|
|
21
|
-
@fun_gem_errors << "lib directory doesn't exist" unless @gem_const.root("lib").directory?
|
|
22
|
-
else
|
|
23
|
-
@fun_gem_errors << ".root() doesn't give a filepath"
|
|
24
|
-
end
|
|
25
|
-
else
|
|
26
|
-
@fun_gem_errors << "doesn't respond to .root()"
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
if ! @gem_const.respond_to?(:version)
|
|
30
|
-
@fun_gem_errors << "doesn't respond to .version()"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
@fun_gem_errors
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def fun_gem_errors
|
|
37
|
-
@fun_gem_errors
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def git_up_to_date?( filepath )
|
|
41
|
-
# On branch master
|
|
42
|
-
# Your branch is ahead of 'origin/master' by 1 commit.
|
|
43
|
-
# (use "git push" to publish your local commits)
|
|
44
|
-
#
|
|
45
|
-
# nothing to commit, working directory clean
|
|
46
|
-
#
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
File without changes
|
|
File without changes
|