summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/coderay-lib.tmproj97
-rw-r--r--test/scanners/coderay_suite.rb40
-rw-r--r--test/scanners/javascript/xml.known-issue.yaml2
-rw-r--r--test/scanners/ruby/unicode.known-issue.yaml2
-rw-r--r--test/scanners/yaml/suite.rb2
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