Sha256: 12d5d49d6e55e4d1c7b59d0d14d64613b4dc6446e82a73e8e8a538f1c408dcfd

Contents?: true

Size: 1.96 KB

Versions: 3

Compression:

Stored size: 1.96 KB

Contents

require 'test/unit'

require 'facet/kernel/called'
require 'facet/kernel/call_stack'
require 'facet/kernel/demo'
require 'facet/kernel/fn'
require 'facet/kernel/get_by_id'
require 'facet/kernel/here'
require 'facet/kernel/maybe'
require 'facet/kernel/method_name'
#require 'facet/kernel/require_all' (todo)
require 'facet/kernel/require_local'
require 'facet/kernel/returning'
require 'facet/kernel/resc'


class TC_Kernel < Test::Unit::TestCase

  # bug!
  
  #def test_bug!
  #  assert_raises(ScriptBug){ bug! "error test" }
  #end
  
  # called
  
  def test_called
    assert_equal( :test_called, called )    
  end

  # call_stack
  
  def test_call_stack
    assert_nothing_raised{ call_stack }
  end

  # demo
  
  def test_demo
    demo(i=''){%{ a = [1,2,3] }}
    o = " a = [1,2,3]             #=>  [1, 2, 3]\n"
    assert_equal( o, i )
  end
  
  # fn
  
  def test_fn
    assert_instance_of(Proc, fn{ |x| x + 1 } )
  end

  # get_by_id
  
  def test_get_by_id
    a = "Test"
    i = a.object_id
    assert_equal( a, get_by_id(i) )
  end
  
  # here
  
  def test_here
    assert_instance_of( Binding, here )
  end

  # maybe
  
  def test_maybe
    assert_nothing_raised { maybe }
  end
  
  # method_name
  
  def test_method_name
    # For some reason this was returning a string
    # even when aliased to #called. Why?
    # Well, I couldn't seem to fix it, so I just
    # accepted it as fact and made +method_name+ 
    # purposefully work that way.
    assert_equal( "test_method_name", method_name )
  end
    
  # require_local

  def test_require_local
    assert_nothing_raised { require_local 'testfile' }
    assert( TEST_CHECK )
  end
  
  # returning
  
  def test_returning
    foo = returning( values = []) do
      values << 'bar'
      values << 'baz'
    end
    assert_equal( ['bar', 'baz'], foo )
  end

  # resc
  
  def test_resc
    assert_equal( Regexp.escape("'jfiw0[]4"), resc("'jfiw0[]4") )
    assert_equal( Regexp.escape("/////"), resc("/////") )
  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facets-0.7.1 test/kernel/tc_kernel.rb
facets-0.7.0 test/kernel/tc_kernel.rb
facets-0.7.2 test/kernel/tc_kernel.rb