From a69118bd1738bb2d3a66cf5bb026a69a0d535093 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Sat, 21 May 2011 17:41:43 -0500 Subject: [PATCH] Prefer extension over shebang --- lib/linguist/blob_helper.rb | 6 +++++- test/fixtures/blob/wrong_shebang.rb | 2 ++ test/test_blob.rb | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/blob/wrong_shebang.rb diff --git a/lib/linguist/blob_helper.rb b/lib/linguist/blob_helper.rb index 57c04686..5d030232 100644 --- a/lib/linguist/blob_helper.rb +++ b/lib/linguist/blob_helper.rb @@ -80,7 +80,11 @@ module Linguist def language if text? - shebang_language || pathname.language + if pathname.extname == "" + shebang_language || pathname.language + else + pathname.language + end else Language['Text'] end diff --git a/test/fixtures/blob/wrong_shebang.rb b/test/fixtures/blob/wrong_shebang.rb new file mode 100644 index 00000000..22b4804a --- /dev/null +++ b/test/fixtures/blob/wrong_shebang.rb @@ -0,0 +1,2 @@ +#!/usr/bin/env python +puts "Not Python" diff --git a/test/test_blob.rb b/test/test_blob.rb index 4d7fdd94..76129c0b 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -118,6 +118,7 @@ class TestBlob < Test::Unit::TestCase assert_equal Language['Ruby'], blob("foo.rb").language assert_equal Language['Ruby'], blob("script.rb").language assert_equal Language['Text'], blob("octocat.png").language + assert_equal Language['Ruby'], blob("wrong_shebang.rb").language end def test_lexer_name