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
|