mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
69 lines
2.5 KiB
Ruby
69 lines
2.5 KiB
Ruby
require 'linguist/pathname'
|
|
|
|
require 'test/unit'
|
|
require 'pygments'
|
|
|
|
class TestPathname < Test::Unit::TestCase
|
|
include Linguist
|
|
|
|
Lexer = Pygments::Lexer
|
|
|
|
def test_to_s
|
|
assert_equal "file.rb", Pathname.new("file.rb").to_s
|
|
end
|
|
|
|
def test_basename
|
|
assert_equal 'file.rb', Pathname.new("file.rb").basename
|
|
assert_equal 'file.rb', Pathname.new("./file.rb").basename
|
|
assert_equal 'file.rb', Pathname.new("sub/dir/file.rb").basename
|
|
assert_equal '.profile', Pathname.new(".profile").basename
|
|
end
|
|
|
|
def test_extname
|
|
assert_equal '.rb', Pathname.new("file.rb").extname
|
|
assert_equal '.rb', Pathname.new("./file.rb").extname
|
|
assert_equal '.rb', Pathname.new("sub/dir/file.rb").extname
|
|
assert_equal '', Pathname.new(".profile").extname
|
|
end
|
|
|
|
def test_language
|
|
assert_nil Pathname.new(".rb").language
|
|
|
|
assert_equal Language['Ruby'], Pathname.new("file.rb").language
|
|
assert_equal Language['Ruby'], Pathname.new("./file.rb").language
|
|
assert_equal Language['Ruby'], Pathname.new("sub/dir/file.rb").language
|
|
|
|
assert_equal Language['Ruby'], Pathname.new("Rakefile").language
|
|
assert_equal Language['Ruby'], Pathname.new("vendor/Rakefile").language
|
|
assert_equal Language['Ruby'], Pathname.new("./Rakefile").language
|
|
|
|
assert_equal Language['Gentoo Ebuild'], Pathname.new("file.ebuild").language
|
|
assert_equal Language['Python'], Pathname.new("itty.py").language
|
|
assert_equal Language['Nu'], Pathname.new("itty.nu").language
|
|
|
|
assert_nil Pathname.new("defun.kt").language
|
|
end
|
|
|
|
def test_lexer
|
|
assert_equal Lexer['Ruby'], Pathname.new("file.rb").lexer
|
|
assert_equal Lexer['Ruby'], Pathname.new("Rakefile").lexer
|
|
assert_equal Lexer['Bash'], Pathname.new("file.ebuild").lexer
|
|
assert_equal Lexer['Python'], Pathname.new("itty.py").lexer
|
|
assert_equal Lexer['Scheme'], Pathname.new("itty.nu").lexer
|
|
assert_equal Lexer['Text only'], Pathname.new("defun.kt").lexer
|
|
end
|
|
|
|
def test_mime_type
|
|
assert_equal 'application/ruby', Pathname.new("file.rb").mime_type
|
|
assert_equal 'application/javascript', Pathname.new("file.js").mime_type
|
|
assert_equal 'application/python', Pathname.new("itty.py").mime_type
|
|
assert_equal 'text/plain', Pathname.new("defun.kt").mime_type
|
|
end
|
|
|
|
def test_content_type
|
|
assert_equal 'text/plain; charset=utf8', Pathname.new("file.txt").content_type
|
|
assert_equal 'text/plain; charset=utf8', Pathname.new("file.rb").content_type
|
|
assert_equal 'image/png', Pathname.new("octocat.png").content_type
|
|
end
|
|
end
|