Sha256: 038e15cdb99f668167a1a91ca9dc51f5b34df50afef25ed113e9ef39f1a8a9c6

Contents?: true

Size: 1.63 KB

Versions: 4

Compression:

Stored size: 1.63 KB

Contents

require 'spec_helper'

describe "For defining Trxl::StdLib, the Trxl::Calculator" do

  include Trxl::SpecHelper

  before(:each) do
    @parser = Trxl::Calculator.new
  end

  it "should be able to require trxl code snippets and merge them into the current env" do
    program = "require 'stdlib'"
    env_after_require = eval(program)
    env_after_require.should have_key(:foreach_in)
    env_after_require.should have_key(:__foreach_in__)
    env_after_require.should have_key(:inject)
    env_after_require.should have_key(:__inject__)
    env_after_require.should have_key(:map)
    env_after_require.should have_key(:ratio)
  end

  it "should be able to require scoped trxl code snippets and merge them into the current env" do
    program = "require 'stdlib/foreach_in'"
    env_after_require = eval(program)
    env_after_require.should have_key(:foreach_in)

    program = "require 'stdlib/inject'"
    env_after_require = eval(program)
    env_after_require.should have_key(:inject)
  end

  it "should be able to require scoped trxl code snippets and merge them into the current env" do
    program = "require 'stdlib/foreach_in'"
    env_after_require = eval(program)
    env_after_require.should have_key(:foreach_in)

    program = "require 'stdlib/inject'"
    env_after_require = eval(program)
    env_after_require.should have_key(:inject)
  end

  it "should ignore a require statement if the library has already been loaded" do
    program = "require 'stdlib/inject'"
    program = "require 'stdlib/map'"
    env_after_require = eval(program)
    env_after_require.should have_key(:inject)
    env_after_require.should have_key(:map)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
trxl-0.1.11 spec/trxl/require_spec.rb
trxl-0.1.10 spec/trxl/require_spec.rb
trxl-0.1.9 spec/trxl/require_spec.rb
trxl-0.1.8 spec/trxl/require_spec.rb