diff options
author | murphy <murphy@rubychan.de> | 2006-10-15 09:08:50 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2006-10-15 09:08:50 +0000 |
commit | e5088ab940621155554a2e9455b57614c6ff015b (patch) | |
tree | 2ff719674a7855c0de5153a0bc353058cb33df62 /lib/coderay/scanners | |
parent | 8f4daba117e5b3faf2d4678a3444c05ad946991e (diff) | |
download | coderay-e5088ab940621155554a2e9455b57614c6ff015b.tar.gz |
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!)
Diffstat (limited to 'lib/coderay/scanners')
-rw-r--r-- | lib/coderay/scanners/delphi.rb | 3 | ||||
-rw-r--r-- | lib/coderay/scanners/html.rb | 3 | ||||
-rw-r--r-- | lib/coderay/scanners/nitro_xhtml.rb | 3 |
3 files changed, 8 insertions, 1 deletions
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 |