From 800d26cdadc5e1eaae852e21af82279641d23b02 Mon Sep 17 00:00:00 2001 From: Arfon Smith Date: Sun, 29 Dec 2013 19:22:31 -0800 Subject: [PATCH] Adding Perl heuristic (and fixing up Prolog) --- lib/linguist/heuristics.rb | 3 ++- test/test_heuristics.rb | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/linguist/heuristics.rb b/lib/linguist/heuristics.rb index ad65bafb..007f5622 100644 --- a/lib/linguist/heuristics.rb +++ b/lib/linguist/heuristics.rb @@ -33,9 +33,10 @@ module Linguist matches end - def self_disambiguate_pl(data, languages) + def self.disambiguate_pl(data, languages) matches = [] matches << Language["Prolog"] if data.include?(":-") + matches << Language["Perl"] if data.include?("use strict") matches end diff --git a/test/test_heuristics.rb b/test/test_heuristics.rb index 5a036f1f..a7847173 100644 --- a/test/test_heuristics.rb +++ b/test/test_heuristics.rb @@ -38,4 +38,16 @@ class TestHeuristcs < Test::Unit::TestCase match = Language.detect("Hello.m", fixture("Objective-C/hello.m")) assert_equal Language["Objective-C"], match end + + def test_pl_prolog_by_heuristics + languages = ["Perl", "Prolog"] + results = Heuristics.disambiguate_pl(fixture("Prolog/turing.pl"), languages) + assert_equal Language["Prolog"], results.first + end + + def test_pl_perl_by_heuristics + languages = ["Perl", "Prolog"] + results = Heuristics.disambiguate_pl(fixture("Perl/perl-test.t"), languages) + assert_equal Language["Perl"], results.first + end end