tokenizer_testcase.rb
来自「用ruby on rails写的一个博客程序,还不错..ruby on rail」· RB 代码 · 共 41 行
RB
41 行
$:.unshift File.dirname(__FILE__) + "/../../lib"require 'test/unit'require 'syntax'class TokenizerTestCase < Test::Unit::TestCase def self.syntax( type ) class_eval <<-EOF def setup @tokenizer = Syntax.load(#{type.inspect}) end EOF end def default_test end private attr_reader :tokenizer def tokenize( string ) @tokens = [] @tokenizer.tokenize( string ) { |tok| @tokens << tok } end def assert_next_token(group, lexeme, instruction=:none) assert false, "no tokens in stack" if @tokens.nil? or @tokens.empty? assert_equal [group, lexeme, instruction], [@tokens.first.group, @tokens.first, @tokens.shift.instruction] end def assert_no_next_token assert @tokens.empty? end def skip_token( n=1 ) n.times { @tokens.shift } unless @tokens.nil? || @tokens.empty? endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?