51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
require 'rubygems'
|
|
require 'bundler'
|
|
begin
|
|
Bundler.setup(:default, :development)
|
|
rescue Bundler::BundlerError => e
|
|
$stderr.puts e.message
|
|
$stderr.puts "Run `bundle install` to install missing gems"
|
|
exit e.status_code
|
|
end
|
|
if ENV['CODECLIMATE_REPO_TOKEN']
|
|
require 'simplecov'
|
|
SimpleCov.start { add_filter "/test/" }
|
|
end
|
|
|
|
require "minitest/color"
|
|
require "minitest/autorun"
|
|
|
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'test'))
|
|
|
|
require 'salama'
|
|
|
|
module Compiling
|
|
def clean_compile(clazz_name , method_name , args , statements)
|
|
compiler = Vm::MethodCompiler.new.create_method(clazz_name,method_name,args ).init_method
|
|
compiler.process( Vm.ast_to_code( statements ) )
|
|
end
|
|
|
|
end
|
|
|
|
class Ignored
|
|
def == other
|
|
return false unless other.class == self.class
|
|
Sof::Util.attributes(self).each do |a|
|
|
begin
|
|
left = send(a)
|
|
rescue NoMethodError
|
|
next # not using instance variables that are not defined as attr_readers for equality
|
|
end
|
|
begin
|
|
right = other.send(a)
|
|
rescue NoMethodError
|
|
return false
|
|
end
|
|
return false unless left.class == right.class
|
|
return false unless left == right
|
|
end
|
|
return true
|
|
end
|
|
end
|