Sha256: 5c5d6be1cf73f0b8c00e5f8b91fa7eef6f0cc651544e1a48a086ce4300dd9d6d

Contents?: true

Size: 972 Bytes

Versions: 14

Compression:

Stored size: 972 Bytes

Contents

require 'spec_helper'
module Finitio
  describe Syntax, "import" do

    subject{
      Syntax.parse(input, root: "import")
    }

    let(:sys){
      Compilation.coerce(system, Path.dir/"test_import.rb")
    }

    let(:compiled){
      subject.compile(sys)
    }

    let(:ast){
      subject.to_ast
    }

    context 'with a stdlib import' do
      let(:input){ '@import finitio/data' }

      it 'compiles to an Import' do
        expect(compiled).to be(sys)
        expect(compiled.send(:imports).size).to eql(1)
      end

      it 'has the expected AST' do
        expect(ast).to eq([:import, "finitio/data"])
      end
    end

    context 'with a stdlib import' do
      let(:input){ '@import ./imported' }

      it 'compiles to an Import' do
        expect(compiled).to be(sys)
        expect(compiled.send(:imports).size).to eql(1)
      end

      it 'has the expected AST' do
        expect(ast).to eq([:import, "./imported"])
      end
    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
finitio-0.12.0 spec/syntax/nodes/test_import.rb
finitio-0.11.4 spec/syntax/nodes/test_import.rb
finitio-0.11.3 spec/syntax/nodes/test_import.rb
finitio-0.11.2 spec/syntax/nodes/test_import.rb
finitio-0.11.1 spec/syntax/nodes/test_import.rb
finitio-0.10.0 spec/syntax/nodes/test_import.rb
finitio-0.9.1 spec/syntax/nodes/test_import.rb
finitio-0.9.0 spec/syntax/nodes/test_import.rb
finitio-0.8.0 spec/syntax/nodes/test_import.rb
finitio-0.7.0 spec/syntax/nodes/test_import.rb
finitio-0.7.0.pre.rc4 spec/syntax/nodes/test_import.rb
finitio-0.7.0.pre.rc3 spec/syntax/nodes/test_import.rb
finitio-0.7.0.pre.rc2 spec/syntax/nodes/test_import.rb
finitio-0.7.0.pre.rc1 spec/syntax/nodes/test_import.rb