Sha256: 43e94bf2aa322f13917d68eba28bef0606d05bcc6c564cd99bfe7f5b5bb1f5a8

Contents?: true

Size: 781 Bytes

Versions: 14

Compression:

Stored size: 781 Bytes

Contents

require 'spec_helper'
require 'reek/source/sexp_formatter'

include Reek::Source

describe SexpFormatter do
  describe '::format' do
    it 'formats a simple s-expression' do
      result = SexpFormatter.format s(:lvar, :foo)
      expect(result).to eq('foo')
    end

    it 'formats a more complex s-expression' do
      result = SexpFormatter.format s(:send, nil, :foo, s(:lvar, :bar))
      expect(result).to eq('foo(bar)')
    end

    it 'reduces very large ASTs to a single line' do
      ast = s(:if,
              s(:send, nil, :foo),
              s(:send, nil, :bar),
              s(:begin,
                s(:send, nil, :baz),
                s(:send, nil, :qux)))
      result = SexpFormatter.format ast

      expect(result).to eq 'if foo ... end'
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

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