Sha256: 1462e48c7a8fa90c2c5c56488bc21d2b8792180270c7d2deb908d466825f511d
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
require_relative '../../lib/reek/cli/silencer' Reek::CLI::Silencer.silently do require 'parser/ruby22' end require_relative '../spec_helper' require_relative '../../lib/reek/tree_dresser' RSpec.describe Reek::TreeDresser do let(:dresser) { described_class.new } let(:sexp) do Parser::Ruby22.parse('class Klazz; def meth(argument); argument.call_me; end; end') end let(:dressed_ast) do # The dressed AST looks like this: # (class # (const nil :Klazz) nil # (def :meth # (args # (arg :argument)) # (send # (lvar :argument) :call_me))) dresser.dress(sexp, {}) end let(:const_node) { dressed_ast.children.first } let(:def_node) { dressed_ast.children.last } let(:args_node) { def_node.children[1] } let(:send_node) { def_node.children[2] } context 'dresses the given sexp' do it 'dresses `const` nodes properly' do expect(const_node).to be_a Reek::AST::SexpExtensions::ConstNode end it 'dresses `def` nodes properly' do expect(def_node).to be_a Reek::AST::SexpExtensions::DefNode expect(def_node).to be_a Reek::AST::SexpExtensions::SingletonMethod expect(def_node).to be_a Reek::AST::SexpExtensions::MethodNodeBase end it 'dresses `args` nodes properly' do expect(args_node).to be_a Reek::AST::SexpExtensions::ArgsNode expect(args_node).to be_a Reek::AST::SexpExtensions::NestedAssignables end it 'dresses `send` nodes properly' do expect(send_node).to be_a Reek::AST::SexpExtensions::SendNode end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
reek-3.4.0 | spec/reek/tree_dresser_spec.rb |
reek-3.3.1 | spec/reek/tree_dresser_spec.rb |