From f6536e9c8bae3c53a0b7c97b7bdddc0ce7beab83 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 28 Jun 2013 21:17:12 -0500 Subject: [PATCH] Reject versions that aren't strings --- Library/Homebrew/formula_support.rb | 2 ++ Library/Homebrew/test/test_software_spec.rb | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb index 1ef4d3abc3..69420ff0f8 100644 --- a/Library/Homebrew/formula_support.rb +++ b/Library/Homebrew/formula_support.rb @@ -40,6 +40,8 @@ class SoftwareSpec when nil then Version.detect(url, specs) when String then Version.new(val) when Hash then Version.new_with_scheme(*val.shift) + else + raise TypeError, "version '#{val.inspect}' should be a string" end end diff --git a/Library/Homebrew/test/test_software_spec.rb b/Library/Homebrew/test/test_software_spec.rb index f3eed4769e..856bea611d 100644 --- a/Library/Homebrew/test/test_software_spec.rb +++ b/Library/Homebrew/test/test_software_spec.rb @@ -66,6 +66,12 @@ class SoftwareSpecTests < Test::Unit::TestCase assert @spec.version.detected_from_url? end + def test_rejects_non_string_versions + assert_raises(TypeError) { @spec.version(1) } + assert_raises(TypeError) { @spec.version(2.0) } + assert_raises(TypeError) { @spec.version(Object.new) } + end + def test_mirrors assert_empty @spec.mirrors @spec.mirror('foo')