Class Test::Spec::ShouldNot
In: lib/test/spec.rb
Parent: Object

Methods

==   =~   _raise   add_assertion   be   be_nil   equal   match   method_missing   new   nil   not   pass   satisfy   throw  

Included Modules

Test::Unit::Assertions

Public Class methods

[Source]

     # File lib/test/spec.rb, line 204
204:     def initialize(object, message=nil)
205:       @object = object
206:       @message = message
207:     end

Public Instance methods

==(value)

Alias for equal

=~(value)

Alias for match

[Source]

     # 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

[Source]

     # File lib/test/spec.rb, line 209
209:     def add_assertion
210:       $TEST_SPEC_TESTCASE && $TEST_SPEC_TESTCASE.__send__(:add_assertion)
211:     end

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/test/spec.rb, line 220
220:     def equal(value)
221:       assert_not_equal value, @object, @message
222:     end

[Source]

     # File lib/test/spec.rb, line 240
240:     def match(value)
241:       # Icky Regexp check
242:       assert_no_match value, @object, @message
243:     end

[Source]

     # 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

[Source]

     # File lib/test/spec.rb, line 256
256:     def nil
257:       assert_not_nil @object, @message
258:     end

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/test/spec.rb, line 214
214:     def satisfy(&block)
215:       assert_block(@message || "not.satisfy block succeded.") {
216:         not yield @object
217:       }
218:     end

[Source]

     # File lib/test/spec.rb, line 252
252:     def throw
253:       assert_nothing_thrown(@message, &@object)
254:     end

[Validate]