Add Pathname#lexer and Pathname#lexer_name

This commit is contained in:
Joshua Peek
2011-05-10 09:46:44 -05:00
parent de8bf008ef
commit 68718812bc
2 changed files with 33 additions and 0 deletions

View File

@@ -22,6 +22,22 @@ module Linguist
Language.find_by_extension(extname)
end
def lexer
if language
language.lexer
else
'plain'
end
end
def lexer_name
if language
language.name
else
'Text'
end
end
def to_s
@path.dup
end

View File

@@ -41,4 +41,21 @@ class TestPathname < Test::Unit::TestCase
assert_equal Language['Nu'], Pathname.new("itty.nu").language
assert_nil Pathname.new("defun.kt").language
end
def test_lexer
assert_equal 'ruby', Pathname.new("file.rb").lexer
assert_equal 'ruby', Pathname.new("Rakefile").lexer
assert_equal 'bash', Pathname.new("file.ebuild").lexer
assert_equal 'python', Pathname.new("itty.py").lexer
assert_equal 'scheme', Pathname.new("itty.nu").lexer
assert_equal 'plain', Pathname.new("defun.kt").lexer
end
def test_lexer_name
assert_equal 'Ruby', Pathname.new("file.rb").lexer_name
assert_equal 'Gentoo Ebuild', Pathname.new("file.ebuild").lexer_name
assert_equal 'Ruby', Pathname.new("Rakefile").lexer_name
assert_equal 'Nu', Pathname.new("itty.nu").lexer_name
assert_equal 'Text', Pathname.new("defun.kt").lexer_name
end
end