From eccea656410f8dcd0dbe0b98999e39337c4141e4 Mon Sep 17 00:00:00 2001 From: Brandon Keepers Date: Thu, 20 Nov 2014 11:14:05 -0500 Subject: [PATCH] Fix for interpreters not getting add to samples.json --- lib/linguist/samples.rb | 8 +++++--- test/test_samples.rb | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/linguist/samples.rb b/lib/linguist/samples.rb index 82c011b1..ca91dc15 100644 --- a/lib/linguist/samples.rb +++ b/lib/linguist/samples.rb @@ -52,14 +52,16 @@ module Linguist }) end else + path = File.join(dirname, filename) + if File.extname(filename) == "" - raise "#{File.join(dirname, filename)} is missing an extension, maybe it belongs in filenames/ subdir" + raise "#{path} is missing an extension, maybe it belongs in filenames/ subdir" end yield({ - :path => File.join(dirname, filename), + :path => path, :language => category, - :interpreter => File.exist?(filename) ? Linguist.interpreter_from_shebang(File.read(filename)) : nil, + :interpreter => Linguist.interpreter_from_shebang(File.read(path)), :extname => File.extname(filename) }) end diff --git a/test/test_samples.rb b/test/test_samples.rb index 929a7a00..69b3cde3 100644 --- a/test/test_samples.rb +++ b/test/test_samples.rb @@ -34,6 +34,7 @@ class TestSamples < Test::Unit::TestCase assert_equal data['languages_total'], data['languages'].inject(0) { |n, (_, c)| n += c } assert_equal data['tokens_total'], data['language_tokens'].inject(0) { |n, (_, c)| n += c } assert_equal data['tokens_total'], data['tokens'].inject(0) { |n, (_, ts)| n += ts.inject(0) { |m, (_, c)| m += c } } + assert !data["interpreters"].empty? end # Check that there aren't samples with extensions that aren't explicitly defined in languages.yml