diff options
-rw-r--r-- | etc/coderay-lib.tmproj | 97 | ||||
-rw-r--r-- | test/scanners/coderay_suite.rb | 40 | ||||
-rw-r--r-- | test/scanners/javascript/xml.known-issue.yaml | 2 | ||||
-rw-r--r-- | test/scanners/ruby/unicode.known-issue.yaml | 2 | ||||
-rw-r--r-- | test/scanners/yaml/suite.rb | 2 |
5 files changed, 68 insertions, 75 deletions
diff --git a/etc/coderay-lib.tmproj b/etc/coderay-lib.tmproj index 99bcdec..0e65c88 100644 --- a/etc/coderay-lib.tmproj +++ b/etc/coderay-lib.tmproj @@ -2,9 +2,13 @@ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> + <key>currentDocument</key> + <string>../diff</string> <key>documents</key> <array> <dict> + <key>expanded</key> + <true/> <key>name</key> <string>lib</string> <key>regexFolderFilter</key> @@ -24,13 +28,15 @@ <key>filename</key> <string>../diff</string> <key>lastUsed</key> - <date>2009-12-31T04:25:13Z</date> + <date>2010-01-01T05:59:47Z</date> + <key>selected</key> + <true/> </dict> <dict> <key>filename</key> <string>../Changes.textile</string> <key>lastUsed</key> - <date>2009-12-31T03:02:34Z</date> + <date>2010-01-01T05:59:47Z</date> </dict> <dict> <key>filename</key> @@ -90,9 +96,11 @@ <key>filename</key> <string>../Rakefile</string> <key>lastUsed</key> - <date>2009-12-28T04:00:03Z</date> + <date>2010-01-01T05:57:27Z</date> </dict> <dict> + <key>expanded</key> + <true/> <key>name</key> <string>functional</string> <key>regexFolderFilter</key> @@ -104,13 +112,13 @@ <key>filename</key> <string>../test/scanners/coderay_suite.rb</string> <key>lastUsed</key> - <date>2009-12-30T20:08:02Z</date> + <date>2010-01-01T05:57:20Z</date> </dict> <dict> <key>filename</key> <string>../test/scanners/suite.rb</string> <key>lastUsed</key> - <date>2008-08-04T21:50:01Z</date> + <date>2010-01-01T05:50:18Z</date> </dict> <dict> <key>filename</key> @@ -123,33 +131,19 @@ <integer>200</integer> <key>metaData</key> <dict> - <key>../lib/coderay/helpers/file_type.rb</key> + <key>../diff</key> <dict> <key>caret</key> <dict> <key>column</key> - <integer>18</integer> - <key>line</key> - <integer>217</integer> - </dict> - <key>firstVisibleColumn</key> - <integer>0</integer> - <key>firstVisibleLine</key> - <integer>205</integer> - </dict> - <key>../lib/coderay/scanners/_map.rb</key> - <dict> - <key>caret</key> - <dict> - <key>column</key> - <integer>17</integer> + <integer>15</integer> <key>line</key> - <integer>17</integer> + <integer>94</integer> </dict> <key>firstVisibleColumn</key> <integer>0</integer> <key>firstVisibleLine</key> - <integer>0</integer> + <integer>88</integer> </dict> <key>../lib/coderay/scanners/delphi.rb</key> <dict> @@ -253,20 +247,6 @@ <integer>178</integer> </dict> </dict> - <key>../lib/coderay/scanners/ruby/patterns.rb</key> - <dict> - <key>caret</key> - <dict> - <key>column</key> - <integer>0</integer> - <key>line</key> - <integer>0</integer> - </dict> - <key>firstVisibleColumn</key> - <integer>0</integer> - <key>firstVisibleLine</key> - <integer>0</integer> - </dict> <key>../lib/coderay/scanners/yaml.rb</key> <dict> <key>caret</key> @@ -325,51 +305,26 @@ <integer>76</integer> </dict> </dict> - <key>../test/functional/vhdl.rb</key> - <dict> - <key>caret</key> - <dict> - <key>column</key> - <integer>13</integer> - <key>line</key> - <integer>0</integer> - </dict> - <key>columnSelection</key> - <false/> - <key>firstVisibleColumn</key> - <integer>0</integer> - <key>firstVisibleLine</key> - <integer>0</integer> - <key>selectFrom</key> - <dict> - <key>column</key> - <integer>39</integer> - <key>line</key> - <integer>0</integer> - </dict> - <key>selectTo</key> - <dict> - <key>column</key> - <integer>13</integer> - <key>line</key> - <integer>0</integer> - </dict> - </dict> - <key>../test/scanners/suite.rb</key> + <key>../rake_tasks/test.rake</key> <dict> <key>caret</key> <dict> <key>column</key> - <integer>0</integer> + <integer>31</integer> <key>line</key> - <integer>4</integer> + <integer>79</integer> </dict> <key>firstVisibleColumn</key> <integer>0</integer> <key>firstVisibleLine</key> - <integer>0</integer> + <integer>44</integer> </dict> </dict> + <key>openDocuments</key> + <array> + <string>../rake_tasks/test.rake</string> + <string>../diff</string> + </array> <key>showFileHierarchyDrawer</key> <true/> <key>windowFrame</key> diff --git a/test/scanners/coderay_suite.rb b/test/scanners/coderay_suite.rb index ee33cb8..d233401 100644 --- a/test/scanners/coderay_suite.rb +++ b/test/scanners/coderay_suite.rb @@ -1,4 +1,5 @@ require 'benchmark' +require 'yaml' require 'fileutils' $mydir = File.dirname(__FILE__) @@ -170,6 +171,7 @@ module CodeRay puts '%d'.yellow % examples.size + " example#{'s' if examples.size > 1} found.".green end for example_filename in examples + @known_issue_description = @known_issue_ticket_url = nil name = File.basename(example_filename, ".#{extension}") next if ENV['lang'] && ENV['only'] && ENV['only'] != name filesize_in_kb = File.size(example_filename) / 1024.0 @@ -177,7 +179,7 @@ module CodeRay tokens = example_test example_filename, name, scanner, max - if time = @time_for_encoding + if defined?(@time_for_encoding) && time = @time_for_encoding kilo_tokens_per_second = tokens.size / time / 1000 print 'finished in '.green + '%5.2fs'.white % time if filesize_in_kb > 1 @@ -186,13 +188,25 @@ module CodeRay @time_for_encoding = nil end puts '.'.green + if @known_issue_description + print ' KNOWN ISSUE: '.cyan + print @known_issue_description.yellow + puts + print ' ' * 25 + if @known_issue_ticket_url + puts 'See '.yellow + @known_issue_ticket_url.white + '.'.yellow + else + puts 'No ticket yet. Visit '.yellow + + 'http://redmine.rubychan.de/projects/coderay/issues/new'.white + '.'.yellow + end + end end end end def example_test example_filename, name, scanner, max if File.size(example_filename) > MAX_CODE_SIZE_TO_TEST and not ENV['only'] - print 'too big, ' + print 'too big' return end code = File.open(example_filename, 'rb') { |f| break f.read } @@ -218,6 +232,11 @@ module CodeRay end def random_test scanner, max + if defined?(JRUBY_VERSION) && JRUBY_VERSION == '1.4.0' && %w[ruby nitroxhtml rhtml].include?(scanner.lang) + puts 'Random test skipped due to a bug in JRuby. See http://redmine.rubychan.de/issues/136.'.red + @@warning_about_jruby_bug = true + return + end print "Random test...".yellow okay = true for size in (0..max).progress @@ -317,7 +336,22 @@ module CodeRay assert(ok, "Scan error: unexpected output".red) if ENV['assert'] print "\b" * 'complete...'.size - print 'complete, '.green_or_red(ok) + known_issue = expected_filename.sub(/\.expected\..*/, '.known-issue.yaml') + if !ok && File.exist?(known_issue) + known_issue = YAML.load_file(known_issue) + ticket_url = known_issue['ticket_url'] + @known_issue_description = known_issue['description'] + if ticket_url && ticket_url[/(\d+)\/?$/] + @known_issue_ticket_url = ticket_url + ticket_info = 'see #' + $1 + else + ticket_info = 'ticket ?' + end + print ticket_info.rjust('complete'.size).red + print ', '.green + else + print 'complete, '.green_or_red(ok) + end else File.open(expected_filename, 'wb') { |f| f.write result } print "\b" * 'complete...'.size, "new test, ".blue diff --git a/test/scanners/javascript/xml.known-issue.yaml b/test/scanners/javascript/xml.known-issue.yaml new file mode 100644 index 0000000..8132156 --- /dev/null +++ b/test/scanners/javascript/xml.known-issue.yaml @@ -0,0 +1,2 @@ +description: JavaScript scanner is confused by nested XML literals. +ticket_url: http://redmine.rubychan.de/issues/
\ No newline at end of file diff --git a/test/scanners/ruby/unicode.known-issue.yaml b/test/scanners/ruby/unicode.known-issue.yaml new file mode 100644 index 0000000..49e1cf0 --- /dev/null +++ b/test/scanners/ruby/unicode.known-issue.yaml @@ -0,0 +1,2 @@ +description: This ruby version doesn't scan all ruby identifier chars via \w. +# ticket_url: http://redmine.rubychan.de/issues/
\ No newline at end of file diff --git a/test/scanners/yaml/suite.rb b/test/scanners/yaml/suite.rb index 7e11075..c4ac0d4 100644 --- a/test/scanners/yaml/suite.rb +++ b/test/scanners/yaml/suite.rb @@ -1,3 +1,3 @@ -class YAML < CodeRay::TestCase +class YAML_ < CodeRay::TestCase @lang = :yaml end |