Sha256: cf152e4ae6a24688e8573433ca5e1ebc1f239e48d7c31b5e46aea3403727b3f6

Contents?: true

Size: 800 Bytes

Versions: 2

Compression:

Stored size: 800 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)
      @node.extend(SexpNode)
      @node.format_ruby.should == 'self'
    end
  end

  context 'hash' do
    it 'hashes equal for equal sexps' do
      node1 = ast(:defn, s(:const2, :Fred, :jim), s(:call, :+, s(:lit, 4), :fred))
      node2 = ast(:defn, s(:const2, :Fred, :jim), s(:call, :+, s(:lit, 4), :fred))
      node1.hash.should == node2.hash
    end
    it 'hashes diferent for diferent sexps' do
      node1 = ast(:defn, s(:const2, :Fred, :jim), s(:call, :+, s(:lit, 4), :fred))
      node2 = ast(:defn, s(:const2, :Fred, :jim), s(:call, :+, s(:lit, 3), :fred))
      node1.hash.should_not == node2.hash
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reek-1.3.6 spec/reek/source/sexp_node_spec.rb
reek-1.3.5 spec/reek/source/sexp_node_spec.rb