Permalink
Browse files

Changed 0.blank? to false rather than true since it violates everyone…

…'s expectation of blankness. Closes #2518, Closes #2705.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2849 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 4f75498 commit ac58ba60f6cfc272992129ce28808e37391b95d7 @jeremy jeremy committed Nov 2, 2005
View
@@ -1,5 +1,7 @@
*SVN*
+* Changed 0.blank? to false rather than true since it violates everyone's expectation of blankness. #2518, #2705 [rails@jeffcole.net]
+
* When loading classes using const_missing, raise a NameError if and only if the file we tried to load was not present. [Nicholas Seckar]
* Added petabytes and exebytes to numeric extensions #2397 [timct@mac.com]
@@ -30,7 +30,3 @@ def blank?
empty? || strip.empty?
end
end
-
-class Numeric #:nodoc:
- alias_method :blank?, :zero?
-end
@@ -14,19 +14,17 @@ def subclasses_of(*superclasses)
subclasses
end
- # "", " ", nil, and 0 are all blank
+ # "", " ", nil, [], and {} are blank
def blank?
if respond_to?(:empty?) && respond_to?(:strip)
- strip.empty?
- elsif respond_to? :empty?
+ empty? or strip.empty?
+ elsif respond_to?(:empty?)
empty?
- elsif respond_to? :zero?
- zero?
else
!self
end
end
-
+
def suppress(*exception_classes)
begin yield
rescue Exception => e
@@ -0,0 +1,13 @@
+require 'test/unit'
+require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/object_and_class'
+require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/blank'
+
+class BlankTest < Test::Unit::TestCase
+ BLANK = [nil, false, '', ' ', " \n\t \r ", [], {}]
+ NOT = [true, 0, 1, 'a', [nil], { nil => 0 }]
+
+ def test_blank
+ BLANK.each { |v| assert v.blank? }
+ NOT.each { |v| assert !v.blank? }
+ end
+end

0 comments on commit ac58ba6

Please sign in to comment.