From 2b712dc79082687c678f8b5d43b3f836b7c53753 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Thu, 21 Jun 2012 11:47:32 -0500 Subject: [PATCH] Guard against classify nil data --- lib/linguist/classifier.rb | 1 + test/test_classifier.rb | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib/linguist/classifier.rb b/lib/linguist/classifier.rb index dd3fe04f..30fb7c49 100644 --- a/lib/linguist/classifier.rb +++ b/lib/linguist/classifier.rb @@ -97,6 +97,7 @@ module Linguist # Returns sorted Array of result pairs. Each pair contains the # Language and a Float score. def classify(tokens, languages = @languages.keys) + return [] if tokens.nil? tokens = Tokenizer.new(tokens).tokens if tokens.is_a?(String) scores = {} diff --git a/test/test_classifier.rb b/test/test_classifier.rb index b39fb20c..508aa086 100644 --- a/test/test_classifier.rb +++ b/test/test_classifier.rb @@ -55,6 +55,10 @@ class TestClassifier < Test::Unit::TestCase assert results.first[1] < 0.5, results.first.inspect end + def test_instance_classify_nil + assert_equal [], Classifier.instance.classify(nil) + end + def test_verify assert Classifier.instance.verify end