2017-11-27 05:45:24 -05:00
|
|
|
# frozen_string_literal: true
|
2019-08-08 10:09:24 -04:00
|
|
|
require_relative 'helper'
|
2012-11-26 23:28:14 -05:00
|
|
|
|
|
|
|
class TestRDocTokenStream < RDoc::TestCase
|
|
|
|
|
|
|
|
def test_class_to_html
|
|
|
|
tokens = [
|
2017-09-11 23:42:54 -04:00
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_const, :text => 'CONSTANT' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_kw, :text => 'KW' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_ivar, :text => 'IVAR' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_op, :text => 'Op' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_ident, :text => 'Id' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_backref, :text => 'Node' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_comment, :text => 'COMMENT' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_regexp, :text => 'REGEXP' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_tstring, :text => 'STRING' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_int, :text => 'Val' },
|
|
|
|
{ :line_no => 0, :char_no => 0, :kind => :on_unknown, :text => '\\' }
|
2012-11-26 23:28:14 -05:00
|
|
|
]
|
|
|
|
|
|
|
|
expected = [
|
|
|
|
'<span class="ruby-constant">CONSTANT</span>',
|
|
|
|
'<span class="ruby-keyword">KW</span>',
|
|
|
|
'<span class="ruby-ivar">IVAR</span>',
|
|
|
|
'<span class="ruby-operator">Op</span>',
|
|
|
|
'<span class="ruby-identifier">Id</span>',
|
|
|
|
'<span class="ruby-node">Node</span>',
|
|
|
|
'<span class="ruby-comment">COMMENT</span>',
|
|
|
|
'<span class="ruby-regexp">REGEXP</span>',
|
|
|
|
'<span class="ruby-string">STRING</span>',
|
|
|
|
'<span class="ruby-value">Val</span>',
|
|
|
|
'\\'
|
|
|
|
].join
|
|
|
|
|
|
|
|
assert_equal expected, RDoc::TokenStream.to_html(tokens)
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_class_to_html_empty
|
|
|
|
assert_equal '', RDoc::TokenStream.to_html([])
|
|
|
|
end
|
|
|
|
|
2018-03-26 01:56:26 -04:00
|
|
|
def test_tokens_to_s
|
|
|
|
foo = Class.new do
|
|
|
|
include RDoc::TokenStream
|
|
|
|
|
|
|
|
def initialize
|
|
|
|
@token_stream = [
|
|
|
|
{ line_no: 0, char_no: 0, kind: :on_ident, text: "foo" },
|
|
|
|
{ line_no: 0, char_no: 0, kind: :on_sp, text: " " },
|
|
|
|
{ line_no: 0, char_no: 0, kind: :on_tstring, text: "'bar'" },
|
|
|
|
]
|
|
|
|
end
|
|
|
|
end.new
|
|
|
|
|
|
|
|
assert_equal "foo 'bar'", foo.tokens_to_s
|
|
|
|
end
|
2012-11-26 23:28:14 -05:00
|
|
|
end
|
|
|
|
|