Sha256: c1fb82a3a2fe4af989645b305811aee402034c4a994614d310deab836f76309f

Contents?: true

Size: 1.64 KB

Versions: 7

Compression:

Stored size: 1.64 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), "/../helper"))

module Johnson
  class PreludeTest < Johnson::TestCase
    def test_symbols_are_interned
      assert(@runtime.evaluate("Johnson.symbolize('foo') === Johnson.symbolize('foo')"))
    end
    
    def test_strings_had_a_to_symbol_method
      assert_js_equal(:monkeys, "'monkeys'.toSymbol()")
    end
    
    def test_string_to_symbol_is_not_enumerable
      assert(!@runtime.evaluate(<<-END))
        var flag = false;
        for (x in "foo") { if (x == 'toSymbol') flag = true }
        flag
      END
    end
    
    def test_symbol_to_string
      assert_equal("monkey", @runtime.evaluate("Johnson.symbolize('monkey').toString()"))
    end

    def test_symbol_inspect
      assert_equal(":monkey", @runtime.evaluate("Johnson.symbolize('monkey').inspect()"))
    end
    
    def test_all_of_ruby_is_available
      assert_raise(Johnson::Error) { @runtime.evaluate("Ruby.Set.new()") }
      
      @runtime.evaluate("Ruby.require('set')")
      assert_kind_of(Set, @runtime.evaluate("Ruby.Set.new()"))
    end
    
    # def test_require_an_existing_js_file_without_extension
    #   assert_js("Johnson.require('johnson/template')")
    # end
    
    # def test_require_returns_false_the_second_time_around
    #   assert_js("Johnson.require('johnson/template')")
    #   assert(!@runtime.evaluate("Johnson.require('johnson/template')"))
    # end
    
    def test_missing_requires_throw_LoadError
      assert_js(<<-END)
        var flag = false;
        
        try { Johnson.require("johnson/__nonexistent"); }
        catch(ex) { flag = true; }
        
        flag;
      END
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
jbarnette-johnson-1.0.0.20090326154650 test/johnson/prelude_test.rb
jbarnette-johnson-1.0.0.20090326161333 test/johnson/prelude_test.rb
jbarnette-johnson-1.0.0.20090402144841 test/johnson/prelude_test.rb
jbarnette-johnson-1.0.0.20090402155420 test/johnson/prelude_test.rb
johnson-1.1.1 test/johnson/prelude_test.rb
johnson-1.1.2 test/johnson/prelude_test.rb
johnson-1.1.0 test/johnson/prelude_test.rb