From dec56649b2aa8b799742ea1e28299c7b2e58dc8a Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Fri, 13 May 2011 12:54:16 -0500 Subject: [PATCH] Add Blob#binary? --- lib/linguist/blob.rb | 6 +++++- test/test_blob.rb | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/linguist/blob.rb b/lib/linguist/blob.rb index 95e30b83..755c1352 100644 --- a/lib/linguist/blob.rb +++ b/lib/linguist/blob.rb @@ -26,8 +26,12 @@ module Linguist defined?(Grit::Submodule) && @blob.kind_of?(Grit::Submodule) end + def binary? + mime_type == 'octet-stream' || !(text? || image?) + end + def file? - image? || !text? || mime_type == 'octet-stream' + image? || binary? end def text? diff --git a/test/test_blob.rb b/test/test_blob.rb index 24ccfb2c..09b19888 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -50,6 +50,14 @@ class TestBlob < Test::Unit::TestCase assert_equal 15, blob("foo.rb").size end + def test_binary + assert blob("linguist.gem").binary? + assert blob("git.deb").binary? + assert blob("git.exe").binary? + assert !blob("file.txt").binary? + assert !blob("octocat.png").binary? + end + def test_file assert blob("octocat.png").file? assert blob("linguist.gem").file?