Sha256: 9684e0864298c442dbc9bbe633241b34982a348ad6e129a558e8d7f86f7fc7b6
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
require_lib 'reek/cli/silencer' Reek::CLI::Silencer.silently do require 'parser/ruby22' end require_relative '../spec_helper' require_lib 'reek/tree_dresser' RSpec.describe Reek::TreeDresser do describe '#dress' 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) { dresser.dress(sexp, {}) } # The dressed AST looks like this: # (class # (const nil :Klazz) nil # (def :meth # (args # (arg :argument)) # (send # (lvar :argument) :call_me))) 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] } 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). and be_a(Reek::AST::SexpExtensions::MethodNodeBase) end it 'dresses `args` nodes properly' do expect(args_node). to be_a(Reek::AST::SexpExtensions::ArgsNode). and 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reek-4.8.2 | spec/reek/tree_dresser_spec.rb |
reek-4.8.1 | spec/reek/tree_dresser_spec.rb |
reek-4.8.0 | spec/reek/tree_dresser_spec.rb |