rb-ruby_parser 2.0.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.
@@ -0,0 +1,178 @@
1
+ require 'rubygems'
2
+ require 'minitest/autorun'
3
+ require 'ruby_parser_extras'
4
+
5
+ class TestStackState < MiniTest::Unit::TestCase
6
+ def test_stack_state
7
+ s = StackState.new :test
8
+ s.push true
9
+ s.push false
10
+ s.lexpop
11
+ assert_equal [false, true], s.stack
12
+ end
13
+
14
+ def test_is_in_state
15
+ s = StackState.new :test
16
+ assert_equal false, s.is_in_state
17
+ s.push false
18
+ assert_equal false, s.is_in_state
19
+ s.push true
20
+ assert_equal true, s.is_in_state
21
+ s.push false
22
+ assert_equal false, s.is_in_state
23
+ end
24
+
25
+ def test_lexpop
26
+ s = StackState.new :test
27
+ assert_equal [false], s.stack
28
+ s.push true
29
+ s.push false
30
+ assert_equal [false, true, false], s.stack
31
+ s.lexpop
32
+ assert_equal [false, true], s.stack
33
+ end
34
+
35
+ def test_pop
36
+ s = StackState.new :test
37
+ assert_equal [false], s.stack
38
+ s.push true
39
+ assert_equal [false, true], s.stack
40
+ assert_equal true, s.pop
41
+ assert_equal [false], s.stack
42
+ end
43
+
44
+ def test_push
45
+ s = StackState.new :test
46
+ assert_equal [false], s.stack
47
+ s.push true
48
+ s.push false
49
+ assert_equal [false, true, false], s.stack
50
+ end
51
+ end
52
+
53
+ class TestEnvironment < MiniTest::Unit::TestCase
54
+ def deny t
55
+ assert ! t
56
+ end
57
+
58
+ def setup
59
+ @env = Environment.new
60
+ @env[:blah] = 42
61
+ assert_equal 42, @env[:blah]
62
+ end
63
+
64
+ def test_use
65
+ @env.use :blah
66
+ expected = [{ :blah => true }]
67
+ assert_equal expected, @env.instance_variable_get(:"@use")
68
+ end
69
+
70
+ def test_use_scoped
71
+ @env.use :blah
72
+ @env.extend
73
+ expected = [{}, { :blah => true }]
74
+ assert_equal expected, @env.instance_variable_get(:"@use")
75
+ end
76
+
77
+ def test_used_eh
78
+ @env.extend :dynamic
79
+ @env[:x] = :dvar
80
+ @env.use :x
81
+ assert_equal true, @env.used?(:x)
82
+ end
83
+
84
+ def test_used_eh_none
85
+ assert_equal nil, @env.used?(:x)
86
+ end
87
+
88
+ def test_used_eh_scoped
89
+ self.test_used_eh
90
+ @env.extend :dynamic
91
+ assert_equal true, @env.used?(:x)
92
+ end
93
+
94
+ def test_var_scope_dynamic
95
+ @env.extend :dynamic
96
+ assert_equal 42, @env[:blah]
97
+ @env.unextend
98
+ assert_equal 42, @env[:blah]
99
+ end
100
+
101
+ def test_var_scope_static
102
+ @env.extend
103
+ assert_equal nil, @env[:blah]
104
+ @env.unextend
105
+ assert_equal 42, @env[:blah]
106
+ end
107
+
108
+ def test_dynamic
109
+ expected1 = {}
110
+ expected2 = { :x => 42 }
111
+
112
+ assert_equal expected1, @env.dynamic
113
+ begin
114
+ @env.extend :dynamic
115
+ assert_equal expected1, @env.dynamic
116
+
117
+ @env[:x] = 42
118
+ assert_equal expected2, @env.dynamic
119
+
120
+ begin
121
+ @env.extend :dynamic
122
+ assert_equal expected2, @env.dynamic
123
+ @env.unextend
124
+ end
125
+
126
+ assert_equal expected2, @env.dynamic
127
+ @env.unextend
128
+ end
129
+ assert_equal expected1, @env.dynamic
130
+ end
131
+
132
+ def test_all_dynamic
133
+ expected = { :blah => 42 }
134
+
135
+ @env.extend :dynamic
136
+ assert_equal expected, @env.all
137
+ @env.unextend
138
+ assert_equal expected, @env.all
139
+ end
140
+
141
+ def test_all_static
142
+ @env.extend
143
+ expected = { }
144
+ assert_equal expected, @env.all
145
+
146
+ @env.unextend
147
+ expected = { :blah => 42 }
148
+ assert_equal expected, @env.all
149
+ end
150
+
151
+ def test_dynamic_eh
152
+ assert_equal false, @env.dynamic?
153
+ @env.extend :dynamic
154
+ assert_equal true, @env.dynamic?
155
+ @env.extend
156
+ assert_equal false, @env.dynamic?
157
+ end
158
+
159
+ def test_all_static_deeper
160
+ expected0 = { :blah => 42 }
161
+ expected1 = { :blah => 42, :blah2 => 24 }
162
+ expected2 = { :blah => 27 }
163
+
164
+ @env.extend :dynamic
165
+ @env[:blah2] = 24
166
+ assert_equal expected1, @env.all
167
+
168
+ @env.extend
169
+ @env[:blah] = 27
170
+ assert_equal expected2, @env.all
171
+
172
+ @env.unextend
173
+ assert_equal expected1, @env.all
174
+
175
+ @env.unextend
176
+ assert_equal expected0, @env.all
177
+ end
178
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rb-ruby_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.4.1
5
+ platform: ruby
6
+ authors:
7
+ - Ray Baxter
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-31 00:00:00 -07:00
13
+ default_executable: ruby_parse
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: minitest
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: This version respects text after block comment =end
26
+ email: ray.baxter@gmail.com
27
+ executables:
28
+ - ruby_parse
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.txt
33
+ files:
34
+ - .autotest
35
+ - .gitignore
36
+ - History.txt
37
+ - Manifest.txt
38
+ - README.txt
39
+ - Rakefile
40
+ - VERSION
41
+ - bin/ruby_parse
42
+ - lib/gauntlet_rubyparser.rb
43
+ - lib/ruby_lexer.rb
44
+ - lib/ruby_parser.y
45
+ - lib/ruby_parser_extras.rb
46
+ - rb-ruby_parser/.document
47
+ - rb-ruby_parser/.gitignore
48
+ - rb-ruby_parser/LICENSE
49
+ - rb-ruby_parser/README.rdoc
50
+ - rb-ruby_parser/Rakefile
51
+ - rb-ruby_parser/lib/rb-ruby_parser.rb
52
+ - rb-ruby_parser/test/helper.rb
53
+ - rb-ruby_parser/test/test_rb-ruby_parser.rb
54
+ - test/test_ruby_lexer.rb
55
+ - test/test_ruby_parser.rb
56
+ - test/test_ruby_parser_extras.rb
57
+ has_rdoc: true
58
+ homepage: http://github.com/raybaxter/rb-ruby_parser
59
+ licenses: []
60
+
61
+ post_install_message:
62
+ rdoc_options:
63
+ - --charset=UTF-8
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: "0"
71
+ version:
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: "0"
77
+ version:
78
+ requirements: []
79
+
80
+ rubyforge_project:
81
+ rubygems_version: 1.3.5
82
+ signing_key:
83
+ specification_version: 3
84
+ summary: Fork of ParseTree/ruby_parser
85
+ test_files:
86
+ - test/test_ruby_lexer.rb
87
+ - test/test_ruby_parser.rb
88
+ - test/test_ruby_parser_extras.rb