diff options
author | murphy <murphy@rubychan.de> | 2009-10-20 10:10:00 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2009-10-20 10:10:00 +0000 |
commit | a8163c39206fd11ef30ef8efb2c73a6f6a97e424 (patch) | |
tree | 33323edcb67c4d3e14572fd789313aa68f080839 /lib/coderay/helpers | |
parent | 33e60373f5e19a70b3e5b7b6af29308555c628ec (diff) | |
download | coderay-a8163c39206fd11ef30ef8efb2c73a6f6a97e424.tar.gz |
Made FileType work with Pathname (closes #118).
Diffstat (limited to 'lib/coderay/helpers')
-rw-r--r-- | lib/coderay/helpers/file_type.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/coderay/helpers/file_type.rb b/lib/coderay/helpers/file_type.rb index 1715fee..f9cdd36 100644 --- a/lib/coderay/helpers/file_type.rb +++ b/lib/coderay/helpers/file_type.rb @@ -35,7 +35,7 @@ module FileType def [] filename, read_shebang = false name = File.basename filename ext = File.extname(name).sub(/^\./, '') # from last dot, delete the leading dot - ext2 = filename[/\.(.*)/, 1] # from first dot + ext2 = filename.to_s[/\.(.*)/, 1] # from first dot type = TypeFromExt[ext.downcase] || @@ -82,7 +82,7 @@ module FileType TypeFromExt = { 'c' => :c, - 'cpp' => :c, + 'cpp' => :cpp, 'css' => :css, 'diff' => :diff, 'dpr' => :delphi, @@ -139,7 +139,7 @@ end __END__ require 'test/unit' -class TC_FileType < Test::Unit::TestCase +class FileTypeTests < Test::Unit::TestCase include CodeRay @@ -169,6 +169,8 @@ class TC_FileType < Test::Unit::TestCase def test_ruby assert_equal :ruby, FileType['test.rb'] + assert_equal :ruby, FileType['test.java.rb'] + assert_equal :java, FileType['test.rb.java'] assert_equal :ruby, FileType['C:\\Program Files\\x\\y\\c\\test.rbw'] assert_equal :ruby, FileType['/usr/bin/something/Rakefile'] assert_equal :ruby, FileType['~/myapp/gem/Rantfile'] @@ -203,6 +205,15 @@ class TC_FileType < Test::Unit::TestCase assert_not_equal :yaml, FileType['YAML'] end + def test_pathname + require 'pathname' + pn = Pathname.new 'test.rb' + assert_equal :ruby, FileType[pn] + dir = Pathname.new '/etc/var/blubb' + assert_equal :ruby, FileType[dir + pn] + assert_equal :cpp, FileType[dir + 'test.cpp'] + end + def test_no_shebang dir = './test' if File.directory? dir |