Sha256: 2d5cb1ae3fc2805100ef8b17d4d80525f63afcfce1a2771baaa4aaeb728a6703

Contents?: true

Size: 798 Bytes

Versions: 14

Compression:

Stored size: 798 Bytes

Contents

require 'spec_helper'
require 'reek/source/sexp_node'

include Reek::Source

describe SexpNode do
  context 'format' do
    it 'formats self' do
      @node = s(:self)
      expect(@node.format_ruby).to eq('self')
    end
  end

  context 'hash' do
    it 'hashes equal for equal sexps' do
      node1 = s(:def, :jim, s(:args), s(:send, s(:int, 4), :+, s(:send, nil, :fred)))
      node2 = s(:def, :jim, s(:args), s(:send, s(:int, 4), :+, s(:send, nil, :fred)))
      expect(node1.hash).to eq(node2.hash)
    end

    it 'hashes diferent for diferent sexps' do
      node1 = s(:def, :jim, s(:args), s(:send, s(:int, 4), :+, s(:send, nil, :fred)))
      node2 = s(:def, :jim, s(:args), s(:send, s(:int, 3), :+, s(:send, nil, :fred)))
      expect(node1.hash).not_to eq(node2.hash)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
reek-2.0.4 spec/reek/source/sexp_node_spec.rb
reek-2.0.3 spec/reek/source/sexp_node_spec.rb
reek-2.0.2 spec/reek/source/sexp_node_spec.rb
reek-2.0.1 spec/reek/source/sexp_node_spec.rb
reek-2.0.0 spec/reek/source/sexp_node_spec.rb
reek-1.6.6 spec/reek/source/sexp_node_spec.rb
reek-1.6.5 spec/reek/source/sexp_node_spec.rb
reek-1.6.4 spec/reek/source/sexp_node_spec.rb
reek-1.6.3 spec/reek/source/sexp_node_spec.rb
reek-1.6.2 spec/reek/source/sexp_node_spec.rb
reek-1.6.1 spec/reek/source/sexp_node_spec.rb
reek-1.6.0 spec/reek/source/sexp_node_spec.rb
reek-1.5.1 spec/reek/source/sexp_node_spec.rb
reek-1.5.0 spec/reek/source/sexp_node_spec.rb