# # testing rufus-json # # Fri Jul 31 13:05:37 JST 2009 # require 'test/unit' $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) require 'rufus/json' require 'rubygems' class BackendTest < Test::Unit::TestCase def setup Rufus::Json.backend = Rufus::Json::NONE end #def teardown #end def test_no_backend assert_raise RuntimeError do Rufus::Json.decode('nada') end end def test_get_backend assert_equal :none, Rufus::Json.backend require 'json' Rufus::Json.detect_backend assert_not_equal :none, Rufus::Json.backend end def test_set_backend require 'json' Rufus::Json.backend = :json assert_equal :json, Rufus::Json.backend end def test_set_backend_twist require 'json/pure' Rufus::Json.backend = 'json_pure' assert_equal :json, Rufus::Json.backend end def test_load_backend r = Rufus::Json.load_backend if RUBY_PLATFORM == 'ruby' assert_equal 'yajl', r assert_equal :yajl, Rufus::Json.backend elsif RUBY_PLATFORM == 'jruby' assert_equal 'active_support', r assert_equal :active, Rufus::Json.backend end end def test_load_backend_with_different_order r = Rufus::Json.load_backend('json', 'yajl') assert_equal 'json', r assert_equal :json, Rufus::Json.backend end def test_load_backend_with_missing_backend r = Rufus::Json.load_backend('nada', 'nemo') assert_nil r end end