class Opal::Test::Unit::TestCase
Public Class Methods
inherited(subclass)
click to toggle source
# File lib/opal/test/unit/test_case.rb, line 7 def self.inherited(subclass) (@test_cases ||= []) << subclass subclass.define_singleton_method(:test) do |desc, &block| TestCase.register_test subclass, OpenStruct.new({ desc: desc, block: block }) end subclass.define_singleton_method(:setup) do |&block| TestCase.register_setup subclass, OpenStruct.new({ block: block }) end end
register_setup(subclass, setup)
click to toggle source
# File lib/opal/test/unit/test_case.rb, line 22 def self.register_setup(subclass, setup) ((@setups ||= {})[subclass] ||= []) << setup end
register_test(subclass, test)
click to toggle source
# File lib/opal/test/unit/test_case.rb, line 18 def self.register_test(subclass, test) ((@tests ||= {})[subclass] ||= []) << test end
run()
click to toggle source
# File lib/opal/test/unit/test_case.rb, line 32 def self.run success_count = 0 failure_messages = [] errors = [] @test_cases&.each do |test_case| instance = test_case.new @tests[test_case]&.each do |test| begin if @setups&.has_key?(test_case) self.setup(@setups[test_case]) end print("\e[32m") instance.instance_eval(&test.block) print "." success_count += 1 rescue AssertFailed => e print "\e[31mF\e[32m" failure_messages << OpenStruct.new({ desc: test.desc, error: e }) rescue Exception => e print "\e[31mE\e[32m" errors << OpenStruct.new({ desc: test.desc, error: e }) end print( "\e[37m") end end puts OpenStruct.new(success_count: success_count, failure_messages: failure_messages, errors: errors) end
setup(setups)
click to toggle source
# File lib/opal/test/unit/test_case.rb, line 26 def self.setup(setups) setups.each do |setup| setup.block.call end end