Class | Test::Spec::ShouldNot |
In: |
lib/test/spec.rb
|
Parent: | Object |
# File lib/test/spec.rb, line 204 204: def initialize(object, message=nil) 205: @object = object 206: @message = message 207: end
# File lib/test/spec.rb, line 246 246: def _raise(*args, &block) 247: block ||= @object 248: args << @message if @message 249: assert_nothing_raised(*args, &block) 250: end
# File lib/test/spec.rb, line 209 209: def add_assertion 210: $TEST_SPEC_TESTCASE && $TEST_SPEC_TESTCASE.__send__(:add_assertion) 211: end
# File lib/test/spec.rb, line 225 225: def be(*value) 226: case value.size 227: when 0 228: self 229: when 1 230: if CustomShould === value.first 231: pass value.first 232: else 233: assert_not_same value.first, @object, @message 234: end 235: else 236: Kernel.raise ArgumentError, "should.be needs zero or one argument" 237: end 238: end
# File lib/test/spec.rb, line 260 260: def be_nil 261: warn "Test::Spec::ShouldNot#be_nil is deprecated and will be removed in future versions." 262: self.nil 263: end
# File lib/test/spec.rb, line 220 220: def equal(value) 221: assert_not_equal value, @object, @message 222: end
# File lib/test/spec.rb, line 240 240: def match(value) 241: # Icky Regexp check 242: assert_no_match value, @object, @message 243: end
# File lib/test/spec.rb, line 284 284: def method_missing(name, *args, &block) 285: # This will make raise call Kernel.raise, and self.raise call _raise. 286: return _raise(*args, &block) if name == :raise 287: 288: if @object.respond_to?("#{name}?") 289: assert_block("#{name}? expected to be false. #{@message}") { 290: not @object.__send__("#{name}?", *args) 291: } 292: else 293: if @object.respond_to?(name) 294: assert_block("#{name} expected to be false. #{@message}") { 295: not @object.__send__("#{name}", *args) 296: } 297: else 298: super 299: end 300: end 301: end
# File lib/test/spec.rb, line 265 265: def not(*args) 266: case args.size 267: when 0 268: Should.new(@object, @message) 269: when 1 270: Should.new(@object, @message).pass(args.first) 271: else 272: raise ArgumentError, "#not takes zero or one argument(s)." 273: end 274: end
# File lib/test/spec.rb, line 276 276: def pass(custom) 277: _wrap_assertion { 278: begin 279: assert !custom.matches?(@object), @message || custom.failure_message 280: end 281: } 282: end