Class | Test::Spec::ShouldNot |
In: |
lib/test/spec.rb
|
Parent: | Object |
# File lib/test/spec.rb, line 196 196: def initialize(object, message=nil) 197: @object = object 198: @message = message 199: end
# File lib/test/spec.rb, line 233 233: def _raise(*args) 234: assert_nothing_raised(*(args+[@message]), &@object) 235: end
# File lib/test/spec.rb, line 212 212: def be(*value) 213: case value.size 214: when 0 215: self 216: when 1 217: if CustomShould === value.first 218: pass value.first 219: else 220: assert_not_same value.first, @object, @message 221: end 222: else 223: Kernel.raise ArgumentError, "should.be needs zero or one argument" 224: end 225: end
# File lib/test/spec.rb, line 245 245: def be_nil 246: warn "Test::Spec::ShouldNot#be_nil is deprecated and will be removed in future versions." 247: self.nil 248: end
# File lib/test/spec.rb, line 207 207: def equal(value) 208: assert_not_equal value, @object, @message 209: end
# File lib/test/spec.rb, line 227 227: def match(value) 228: # Icky Regexp check 229: assert_no_match value, @object, @message 230: end
# File lib/test/spec.rb, line 269 269: def method_missing(name, *args) 270: # This will make raise call Kernel.raise, and self.raise call _raise. 271: return _raise(*args) if name == :raise 272: 273: if @object.respond_to?("#{name}?") 274: assert_block("#{name}? expected to be false. #{@message}") { 275: not @object.__send__("#{name}?", *args) 276: } 277: else 278: super 279: end 280: end
# File lib/test/spec.rb, line 250 250: def not(*args) 251: case args.size 252: when 0 253: Should.new(@object, @message) 254: when 1 255: Should.new(@object, @message).pass(args.first) 256: else 257: raise ArgumentError, "#not takes zero or one argument(s)." 258: end 259: end
# File lib/test/spec.rb, line 261 261: def pass(custom) 262: _wrap_assertion { 263: begin 264: assert !custom.matches?(@object), @message || custom.failure_message 265: end 266: } 267: end