Sha256: 0af61c9399a6cd409736a442fc7560cfc012ee7aaef621eec5923348dd5f84ef

Contents?: true

Size: 1.35 KB

Versions: 11

Compression:

Stored size: 1.35 KB

Contents

require "spec_helper"

module CodeAnalyzer::CheckingVisitor
  describe Default do
    let(:checker1) { mock(:checker, interesting_nodes: [:class, :def]) }
    let(:checker2) { mock(:checker, interesting_nodes: [:def, :call]) }
    let(:visitor) { Default.new(checkers: [checker1, checker2]) }

    it "should check def node by all checkers" do
      filename = "filename"
      content = "def test; end"
      checker1.stub(:parse_file?).with(filename).and_return(true)
      checker2.stub(:parse_file?).with(filename).and_return(true)
      checker1.should_receive(:node_start)
      checker1.should_receive(:node_end)
      checker2.should_receive(:node_start)
      checker2.should_receive(:node_end)

      visitor.check(filename, content)
    end

    it "should check class node by only checker1" do
      filename = "filename"
      content = "class Test; end"
      checker1.stub(:parse_file?).with(filename).and_return(true)
      checker1.should_receive(:node_start)
      checker1.should_receive(:node_end)

      visitor.check(filename, content)
    end

    it "should check call node by only checker2" do
      filename = "filename"
      content = "obj.message"
      checker2.stub(:parse_file?).with(filename).and_return(true)
      checker2.should_receive(:node_start)
      checker2.should_receive(:node_end)

      visitor.check(filename, content)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
code_analyzer-0.4.4 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.4.3 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.4.2 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.4.1 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.4.0 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.3.2 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.3.1 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.3.0 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.2.0 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.1.1 spec/code_analyzer/checking_visitor/default_spec.rb
code_analyzer-0.1.0 spec/code_analyzer/checking_visitor/default_spec.rb