Sha256: 7c6d499a31dfcc50b5e0d91fe583b3d52c506307b246ca568d746c412cb83fbc

Contents?: true

Size: 925 Bytes

Versions: 1

Compression:

Stored size: 925 Bytes

Contents

$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
require 'gisele'
require 'epath'

def capture_io
  stdout, stderr = $stdout, $stderr
  $stdout, $stderr = StringIO.new, StringIO.new
  yield
  [$stdout.string, $stderr.string]
ensure
  $stdout, $stderr = stdout, stderr
end

module SpecHelpers
  include Gisele::Language::AST::Helpers

  def parse(text, rule, consume = true)
    grammar = Gisele::Language::Syntax::Grammar
    grammar.parse(text, :root => rule, :consume => consume)
  end

  def ast(text, rule, consume = true)
    parse(text, rule, consume).to_ast
  end

  def fixtures_dir
    (Path.dir/:fixtures)
  end

  def fixture_files(glob)
    fixtures_dir.glob(glob)
  end

  def simple_ast
    Gisele::ast(fixtures_dir/:tasks/"simple.gis")
  end

  def complete_ast
    Gisele::ast(fixtures_dir/:tasks/"complete.gis")
  end

end

RSpec.configure do |c|
  c.extend  SpecHelpers
  c.include SpecHelpers
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gisele-0.3.0 spec/spec_helper.rb