diff options
| author | Joshua Peek <josh@joshpeek.com> | 2012-08-03 15:07:36 -0500 |
|---|---|---|
| committer | Joshua Peek <josh@joshpeek.com> | 2012-08-03 15:07:36 -0500 |
| commit | 16a67cb852342b7c26cdde272458eb48cd016f4b (patch) | |
| tree | 3377c623362b355d6019f19be7efc6ee3d5411a3 /test | |
| parent | fbbaff09cded5c485b4898e07c2c006eaf06074d (diff) | |
Move shebang detection into classifier
Fixes #203
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_blob.rb | 23 | ||||
| -rw-r--r-- | test/test_classifier.rb | 7 | ||||
| -rw-r--r-- | test/test_language.rb | 10 | ||||
| -rw-r--r-- | test/test_tokenizer.rb | 12 |
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 |
