aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAman Gupta <aman@tmm1.net>2011-11-23 00:51:33 -0800
committerAman Gupta <aman@tmm1.net>2011-11-23 00:54:40 -0800
commit61a59c8e84308e2c5d49f743794f8b4b6bcaafcc (patch)
tree2b2743fabd12cb2a6d54bcdea73b5c5c3939a3cd /test
parent9994ac3a0c50926c4f999e0e4bf985ca5754217f (diff)
avoid load_blob and shebang check on files with extensions
previously, any file with an unrecognized file extension was loaded to check for a shebang. now, this only occurs if the file has a generic name with no file extension (like ./script) it is possible this will no longer match certain scripts with esoteric extensions (if we find these we can add them to the shebang_extname? method). however, most common script extensions (.sh, .rb, .pl, etc) will continue to work since the file extension takes precedence over the shebang line.
Diffstat (limited to 'test')
-rw-r--r--test/test_blob.rb68
1 files changed, 37 insertions, 31 deletions
diff --git a/test/test_blob.rb b/test/test_blob.rb
index 5d00078..ac659c7 100644
--- a/test/test_blob.rb
+++ b/test/test_blob.rb
@@ -17,6 +17,12 @@ class TestBlob < Test::Unit::TestCase
FileBlob.new(File.join(fixtures_path, name), fixtures_path)
end
+ def script_blob(name)
+ blob = blob(name)
+ blob.instance_variable_set(:@name, 'script')
+ blob
+ end
+
def test_name
assert_equal "foo.rb", blob("foo.rb").name
end
@@ -385,40 +391,40 @@ class TestBlob < Test::Unit::TestCase
end
def test_shebang_script
- assert_equal 'sh', blob("script.sh").shebang_script
- assert_equal 'bash', blob("script.bash").shebang_script
- assert_equal 'zsh', blob("script.zsh").shebang_script
- assert_equal 'perl', blob("script.pl").shebang_script
- assert_equal 'ruby', blob("script.rb").shebang_script
- assert_equal 'ruby', blob("script2.rb").shebang_script
- assert_equal 'python', blob("script.py").shebang_script
- assert_equal 'node', blob("script.js").shebang_script
- assert_equal 'groovy', blob("script.groovy").shebang_script
- assert_equal 'macruby', blob("script.mrb").shebang_script
- assert_equal 'rake', blob("script.rake").shebang_script
- assert_equal 'foo', blob("script.foo").shebang_script
- assert_equal 'nush', blob("script.nu").shebang_script
- assert_equal 'scala', blob("script.scala").shebang_script
- assert_equal 'racket', blob("script.rkt").shebang_script
- assert_equal nil, blob("foo.rb").shebang_script
+ assert_equal 'sh', script_blob("script.sh").shebang_script
+ assert_equal 'bash', script_blob("script.bash").shebang_script
+ assert_equal 'zsh', script_blob("script.zsh").shebang_script
+ assert_equal 'perl', script_blob("script.pl").shebang_script
+ assert_equal 'ruby', script_blob("script.rb").shebang_script
+ assert_equal 'ruby', script_blob("script2.rb").shebang_script
+ assert_equal 'python', script_blob("script.py").shebang_script
+ assert_equal 'node', script_blob("script.js").shebang_script
+ assert_equal 'groovy', script_blob("script.groovy").shebang_script
+ assert_equal 'macruby', script_blob("script.mrb").shebang_script
+ assert_equal 'rake', script_blob("script.rake").shebang_script
+ assert_equal 'foo', script_blob("script.foo").shebang_script
+ assert_equal 'nush', script_blob("script.nu").shebang_script
+ assert_equal 'scala', script_blob("script.scala").shebang_script
+ assert_equal 'racket', script_blob("script.rkt").shebang_script
+ assert_equal nil, script_blob("foo.rb").shebang_script
end
def test_shebang_language
- assert_equal Language['Shell'], blob("script.sh").shebang_language
- assert_equal Language['Shell'], blob("script.bash").shebang_language
- assert_equal Language['Shell'], blob("script.zsh").shebang_language
- assert_equal Language['Perl'], blob("script.pl").shebang_language
- assert_equal Language['Ruby'], blob("script.rb").shebang_language
- assert_equal Language['Python'], blob("script.py").shebang_language
- assert_equal Language['JavaScript'], blob("script.js").shebang_language
- assert_equal Language['Groovy'], blob("script.groovy").shebang_language
- assert_equal Language['Ruby'], blob("script.mrb").shebang_language
- assert_equal Language['Ruby'], blob("script.rake").shebang_language
- assert_equal Language['Nu'], blob("script.nu").shebang_language
- assert_equal Language['Scala'], blob("script.scala").shebang_language
- assert_equal Language['Racket'], blob("script.rkt").shebang_language
- assert_equal nil, blob("script.foo").shebang_language
- assert_equal nil, blob("foo.rb").shebang_language
+ assert_equal Language['Shell'], script_blob("script.sh").shebang_language
+ assert_equal Language['Shell'], script_blob("script.bash").shebang_language
+ assert_equal Language['Shell'], script_blob("script.zsh").shebang_language
+ assert_equal Language['Perl'], script_blob("script.pl").shebang_language
+ assert_equal Language['Ruby'], script_blob("script.rb").shebang_language
+ assert_equal Language['Python'], script_blob("script.py").shebang_language
+ assert_equal Language['JavaScript'], script_blob("script.js").shebang_language
+ assert_equal Language['Groovy'], script_blob("script.groovy").shebang_language
+ assert_equal Language['Ruby'], script_blob("script.mrb").shebang_language
+ assert_equal Language['Ruby'], script_blob("script.rake").shebang_language
+ assert_equal Language['Nu'], script_blob("script.nu").shebang_language
+ assert_equal Language['Scala'], script_blob("script.scala").shebang_language
+ assert_equal Language['Racket'], script_blob("script.rkt").shebang_language
+ assert_equal nil, script_blob("script.foo").shebang_language
+ assert_equal nil, script_blob("foo.rb").shebang_language
end
def test_colorize