From e5088ab940621155554a2e9455b57614c6ff015b Mon Sep 17 00:00:00 2001 From: murphy Date: Sun, 15 Oct 2006 09:08:50 +0000 Subject: Tests: - improved coderay_suite.rb (random and shuffled tests, max parameter, scannerlang->lang, sorted test cases...) - changed html output extension to .actual.html to svn:ignore them - fixed some tests (deleted $Id$ etc.) - made XHTML testcase work Scanners: - fixed HTML, Delphi and Nitro scanners thanks to new tests Engine: - Tokens#fix and #fix! added (yet to be tested) - improved Scanner#raise_inspect a bit Converted more files to UNIX format (go away, stinkin' \r!) --- lib/coderay/scanners/delphi.rb | 3 ++- lib/coderay/scanners/html.rb | 3 +++ lib/coderay/scanners/nitro_xhtml.rb | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/coderay/scanners') diff --git a/lib/coderay/scanners/delphi.rb b/lib/coderay/scanners/delphi.rb index c141874..fb37f67 100644 --- a/lib/coderay/scanners/delphi.rb +++ b/lib/coderay/scanners/delphi.rb @@ -101,6 +101,7 @@ module Scanners state = :initial next elsif scan(/\n/) + kind = :error state = :initial else raise "else case \' reached; %p not handled." % peek(1), tokens @@ -114,7 +115,7 @@ module Scanners match ||= matched if $DEBUG and not kind raise_inspect 'Error token %p in line %d' % - [[match, kind], line], tokens + [[match, kind], line], tokens, state end raise_inspect 'Empty token', tokens unless match diff --git a/lib/coderay/scanners/html.rb b/lib/coderay/scanners/html.rb index 181e5d3..5f647d3 100644 --- a/lib/coderay/scanners/html.rb +++ b/lib/coderay/scanners/html.rb @@ -107,6 +107,7 @@ module Scanners kind = :tag state = :initial elsif scan(/./) + kind = :error state = :attribute end @@ -137,6 +138,8 @@ module Scanners next elsif scan(/#{ENTITY}/ox) kind = :entity + elsif scan(/&/) + kind = :content elsif scan(/[\n>]/) tokens << [:close, :string] kind = :error diff --git a/lib/coderay/scanners/nitro_xhtml.rb b/lib/coderay/scanners/nitro_xhtml.rb index baef162..19354d9 100644 --- a/lib/coderay/scanners/nitro_xhtml.rb +++ b/lib/coderay/scanners/nitro_xhtml.rb @@ -113,6 +113,9 @@ module Scanners elsif entity = scan(/#{NITRO_ENTITY}/o) tokens << [entity, :entity] + + elsif scan(/%/) + tokens << [matched, :error] else raise_inspect 'else-case reached!', tokens -- cgit v1.2.1