1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
require 'test/unit'
require 'coderay'
class JSONEncoderTest < Test::Unit::TestCase
def test_json_output
old_load_paths = $:.dup
begin
$:.delete '.'
$:.delete File.dirname(__FILE__)
json = CodeRay.scan('puts "Hello world!"', :ruby).json
assert_equal [
{ "type" => "text", "text" => "puts", "kind" => "ident" },
{ "type" => "text", "text" => " ", "kind" => "space" },
{ "type" => "block", "action" => "open", "kind" => "string" },
{ "type" => "text", "text" => "\"", "kind" => "delimiter" },
{ "type" => "text", "text" => "Hello world!", "kind" => "content" },
{ "type" => "text", "text" => "\"", "kind" => "delimiter" },
{ "type" => "block", "action" => "close", "kind" => "string" },
], JSON.load(json)
ensure
for path in old_load_paths - $:
$: << path
end
end
end
end
|