aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2012-08-03 15:07:36 -0500
committerJoshua Peek <josh@joshpeek.com>2012-08-03 15:07:36 -0500
commit16a67cb852342b7c26cdde272458eb48cd016f4b (patch)
tree3377c623362b355d6019f19be7efc6ee3d5411a3 /test
parentfbbaff09cded5c485b4898e07c2c006eaf06074d (diff)
Move shebang detection into classifier
Fixes #203
Diffstat (limited to 'test')
-rw-r--r--test/test_blob.rb23
-rw-r--r--test/test_classifier.rb7
-rw-r--r--test/test_language.rb10
-rw-r--r--test/test_tokenizer.rb12
4 files changed, 13 insertions, 39 deletions
diff --git a/test/test_blob.rb b/test/test_blob.rb
index 079554a..c8f103e 100644
--- a/test/test_blob.rb
+++ b/test/test_blob.rb
@@ -45,10 +45,6 @@ class TestBlob < Test::Unit::TestCase
assert_equal "application/pdf", blob("Binary/foo.pdf").content_type
assert_equal "image/png", blob("Binary/foo.png").content_type
assert_equal "text/plain; charset=iso-8859-2", blob("Text/README").content_type
- assert_equal "text/plain; charset=iso-8859-1", blob("Perl/script.pl").content_type
- assert_equal "text/plain; charset=iso-8859-1", blob("Python/script.py").content_type
- assert_equal "text/plain; charset=iso-8859-1", blob("Ruby/script.rb").content_type
- assert_equal "text/plain; charset=iso-8859-1", blob("Shell/script.sh").content_type
end
def test_disposition
@@ -280,25 +276,6 @@ class TestBlob < Test::Unit::TestCase
assert_equal Lexer['Ruby'], blob("Ruby/foo.rb").lexer
end
- def test_shebang_script
- assert_equal 'sh', script_blob("Shell/script.sh").shebang_script
- assert_equal 'bash', script_blob("Shell/script.bash").shebang_script
- assert_equal 'zsh', script_blob("Shell/script.zsh").shebang_script
- assert_equal 'perl', script_blob("Perl/script.pl").shebang_script
- assert_equal 'ruby', script_blob("Ruby/script.rb").shebang_script
- assert_equal 'ruby', script_blob("Ruby/script2.rb").shebang_script
- assert_equal 'python', script_blob("Python/script.py").shebang_script
- assert_equal 'node', script_blob("JavaScript/script.js").shebang_script
- assert_equal 'groovy', script_blob("Groovy/script.groovy").shebang_script
- assert_equal 'macruby', script_blob("Ruby/macruby-script").shebang_script
- assert_equal 'rake', script_blob("Ruby/script.rake").shebang_script
- assert_equal 'foo', script_blob("Text/script.foo").shebang_script
- assert_equal 'nush', script_blob("Nu/script.nu").shebang_script
- assert_equal 'scala', script_blob("Scala/script.scala").shebang_script
- assert_equal 'racket', script_blob("Racket/script.rkt").shebang_script
- assert_equal nil, script_blob("Ruby/foo.rb").shebang_script
- end
-
def test_colorize
assert_equal <<-HTML, blob("Ruby/foo.rb").colorize
<div class="highlight"><pre><span class="k">module</span> <span class="nn">Foo</span>
diff --git a/test/test_classifier.rb b/test/test_classifier.rb
index a24c5ba..0a47783 100644
--- a/test/test_classifier.rb
+++ b/test/test_classifier.rb
@@ -54,11 +54,8 @@ class TestClassifier < Test::Unit::TestCase
def test_classify_ambiguous_languages
Samples.each do |sample|
- language = Linguist::Language.find_by_name(sample[:language])
- next unless language.overrides.any?
-
- extname = File.extname(sample[:path])
- languages = Language.all.select { |l| l.extensions.include?(extname) }.map(&:name)
+ language = Linguist::Language.find_by_name(sample[:language])
+ languages = Language.find_by_filename(sample[:path]).map(&:name)
next unless languages.length > 1
results = Classifier.classify(Samples::DATA, File.read(sample[:path]), languages)
diff --git a/test/test_language.rb b/test/test_language.rb
index 757b917..47483b0 100644
--- a/test/test_language.rb
+++ b/test/test_language.rb
@@ -8,16 +8,6 @@ class TestLanguage < Test::Unit::TestCase
Lexer = Pygments::Lexer
- def test_ambiguous_extensions
- assert Language.ambiguous?('.cls')
- assert Language.ambiguous?('.h')
- assert Language.ambiguous?('.m')
- assert Language.ambiguous?('.pl')
- assert Language.ambiguous?('.r')
- assert Language.ambiguous?('.t')
- assert Language.ambiguous?('.v')
- end
-
def test_lexer
assert_equal Lexer['ActionScript 3'], Language['ActionScript'].lexer
assert_equal Lexer['Bash'], Language['Gentoo Ebuild'].lexer
diff --git a/test/test_tokenizer.rb b/test/test_tokenizer.rb
index d57726c..4fb49a4 100644
--- a/test/test_tokenizer.rb
+++ b/test/test_tokenizer.rb
@@ -85,6 +85,17 @@ class TestTokenizer < Test::Unit::TestCase
assert_equal %w(#import <Cocoa/Cocoa.h> int main \( int argc char *argv [ ] \) { NSLog \( @ \) ; return ; }), tokenize(:"Objective-C/hello.m")
end
+ def test_shebang
+ assert_equal "SHEBANG#!sh", tokenize(:"Shell/sh.script!")[0]
+ assert_equal "SHEBANG#!bash", tokenize(:"Shell/bash.script!")[0]
+ assert_equal "SHEBANG#!zsh", tokenize(:"Shell/zsh.script!")[0]
+ assert_equal "SHEBANG#!perl", tokenize(:"Perl/perl.script!")[0]
+ assert_equal "SHEBANG#!python", tokenize(:"Python/python.script!")[0]
+ assert_equal "SHEBANG#!ruby", tokenize(:"Ruby/ruby.script!")[0]
+ assert_equal "SHEBANG#!ruby", tokenize(:"Ruby/ruby2.script!")[0]
+ assert_equal "SHEBANG#!node", tokenize(:"JavaScript/js.script!")[0]
+ end
+
def test_javascript_tokens
assert_equal %w( \( function \( \) { console.log \( \) ; } \) .call \( this \) ;), tokenize(:"JavaScript/hello.js")
end
@@ -95,7 +106,6 @@ class TestTokenizer < Test::Unit::TestCase
def test_ruby_tokens
assert_equal %w(module Foo end), tokenize(:"Ruby/foo.rb")
- assert_equal %w(# /usr/bin/env ruby puts), tokenize(:"Ruby/script.rb")
assert_equal %w(task default do puts end), tokenize(:"Ruby/filenames/Rakefile")
end
end