Sha256: 6b9392d58fad59865f46d1a4cc593bb1e2d0035b1ae847f7d6837d10d8ffdea1
Contents?: true
Size: 1.37 KB
Versions: 3
Compression:
Stored size: 1.37 KB
Contents
require 'spec_helper' describe 'AndRewriter' do include TrackIfs, TrackAnds, DoRewrite before :each do @and_user = AndUser.new false @methods = sexpify_instance_methods AndUser @if_rewriter = VirtualKeywords::IfRewriter.new @and_rewriter = VirtualKeywords::AndRewriter.new @my_and_calls = 0 @my_if_calls = 0 VirtualKeywords::REWRITTEN_KEYWORDS.register_lambda_for_object( @and_user, :and, my_and) VirtualKeywords::REWRITTEN_KEYWORDS.register_lambda_for_object( @and_user, :if, my_if) end def rewriters [@if_rewriter, @and_rewriter] end it 'rewrites "and" statements' do do_rewrite(:method_with_and, @and_user) @my_and_calls.should eql 1 end it 'handles ifs with "and"s in the predicate' do do_rewrite(:if_with_and, @and_user) @my_and_calls.should eql 1 @my_if_calls.should eql 1 end end describe 'AndRewriter on &&' do include TrackAnds, DoRewrite before :each do @operator_user = OperatorUser.new false @methods = sexpify_instance_methods OperatorUser @and_rewriter = VirtualKeywords::AndRewriter.new @my_and_calls = 0 VirtualKeywords::REWRITTEN_KEYWORDS.register_lambda_for_object( @operator_user, :and, my_and) end def rewriters [@and_rewriter] end it 'rewrites &&' do do_rewrite(:symbolic_and, @operator_user) @my_and_calls.should eql 1 end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
virtual_keywords-0.3.1 | lib/spec/and_rewriter_spec.rb |
virtual_keywords-0.3.0 | lib/spec/and_rewriter_spec.rb |
virtual_keywords-0.1.0 | lib/spec/and_rewriter_spec.rb |