jakewendt-test_with_verbosity 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_with_verbosity.rb +77 -1
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51e7d997417ffc3855ba325a29b2a1c812ccd100
4
- data.tar.gz: 826a183a59cc35755b71e0d6466274589c870ed9
3
+ metadata.gz: db357c276871f0d9e45ad6c78e89d16b32967026
4
+ data.tar.gz: 4b1309f750a5d0aeb1833ebff719eb0f4f127408
5
5
  SHA512:
6
- metadata.gz: 77174be8addd8af953cb882f72118287816b9015b3ec04ae502ecee048a9bc99353db81e64659927a6fe2362fb1573140b4fedbdd3145da470b5f7dba9be2c52
7
- data.tar.gz: acc96f0a01f37115cf311c0311640bd8df5e1ca96259040996ff8cae01e75f5dc9353627c81b91b2f5342d4aa284460d94c727026d4ca7a3b8799c7ac4f677f1
6
+ metadata.gz: e76935c02273942ded046967530510dc5c45822abbc09e83a3a77fade71cbdc5554657206a23624aaf81bb409f5bb037c761373430fa8112f4b3c0f8b2eafcf3
7
+ data.tar.gz: 24a400dbedac181401cab6bcda1f473b7d7164c5a05c5456fac4b8d172e864ef115afccd2590e4630da03b37d8c867f35de2f2134792e112d44b91484ed2a685
@@ -14,9 +14,32 @@ module JakeWendt::TestWithVerbosity
14
14
 
15
15
  module ClassMethods
16
16
 
17
+ # activesupport-4.1.4/lib/active_support/testing/declarative.rb
18
+ def test(name, &block)
19
+ #test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
20
+ test_name = "test_#{name.gsub(/\W+/,'_')}".to_sym # NEED THIS
21
+ defined = instance_method(test_name) rescue false
22
+ raise "#{test_name} is already defined in #{self}" if defined
23
+ if block_given?
24
+ define_method(test_name, &block)
25
+
26
+ #
27
+ # could possibly do something like this, but I can't seem to figure out
28
+ # how to call a passed block correctly.
29
+ #
30
+ # define_method(test_name) do
31
+ # print "\n#{self.class.name.gsub(/Test$/,'').titleize} #{name}: "
32
+ # block.call # FAIL
33
+ # end
34
+ else
35
+ define_method(test_name) do
36
+ flunk "No implementation provided for #{name}"
37
+ end
38
+ end
39
+ end
40
+
17
41
  def test_with_verbosity(name,&block)
18
42
  test_without_verbosity(name,&block)
19
-
20
43
  test_name = "test_#{name.gsub(/\W+/,'_')}".to_sym
21
44
  define_method("_#{test_name}_with_verbosity") do
22
45
  print "\n#{self.class.name.gsub(/Test$/,'').titleize} #{name}: "
@@ -34,6 +57,59 @@ module JakeWendt::TestWithVerbosity
34
57
  "_#{test_name}_with_verbosity".to_sym
35
58
  end
36
59
 
60
+ #
61
+ #
62
+ # test names with punctuation aren't found when autotest tries to rerun them
63
+ #
64
+ # def test_with_verbosity(name,&block)
65
+ # test_without_verbosity(name,&block)
66
+ # test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
67
+ # define_method("_#{test_name}_with_verbosity") do
68
+ # print "\n#{self.class.name.gsub(/Test$/,'').titleize} #{name}: "
69
+ # send("_#{test_name}_without_verbosity")
70
+ # end
71
+ # #
72
+ # # can't do this...
73
+ # # alias_method_chain test_name, :verbosity
74
+ # # end up with 2 methods that begin
75
+ # # with 'test_' so they both get run
76
+ # #
77
+ # alias_method "_#{test_name}_without_verbosity".to_sym,
78
+ # test_name
79
+ # alias_method test_name,
80
+ # "_#{test_name}_with_verbosity".to_sym
81
+ # end
82
+
83
+ #
84
+ # Trying to fix
85
+ #
86
+ # def test_with_verbosity(name,&block)
87
+ # test_without_verbosity(name,&block)
88
+ #
89
+ #
90
+ # # need to keep the \s+ regex as that is what rails' test_without_verbosity will create
91
+ # # ( could just rewrite that too )
92
+ # # seems I'm gonna hafta
93
+ # rails_test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
94
+ #
95
+ #
96
+ # test_name = "test_#{name.gsub(/\W+/,'_')}".to_sym
97
+ # define_method("_#{test_name}_with_verbosity") do
98
+ # print "\n#{self.class.name.gsub(/Test$/,'').titleize} #{name}: "
99
+ # send("_#{test_name}_without_verbosity")
100
+ # end
101
+ # #
102
+ # # can't do this...
103
+ # # alias_method_chain test_name, :verbosity
104
+ # # end up with 2 methods that begin
105
+ # # with 'test_' so they both get run
106
+ # #
107
+ # alias_method "_#{test_name}_without_verbosity".to_sym,
108
+ # rails_test_name
109
+ # alias_method rails_test_name,
110
+ # "_#{test_name}_with_verbosity".to_sym
111
+ # end
112
+
37
113
  end # ClassMethods
38
114
 
39
115
  end # JakeWendt::TestWithVerbosity
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jakewendt-test_with_verbosity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - George 'Jake' Wendt