heckle 1.4.0 → 1.4.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.txt +14 -6
- data/Rakefile +2 -0
- data/lib/heckle.rb +15 -2
- data/lib/test_unit_heckler.rb +2 -1
- data/test/fixtures/heckled.rb +5 -1
- data/test/test_heckle.rb +20 -0
- metadata +20 -8
data/History.txt
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
|
1
|
+
=== 1.4.1 / 2007-06-05
|
2
|
+
|
3
|
+
* 3 bug fixes:
|
4
|
+
* Add zentest as a heckle dependency. Closes #10996
|
5
|
+
* Fixed heckling of call with blocks.
|
6
|
+
* Fix test_unit_heckler's test_pass? so it returns the result of the
|
7
|
+
run rather than ARGV.clear
|
8
|
+
|
9
|
+
=== 1.4.0 / 2007-05-18
|
2
10
|
|
3
11
|
* 2 major enhancements:
|
4
12
|
* Method calls are now heckled (by removal).
|
@@ -8,7 +16,7 @@
|
|
8
16
|
* Specify nodes to be included/excluded in heckle with -n/-x.
|
9
17
|
* Test only assignments with --assignments
|
10
18
|
|
11
|
-
|
19
|
+
=== 1.3.0 / 2007-02-12
|
12
20
|
|
13
21
|
* 1 major enhancement:
|
14
22
|
* Unified diffs for mutatated methods
|
@@ -21,7 +29,7 @@
|
|
21
29
|
* Aborts when an unknown method is supplied.
|
22
30
|
* Escapes slashes in random regexps.
|
23
31
|
|
24
|
-
|
32
|
+
=== 1.2.0 / 2007-01-15
|
25
33
|
|
26
34
|
* 2 major enhancements:
|
27
35
|
* Timeout for tests set dynamically and overridable with -T
|
@@ -33,14 +41,14 @@
|
|
33
41
|
* 1 bug fix:
|
34
42
|
* Fixed the infinite loop caused by syntax errors
|
35
43
|
|
36
|
-
|
44
|
+
=== 1.1.1 / 2006-12-20
|
37
45
|
|
38
46
|
* 3 bug fixes:
|
39
47
|
* Load tests properly when supplying method name.
|
40
48
|
* Make sure random symbols have at least one character.
|
41
49
|
* Removed all extra warnings from the unit tests. Consolidated and cleaned.
|
42
50
|
|
43
|
-
|
51
|
+
=== 1.1.0 / 2006-12-19
|
44
52
|
|
45
53
|
* 12 major enhancements:
|
46
54
|
* Able to roll back original method after processing.
|
@@ -56,7 +64,7 @@
|
|
56
64
|
* Can run against entire classes
|
57
65
|
* Command line options!
|
58
66
|
|
59
|
-
|
67
|
+
=== 1.0.0 / 2006-10-22
|
60
68
|
|
61
69
|
* 1 major enhancement
|
62
70
|
* Birthday!
|
data/Rakefile
CHANGED
data/lib/heckle.rb
CHANGED
@@ -18,7 +18,7 @@ class Heckle < SexpProcessor
|
|
18
18
|
##
|
19
19
|
# The version of Heckle you are using.
|
20
20
|
|
21
|
-
VERSION = '1.4.
|
21
|
+
VERSION = '1.4.1'
|
22
22
|
|
23
23
|
##
|
24
24
|
# Branch node types.
|
@@ -223,7 +223,13 @@ class Heckle < SexpProcessor
|
|
223
223
|
out = [:call, recv, meth]
|
224
224
|
out << args if args
|
225
225
|
|
226
|
-
|
226
|
+
stack = caller.map { |s| s[/process_\w+/] }.compact
|
227
|
+
|
228
|
+
if stack.first != "process_iter" then
|
229
|
+
mutate_node out
|
230
|
+
else
|
231
|
+
out
|
232
|
+
end
|
227
233
|
end
|
228
234
|
|
229
235
|
##
|
@@ -245,6 +251,13 @@ class Heckle < SexpProcessor
|
|
245
251
|
reset_node_count
|
246
252
|
end
|
247
253
|
|
254
|
+
##
|
255
|
+
# So process_call works correctly
|
256
|
+
|
257
|
+
def process_iter(exp)
|
258
|
+
[:iter, process(exp.shift), process(exp.shift), process(exp.shift)]
|
259
|
+
end
|
260
|
+
|
248
261
|
def process_asgn(type, exp)
|
249
262
|
var = exp.shift
|
250
263
|
if exp.empty? then
|
data/lib/test_unit_heckler.rb
CHANGED
data/test/fixtures/heckled.rb
CHANGED
@@ -9,6 +9,10 @@ class Heckled
|
|
9
9
|
some_func + some_other_func
|
10
10
|
end
|
11
11
|
|
12
|
+
def uses_callblock
|
13
|
+
x.y { 1 }
|
14
|
+
end
|
15
|
+
|
12
16
|
def uses_cvasgn
|
13
17
|
@@cvar = 5
|
14
18
|
@@cvar = nil
|
@@ -139,7 +143,7 @@ class Heckled
|
|
139
143
|
|
140
144
|
def uses_nothing
|
141
145
|
end
|
142
|
-
|
146
|
+
|
143
147
|
def self.is_a_klass_method?
|
144
148
|
true
|
145
149
|
end
|
data/test/test_heckle.rb
CHANGED
@@ -437,6 +437,26 @@ class TestHeckleCall < HeckleTestCase
|
|
437
437
|
|
438
438
|
end
|
439
439
|
|
440
|
+
class TestHeckleCallblock < HeckleTestCase
|
441
|
+
|
442
|
+
def setup
|
443
|
+
@nodes = [:call]
|
444
|
+
super
|
445
|
+
end
|
446
|
+
|
447
|
+
def test_callblock_deleted
|
448
|
+
expected = [:defn, :uses_callblock,
|
449
|
+
[:scope,
|
450
|
+
[:block,
|
451
|
+
[:args],
|
452
|
+
[:iter, [:call, [:vcall, :x], :y], nil, [:lit, 1]]]]]
|
453
|
+
|
454
|
+
@heckler.process(@heckler.current_tree)
|
455
|
+
assert_equal expected, @heckler.current_tree
|
456
|
+
end
|
457
|
+
|
458
|
+
end
|
459
|
+
|
440
460
|
class TestHeckleClassMethod < Test::Unit::TestCase
|
441
461
|
def setup
|
442
462
|
@heckler = TestHeckler.new("Heckled", "self.is_a_klass_method?")
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: heckle
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.4.
|
7
|
-
date: 2007-05
|
6
|
+
version: 1.4.1
|
7
|
+
date: 2007-06-05 00:00:00 -07:00
|
8
8
|
summary: Unit Test Sadism
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -44,10 +44,13 @@ files:
|
|
44
44
|
- test/test_heckle.rb
|
45
45
|
test_files:
|
46
46
|
- test/test_heckle.rb
|
47
|
-
rdoc_options:
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
rdoc_options:
|
48
|
+
- --main
|
49
|
+
- README.txt
|
50
|
+
extra_rdoc_files:
|
51
|
+
- History.txt
|
52
|
+
- Manifest.txt
|
53
|
+
- README.txt
|
51
54
|
executables:
|
52
55
|
- heckle
|
53
56
|
extensions: []
|
@@ -64,6 +67,15 @@ dependencies:
|
|
64
67
|
- !ruby/object:Gem::Version
|
65
68
|
version: 1.1.0
|
66
69
|
version:
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: ZenTest
|
72
|
+
version_requirement:
|
73
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 3.5.2
|
78
|
+
version:
|
67
79
|
- !ruby/object:Gem::Dependency
|
68
80
|
name: hoe
|
69
81
|
version_requirement:
|
@@ -71,5 +83,5 @@ dependencies:
|
|
71
83
|
requirements:
|
72
84
|
- - ">="
|
73
85
|
- !ruby/object:Gem::Version
|
74
|
-
version: 1.2.
|
86
|
+
version: 1.2.1
|
75
87
|
version:
|