Sha256: 1ee3072adb9371c41746f35b1a0f2525097b1f3c9a9207f91bd447a089db4971

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

require 'rubygems'
require 'sane'
require_relative '../lib/analyze'
require 'spec/autorun'

describe "analyze" do

  before do
    a = 3
    b=4
    @output = analyze a, b
  end

  it "should analyze the args" do
    assert @output.contain?( "a=")
    assert @output.contain?( "b=")
  end
  
  it "should have an [] style output" do
    assert @output =~ /\[.*\]/
  end
  
  it "should add spacing appropriately with commas" do
    assert @output.contain?(", ")
  end  
  
  it "should show linenumber too" do    
    assert @output.contain?(",11")
  end

  it "should retrieve call nodes for ya" do
    for string in ["c = analyze a, b", "analyze a, b"] do
      parser=RedParse.new(string)
      tree = parser.parse
      node = give_me_first_call_node tree
      assert node.class == RedParse::CallNode
      assert node.params.length == 2
    end
  end
  
  it "shouldn't barf with more complex things" do
    output = analyze 3, 4+5
  end
  
  it "should work with longer dir names in 1.8" do
    require 'sub/go2'
  end

  it "should cache lines instead of rereading the file every time"
  
  it "should use inspect" do
      a = [1,2,3]
      out = analyze a
      assert out.contain? "[1, 2, 3]"
      out = analyze [1,2,3]
      assert out.contain? "[1, 2, 3]"
  end
  
  it "should pretend to work in eval" do
    out = eval("analyze 1,2,3")
    assert(out.contain?('?='))
    assert(out.contain?('eval'))
    assert(out.contain?('1'))  
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
show-0.2.1 spec/spec.analyze.rb