From fdc8f18c5213b573bad16c61665cb0fc8d63e181 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 9 May 2011 23:03:30 -0500 Subject: [PATCH] Raise an error is Language#name is missing --- lib/linguist/language.rb | 2 +- test/test_language.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index 8f6686d1..694ccf31 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -43,7 +43,7 @@ module Linguist attr_reader :name, :extensions def initialize(attributes = {}) - @name = attributes[:name] + @name = attributes[:name] || raise(ArgumentError, "missing name") @extensions = attributes[:extensions] || [] end end diff --git a/test/test_language.rb b/test/test_language.rb index 1ad96405..686486a7 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -32,6 +32,12 @@ class TestLanguage < Test::Unit::TestCase assert_equal "Ruby", Language['Ruby'].name end + def test_error_without_name + assert_raise ArgumentError do + Language.new :name => nil + end + end + def test_extensions assert Language['Perl'].extensions.include?('.pl') assert Language['Python'].extensions.include?('.py')