OlderDiff < 20110307T232125Z < ThisDiff > 20110308T232423Z > NewerDiff
COMMIT [Brian Ford] Added string or symbol helper for MSpec.
COMMIT [Brian Ford] Respect privacy of method_missing in Ruby.
COMMIT [Brian Ford] Load ActionFilter before custom mspec scripts.
COMMIT [Brian Ford] Added have_singleton_method matcher.
COMMIT [Brian Ford] Fixed Array#inspect specs for tainted Array or elements.
COMMIT [Brian Ford] Fixed order-dependent Hash#each spec.
COMMIT [Evan Phoenix] Mild cleanup and clarify modification during iteration spec
COMMIT [Brian Ford] Enhance spec for Array#inspect tainting result.
COMMIT [Ivan Samsonov] Enhance spec for using in Hash#[]= already frozen keys.
COMMIT [Dirkjan Bussink] Add spec for rb_str_buf_new2
COMMIT [Chuck Remes] improve string arg handling so numbers are always decimal
COMMIT [Santiago Pastorino] String#strip should remove null bytes only if they are last and consecutives
COMMIT [Evan Phoenix] Add spec for module_eval + lexical constant scope
COMMIT [Evan Phoenix] Add spec for IO#expect
COMMIT [Brian Ford] Fixed String#strip, #rstrip specs for 1.9.
COMMIT [Evan Phoenix] Format fix some Time specs
COMMIT [Evan Phoenix] Add a few more arg type check specs for Time
COMMIT [Mikko Perttunen] Make sure TCPSocket.new (shared) spec cleans up properly after failing (fixes hang)
COMMIT [Dirkjan Bussink] Add specs for defining attribute methods on immediates
COMMIT [Evan Phoenix] Flesh out string coerce specs in StringScanner
COMMIT [Dirkjan Bussink] Add specs that Kernel#object_id shouldn't collide
COMMIT [Brian Ford] Rewrote Kernel#singleton_methods specs.
COMMIT [Ivan Samsonov] Enhance Module#define_method spec
COMMIT [Brian Ford] Spec for File.expand_path('~').
COMMIT [Brian Ford] Added Module#define_method with block specs for arity checking.
COMMIT [Brian Ford] Quarantine #freeze specs temporarily.
COMMIT [Brian Ford] More method reflection specs.
COMMIT [Dirkjan Bussink] Add missing return in CAPI Array spec
COMMIT [Evan Phoenix] Add spec for visibility+alias changes
COMMIT [Evan Phoenix] Add spec for a directory with a glob
COMMIT [Thiago Pradi] Specs for Hash[] method when passing an array
COMMIT [Brian Ford] Fixed Hash.[] spec for 1.8.6.
COMMIT [Brian Ford] Spec for eval locals at script scope.
COMMIT [Evan Phoenix] Cleanup eval specs
COMMIT [Aman Gupta] Handle ST_DELETE returns from the rb_hash_foreach callback
COMMIT [Brian Ford] Language specs for break.
COMMIT [Jari Bakken] Add spec for reuse of an Exception's backtrace.
COMMIT [John Mair] Added new specs for Class#dup
COMMIT [Brian Ford] Clarify language/break specs for non-compliant rbx behavior.
COMMIT [Evan Phoenix] Add extra spec for magic + braces in one name
COMMIT [NARUSE, Yui] Clear ENV["RUBY_FLAGS"] for -v
COMMIT [Brian Ford] Some fixes for Kernel#sprintf specs for 1.8.
COMMIT [Brian Ford] Revert "Clear ENV["RUBY_FLAGS"] for -v"
COMMIT [Brian Ford] Properly Clear ENV[RUBY_FLAGS] for RUBYOPT specs.
COMMIT [Brian Ford] Do not use 1.9 syntax in common spec files.
===================================================================
+++ 20110308T232423Z
@@ 7993 @@
- returns a string
- calls inspect on its elements
- handles recursive arrays
+- taints the result String if the Array is tainted
+- taints the result String if an element is tainted
+- does not taint the result String if the Array is empty
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/array/intersection_spec.rb
Array#&
@@ 9915 @@
- properly handles recursive arrays
- accepts a block instead of an argument
- ignore the block if there is an argument
+- rechecks the array size during iteration
Array#rindex given no argument and no block
- produces an Enumerator
@@ 10514 @@
- returns a fully-formed instance of Module
- does not call initialize on the new instance
+/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/class/dup_spec.rb
+Class#dup
+- duplicates both the class and the singleton class
+- retains the correct ancestor chain for the singleton class
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/class/inherited_spec.rb
Class.inherited
@@ 10733 @@
- matches dotfiles with '.*<non-special characters>'
- matches files with any ending with '<non-special characters>*'
- matches files with any middle with '<non-special characters>*<non-special characters>'
+- handles directories with globs
- matches files with multiple '*' special characters
- matches non-dotfiles in the current directory with '**'
- matches dotfiles in the current directory with '.**'
@@ 10746 @@
- matches any characters except those in a set with '[^<characters>]'
- matches any characters except those in a range with '[^<character>-<character]'
- matches any one of the strings in a set with '{<string>,<other>,...}'
+- matches a set '{<string>,<other>,...}' which also uses a glob
- accepts string sets with empty strings with {<string>,,<other>}
- matches dot or non-dotfiles with '{,.}*'
- respects the order of {} expressions, expanding left most first
@@ 10798 @@
- matches dotfiles with '.*<non-special characters>'
- matches files with any ending with '<non-special characters>*'
- matches files with any middle with '<non-special characters>*<non-special characters>'
+- handles directories with globs
- matches files with multiple '*' special characters
- matches non-dotfiles in the current directory with '**'
- matches dotfiles in the current directory with '.**'
@@ 10811 @@
- matches any characters except those in a set with '[^<characters>]'
- matches any characters except those in a range with '[^<character>-<character]'
- matches any one of the strings in a set with '{<string>,<other>,...}'
+- matches a set '{<string>,<other>,...}' which also uses a glob
- accepts string sets with empty strings with {<string>,,<other>}
- matches dot or non-dotfiles with '{,.}*'
- respects the order of {} expressions, expanding left most first
@@ 11716 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/exception/set_backtrace_spec.rb
Exception#set_backtrace
- allows the user to set the backtrace to any array
+- allows the user to set the backtrace from a rescued exception
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/exception/signm_spec.rb
SignalException#signm
@@ 12024 @@
- does not modify a HOME string argument
- returns a String when passed a String subclass
+File.expand_path when HOME is not set
+- raises an ArgumentError when passed '~' if HOME is nil
+- raises an ArgumentError when passed '~' if HOME == ''
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/file/extname_spec.rb
File.extname
@@ 13379 @@
- creates a Hash; values can be provided as a list of value-pairs in an array
- raises an ArgumentError when passed an odd number of arguments
- calls to_hash
+- returns an instance of a subclass when passed an Array
- returns an instance of the class it's called on
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/hash/default_proc_spec.rb
@@ 13439 @@
Hash#each
- yields a [[key, value]] Array for each pair to a block expecting |*args|
- yields the key and value of each pair to a block expecting |key, value|
+- yields the key only to a block expecting |key,|
- uses the same order as keys() and values()
- returns an Enumerator if called on a non-empty hash without a block
- returns an Enumerator if called on an empty hash without a block
@@ 13474 @@
- duplicates string keys using dup semantics
- stores unequal keys that hash to the same value
- duplicates and freezes string keys
+- doesn't duplicate and freeze already frozen string keys
- raises a TypeError if called on a frozen instance
- does not raise an exception if changing the value of an existing key during iteration
@@ 13727 @@
- duplicates string keys using dup semantics
- stores unequal keys that hash to the same value
- duplicates and freezes string keys
+- doesn't duplicate and freeze already frozen string keys
- raises a TypeError if called on a frozen instance
- does not raise an exception if changing the value of an existing key during iteration
@@ 15037 @@
- returns a different value for two Float literals
- returns a different value for two String literals
- returns a different value for an object and its dup
+- returns a different value for two numbers near the 32 bit Fixnum limit
+- returns a different value for two numbers near the 64 bit Fixnum limit
Kernel#__id__
- needs to be reviewed for spec completeness
@@ 15302 @@
- updates a local in a surrounding block scope
- updates a local in a scope above a surrounding block scope
- updates a local in a scope above when modified in a nested block scope
+- updates a local at script scope
- accepts a Proc object as a binding
- does not make Proc locals visible to evaluated code
+- stores all locals of nested eval bindings in the first non-eval binding
+- allows a Proc invocation to terminate the eval binding chain on local creation
+- can access normal locals in nested closures
- allows creating a new class in a binding
- allows creating a new class in a binding created by #eval
- includes file and line information in syntax error
@@ 15701 @@
- does not return superclass methods undefined in a superclass
- does not return included module methods undefined in the object's class
+Kernel#methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/nil_spec.rb
Kernel#nil?
@@ 15730 @@
- returns a different value for two Float literals
- returns a different value for two String literals
- returns a different value for an object and its dup
+- returns a different value for two numbers near the 32 bit Fixnum limit
+- returns a different value for two numbers near the 64 bit Fixnum limit
Kernel#object_id
- needs to be reviewed for spec completeness
@@ 15782 @@
- respects the class hierarchy when decided what is private
- returns private methods mixed in to the metaclass
+Kernel#private_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#private_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/proc_spec.rb
Kernel.proc
@@ 15809 @@
- returns a list of the names of protected methods accessible in the object and from its ancestors and mixed-in modules
- returns protected methods mixed in to the metaclass
+Kernel#protected_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#protected_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/public_method_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/public_methods_spec.rb
@@ 15826 @@
- returns a list of the names of publicly accessible methods in the object and its ancestors and mixed-in modules
- returns public methods mixed in to the metaclass
+Kernel#public_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#public_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/public_send_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/putc_spec.rb
@@ 16109 @@
- is a private method
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/singleton_methods_spec.rb
+Kernel#singleton_methods when not passed an argument
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- returns the names of singleton methods for an object extented with a module
+- returns a unique list for an object extended with a module
+- returns the names of singleton methods for an object extented with two modules
+- returns the names of singleton methods for an object extented with a module including a module
+- returns the names of inherited singleton methods for a subclass
+- returns a unique list for a subclass
+- returns the names of inherited singleton methods for a subclass including a module
+- returns a unique list for a subclass including a module
+- returns the names of inherited singleton methods for a subclass of a class including a module
+- returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns the names of inherited singleton methods for a class extended with a module
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+Kernel#singleton_methods when passed true
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- returns the names of singleton methods for an object extented with a module
+- returns a unique list for an object extended with a module
+- returns the names of singleton methods for an object extented with two modules
+- returns the names of singleton methods for an object extented with a module including a module
+- returns the names of inherited singleton methods for a subclass
+- returns a unique list for a subclass
+- returns the names of inherited singleton methods for a subclass including a module
+- returns a unique list for a subclass including a module
+- returns the names of inherited singleton methods for a subclass of a class including a module
+- returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns the names of inherited singleton methods for a class extended with a module
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+Kernel#singleton_methods when passed false
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns an empty Array for an object extented with a module
+- returns an empty Array for an object extented with two modules
+- returns an empty Array for an object extended with a module including a module
+- returns the names of singleton methods of the subclass
+- does not return names of inherited singleton methods for a subclass
+- does not return the names of inherited singleton methods for a class extended with a module
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/sleep_spec.rb
Kernel#sleep
@@ 17000 @@
Module#alias_method
- makes a copy of the method
- retains method visibility
+- handles aliasing a stub that changes visibility
- fails if origin method not found
+- converts the names using #to_str
- raises a TypeError when the given name can't be converted using to_str
- is a private method
- works in module
@@ 17028 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_accessor_spec.rb
Module#attr_accessor
- creates a getter and setter for each given attribute name
+- allows creating an attr_accessor on an immediate class
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
- applies current visibility to methods created
@@ 17036 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_reader_spec.rb
Module#attr_reader
- creates a getter for each given attribute name
+- allows for adding an attr_reader to an immediate
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
- applies current visibility to methods created
@@ 17053 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_writer_spec.rb
Module#attr_writer
- creates a setter for each given attribute name
+- allows for adding an attr_writer to an immediate
- creates a setter for an attribute name given as a Fixnum
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
@@ 17118 @@
- raises an ArgumentError when no arguments and no block are given
- raises an ArgumentError when more than 3 arguments are given
- raises an ArgumentError when a block and normal arguments are given
+- adds methods respecting the lexical constant scope
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/class_exec_spec.rb
Module#class_exec
@@ 17255 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/define_method_spec.rb
Module#define_method when given an UnboundMethod
+- passes the given arguments to the new method
- adds the new method to the methods list
+- defines a method on a singleton class
Module#define_method
- defines the given method as an instance method with the given name in self
@@ 17271 @@
- is private
- returns a Proc
+Module#define_method passed { } creates a method that
+- returns the value computed by the block when passed zero arguments
+- returns the value computed by the block when passed one argument
+- returns the value computed by the block when passed two arguments
+Module#define_method passed { || } creates a method that
+- returns the value computed by the block when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed two arguments
+Module#define_method passed { |a| } creates a method that
+- receives nil as the argument when passed zero arguments
+- receives nil as the argument when passed zero arguments and a block
+- returns the value computed by the block when passed two arguments
+- receives the value passed as the argument when passed one argument
+Module#define_method passed { |*a| } creates a method that
+- receives an empty array as the argument when passed zero arguments
+- receives the value in an array when passed one argument
+- receives the values in an array when passed two arguments
+Module#define_method passed { |a, *b| } creates a method that
+- raises an ArgumentError when passed zero arguments
+- returns the value computed by the block when passed one argument
+- returns the value computed by the block when passed two arguments
+Module#define_method passed { |a, b| } creates a method that
+- returns the value computed by the block when passed two arguments
+- raises an ArgumentError when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed one argument and a block
+- raises an ArgumentError when passed three arguments
+Module#define_method passed { |a, b, *c| } creates a method that
+- raises an ArgumentError when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed one argument and a block
+- receives an empty array as the third argument when passed two arguments
+- receives the third argument in an array when passed three arguments
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/eql_spec.rb
Module#eql?
@@ 17463 @@
- raises an ArgumentError when no arguments and no block are given
- raises an ArgumentError when more than 3 arguments are given
- raises an ArgumentError when a block and normal arguments are given
+- adds methods respecting the lexical constant scope
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/module_exec_spec.rb
Module#module_exec
@@ 17530 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#private_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#private_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/private_method_defined_spec.rb
Module#private_method_defined?
@@ 17563 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#protected_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#protected_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/protected_method_defined_spec.rb
Module#protected_method_defined?
@@ 17604 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#public_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#public_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/public_method_defined_spec.rb
Module#public_method_defined?
@@ 19853 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/string/rstrip_spec.rb
String#rstrip
- returns a copy of self with trailing whitespace removed
+- returns a copy of self with trailing NULL bytes and whitespace after a NULL byte removed
- taints the result when self is tainted
String#rstrip!
- modifies self in place and returns self
+- modifies self removing trailing NULL bytes and whitespace after a NULL
- returns nil if no modifications were made
- raises a TypeError on a frozen instance that is modified
- does not raise an exception on a frozen instance that would not be modified
@@ 20082 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/string/strip_spec.rb
String#strip
- returns a new string with leading and trailing whitespace removed
+- returns a copy of self with trailing NULL bytes and whitespace after a NULL byte removed
- taints the result when self is tainted
String#strip!
- modifies self in place and returns self
- returns nil if no modifications where made
+- modifies self removing trailing NULL bytes and whitespace after a NULL byte
- raises a TypeError on a frozen instance that is modified
- does not raise an exception on a frozen instance that would not be modified
@@ 21812 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/gmt_offset_spec.rb
Time#gmt_offset
@@ 21876 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/localtime_spec.rb
Time#localtime
@@ 21912 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/mon_spec.rb
Time#mon
@@ 22044 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
Time#utc
- returns the utc representation of time
@@ 22243 @@
- calls method=
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/language/break_spec.rb
+The break statement in a block
+- returns nil to method invoking the method yielding to the block when not passed an argument
+- returns a value to the method invoking the method yielding to the block
+The break statement in a captured block when the invocation of the scope creating the block is still active
+- raises a LocalJumpError when invoking the block from the scope creating the block
+- raises a LocalJumpError when invoking the block from a method
+- raises a LocalJumpError when yielding to the block
+The break statement in a captured block from a scope that has returned
+- raises a LocalJumpError when calling the block from a method
+- raises a LocalJumpError when yielding to the block
+The break statement in a lambda when the invocation of the scope creating the lambda is still active
+- returns nil when not passed an argument
+- returns a value to the scope creating and calling the lambda
+- returns a value to the method scope below invoking the lambda
+- returns a value to a block scope invoking the lambda in a method below
+- raises a LocalJumpError when yielding to a lambda passed as a block argument
+The break statement in a lambda created at the toplevel
+- returns a value when invoking from the toplevel
+- returns a value when invoking from a method
+- returns a value when invoking from a block
+The break statement in a lambda from a scope that has returned
+- returns a value to the method scope invoking the lambda
+- returns a value to the block scope invoking the lambda in a method
+- raises a LocalJumpError when yielding to a lambda passed as a block argument
Executing break from within a block
- returns from the invoking singleton method
@@ 27243 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/etc/passwd_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/etc/setgrent_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/etc/setpwent_spec.rb
+/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/expect/expect_spec.rb
+IO#expect
+- matches data against a Regexp
+- matches data against a String
+- returns any captures of the Regexp
+- returns raises IOError if the IO is closed
+- returns nil if eof is hit
+- yields the result if a block is given
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/fiber/alive_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/fiber/current_spec.rb
@@ 29829 @@
- returns a string
- calls inspect on its elements
- handles recursive arrays
+- taints the result String if the Array is tainted
+- taints the result String if an element is tainted
+- does not taint the result String if the Array is empty
Finished in <t> seconds
@@ 32162 @@
- properly handles recursive arrays
- accepts a block instead of an argument
- ignore the block if there is an argument
+- rechecks the array size during iteration
Array#rindex given no argument and no block
- produces an Enumerator
@@ 33556 @@
Finished in <t> seconds
1 file, 3 examples, <num> expectations, 0 failures, 0 errors
+== rubyspec/core/class/dup_spec.rb # <time>
++ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/core/class/dup_spec.rb
ruby <version>
+/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/class/dup_spec.rb
+Class#dup
+- duplicates both the class and the singleton class
+- retains the correct ancestor chain for the singleton class
Finished in <t> seconds
@@ 34325 @@
- matches dotfiles with '.*<non-special characters>'
- matches files with any ending with '<non-special characters>*'
- matches files with any middle with '<non-special characters>*<non-special characters>'
+- handles directories with globs
- matches files with multiple '*' special characters
- matches non-dotfiles in the current directory with '**'
- matches dotfiles in the current directory with '.**'
@@ 34338 @@
- matches any characters except those in a set with '[^<characters>]'
- matches any characters except those in a range with '[^<character>-<character]'
- matches any one of the strings in a set with '{<string>,<other>,...}'
+- matches a set '{<string>,<other>,...}' which also uses a glob
- accepts string sets with empty strings with {<string>,,<other>}
- matches dot or non-dotfiles with '{,.}*'
- respects the order of {} expressions, expanding left most first
@@ 34438 @@
- matches dotfiles with '.*<non-special characters>'
- matches files with any ending with '<non-special characters>*'
- matches files with any middle with '<non-special characters>*<non-special characters>'
+- handles directories with globs
- matches files with multiple '*' special characters
- matches non-dotfiles in the current directory with '**'
- matches dotfiles in the current directory with '.**'
@@ 34451 @@
- matches any characters except those in a set with '[^<characters>]'
- matches any characters except those in a range with '[^<character>-<character]'
- matches any one of the strings in a set with '{<string>,<other>,...}'
+- matches a set '{<string>,<other>,...}' which also uses a glob
- accepts string sets with empty strings with {<string>,,<other>}
- matches dot or non-dotfiles with '{,.}*'
- respects the order of {} expressions, expanding left most first
@@ 36860 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/exception/set_backtrace_spec.rb
Exception#set_backtrace
- allows the user to set the backtrace to any array
+- allows the user to set the backtrace from a rescued exception
Finished in <t> seconds
@@ 37456 @@
- does not modify a HOME string argument
- returns a String when passed a String subclass
+File.expand_path when HOME is not set
+- raises an ArgumentError when passed '~' if HOME is nil
+- raises an ArgumentError when passed '~' if HOME == ''
Finished in <t> seconds
@@ 40766 @@
- creates a Hash; values can be provided as a list of value-pairs in an array
- raises an ArgumentError when passed an odd number of arguments
- calls to_hash
+- returns an instance of a subclass when passed an Array
- returns an instance of the class it's called on
@@ 40882 @@
Hash#each
- yields a [[key, value]] Array for each pair to a block expecting |*args|
- yields the key and value of each pair to a block expecting |key, value|
+- yields the key only to a block expecting |key,|
- uses the same order as keys() and values()
- returns an Enumerator if called on a non-empty hash without a block
- returns an Enumerator if called on an empty hash without a block
@@ 40941 @@
- duplicates string keys using dup semantics
- stores unequal keys that hash to the same value
- duplicates and freezes string keys
+- doesn't duplicate and freeze already frozen string keys
- raises a TypeError if called on a frozen instance
- does not raise an exception if changing the value of an existing key during iteration
@@ 41453 @@
- duplicates string keys using dup semantics
- stores unequal keys that hash to the same value
- duplicates and freezes string keys
+- doesn't duplicate and freeze already frozen string keys
- raises a TypeError if called on a frozen instance
- does not raise an exception if changing the value of an existing key during iteration
@@ 43822 @@
- returns a different value for two Float literals
- returns a different value for two String literals
- returns a different value for an object and its dup
+- returns a different value for two numbers near the 32 bit Fixnum limit
+- returns a different value for two numbers near the 64 bit Fixnum limit
Kernel#__id__
- needs to be reviewed for spec completeness
@@ 44365 @@
- updates a local in a surrounding block scope
- updates a local in a scope above a surrounding block scope
- updates a local in a scope above when modified in a nested block scope
+- updates a local at script scope
- accepts a Proc object as a binding
- does not make Proc locals visible to evaluated code
+- stores all locals of nested eval bindings in the first non-eval binding
+- allows a Proc invocation to terminate the eval binding chain on local creation
+- can access normal locals in nested closures
- allows creating a new class in a binding
- allows creating a new class in a binding created by #eval
- includes file and line information in syntax error
@@ 45077 @@
- does not return superclass methods undefined in a superclass
- does not return included module methods undefined in the object's class
+Kernel#methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
Finished in <t> seconds
@@ 45130 @@
- returns a different value for two Float literals
- returns a different value for two String literals
- returns a different value for an object and its dup
+- returns a different value for two numbers near the 32 bit Fixnum limit
+- returns a different value for two numbers near the 64 bit Fixnum limit
Kernel#object_id
- needs to be reviewed for spec completeness
@@ 45222 @@
- respects the class hierarchy when decided what is private
- returns private methods mixed in to the metaclass
+Kernel#private_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#private_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
Finished in <t> seconds
@@ 45265 @@
- returns a list of the names of protected methods accessible in the object and from its ancestors and mixed-in modules
- returns protected methods mixed in to the metaclass
+Kernel#protected_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#protected_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
Finished in <t> seconds
@@ 45298 @@
- returns a list of the names of publicly accessible methods in the object and its ancestors and mixed-in modules
- returns public methods mixed in to the metaclass
+Kernel#public_methods when not passed an argument
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
+Kernel#public_methods when passed true
+- returns a unique list for an object extended by a module
+- returns a unique list for a class including a module
+- returns a unique list for a subclass of a class that includes a module
Finished in <t> seconds
@@ 45749 @@
ruby <version>
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/singleton_methods_spec.rb
+Kernel#singleton_methods when not passed an argument
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- returns the names of singleton methods for an object extented with a module
+- returns a unique list for an object extended with a module
+- returns the names of singleton methods for an object extented with two modules
+- returns the names of singleton methods for an object extented with a module including a module
+- returns the names of inherited singleton methods for a subclass
+- returns a unique list for a subclass
+- returns the names of inherited singleton methods for a subclass including a module
+- returns a unique list for a subclass including a module
+- returns the names of inherited singleton methods for a subclass of a class including a module
+- returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns the names of inherited singleton methods for a class extended with a module
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+Kernel#singleton_methods when passed true
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- returns the names of singleton methods for an object extented with a module
+- returns a unique list for an object extended with a module
+- returns the names of singleton methods for an object extented with two modules
+- returns the names of singleton methods for an object extented with a module including a module
+- returns the names of inherited singleton methods for a subclass
+- returns a unique list for a subclass
+- returns the names of inherited singleton methods for a subclass including a module
+- returns a unique list for a subclass including a module
+- returns the names of inherited singleton methods for a subclass of a class including a module
+- returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns the names of inherited singleton methods for a class extended with a module
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+Kernel#singleton_methods when passed false
+- returns an empty Array for an object with no singleton methods
+- returns the names of module methods for a module
+- does not return private module methods for a module
+- returns the names of class methods for a class
+- does not return private class methods for a class
+- returns the names of singleton methods for an object
+- does not return any included methods for a module including a module
+- does not return any included methods for a class including a module
+- does not return private singleton methods for an object extended with a module
+- does not return private singleton methods for an object extended with two modules
+- does not return private singleton methods for an object extented with a module including a module
+- does not return private singleton methods for a class extended with a module
+- does not return private inherited singleton methods for a module including a module
+- does not return private inherited singleton methods for a class including a module
+- does not return private inherited singleton methods for a subclass
+- does not return private inherited singleton methods for a subclass including a module
+- does not return private inherited singleton methods for a subclass of a class including a module
+- does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module
+- returns an empty Array for an object extented with a module
+- returns an empty Array for an object extented with two modules
+- returns an empty Array for an object extended with a module including a module
+- returns the names of singleton methods of the subclass
+- does not return names of inherited singleton methods for a subclass
+- does not return the names of inherited singleton methods for a class extended with a module
Finished in <t> seconds
+1 file, 82 examples, <num> expectations, 0 failures, 0 errors
== rubyspec/core/kernel/sleep_spec.rb # <time>
+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/core/kernel/sleep_spec.rb
ruby <version>
@@ 47448 @@
Module#alias_method
- makes a copy of the method
- retains method visibility
+- handles aliasing a stub that changes visibility
- fails if origin method not found
+- converts the names using #to_str
- raises a TypeError when the given name can't be converted using to_str
- is a private method
- works in module
@@ 47508 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_accessor_spec.rb
Module#attr_accessor
- creates a getter and setter for each given attribute name
+- allows creating an attr_accessor on an immediate class
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
- applies current visibility to methods created
@@ 47524 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_reader_spec.rb
Module#attr_reader
- creates a getter for each given attribute name
+- allows for adding an attr_reader to an immediate
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
- applies current visibility to methods created
@@ 47557 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/attr_writer_spec.rb
Module#attr_writer
- creates a setter for each given attribute name
+- allows for adding an attr_writer to an immediate
- creates a setter for an attribute name given as a Fixnum
- converts non string/symbol/fixnum names to strings using to_str
- raises a TypeError when the given names can't be converted to strings using to_str
@@ 47679 @@
- raises an ArgumentError when no arguments and no block are given
- raises an ArgumentError when more than 3 arguments are given
- raises an ArgumentError when a block and normal arguments are given
+- adds methods respecting the lexical constant scope
Finished in <t> seconds
@@ 47912 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/define_method_spec.rb
Module#define_method when given an UnboundMethod
+- passes the given arguments to the new method
- adds the new method to the methods list
+- defines a method on a singleton class
Module#define_method
- defines the given method as an instance method with the given name in self
@@ 47928 @@
- is private
- returns a Proc
+Module#define_method passed { } creates a method that
+- returns the value computed by the block when passed zero arguments
+- returns the value computed by the block when passed one argument
+- returns the value computed by the block when passed two arguments
+Module#define_method passed { || } creates a method that
+- returns the value computed by the block when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed two arguments
+Module#define_method passed { |a| } creates a method that
+- receives nil as the argument when passed zero arguments
+- receives nil as the argument when passed zero arguments and a block
+- returns the value computed by the block when passed two arguments
+- receives the value passed as the argument when passed one argument
+Module#define_method passed { |*a| } creates a method that
+- receives an empty array as the argument when passed zero arguments
+- receives the value in an array when passed one argument
+- receives the values in an array when passed two arguments
+Module#define_method passed { |a, *b| } creates a method that
+- raises an ArgumentError when passed zero arguments
+- returns the value computed by the block when passed one argument
+- returns the value computed by the block when passed two arguments
+Module#define_method passed { |a, b| } creates a method that
+- returns the value computed by the block when passed two arguments
+- raises an ArgumentError when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed one argument and a block
+- raises an ArgumentError when passed three arguments
+Module#define_method passed { |a, b, *c| } creates a method that
+- raises an ArgumentError when passed zero arguments
+- raises an ArgumentError when passed one argument
+- raises an ArgumentError when passed one argument and a block
+- receives an empty array as the third argument when passed two arguments
+- receives the third argument in an array when passed three arguments
Finished in <t> seconds
@@ 48296 @@
- raises an ArgumentError when no arguments and no block are given
- raises an ArgumentError when more than 3 arguments are given
- raises an ArgumentError when a block and normal arguments are given
+- adds methods respecting the lexical constant scope
Finished in <t> seconds
@@ 48419 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#private_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#private_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
Finished in <t> seconds
@@ 48476 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#protected_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#protected_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
Finished in <t> seconds
@@ 48557 @@
- when passed false as a parameter, should return only methods defined in that module
- default list should be the same as passing true as an argument
+Module#public_instance_methods when not passed an argument
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
+Module#public_instance_methods when passed true
+- returns a unique list for a class including a module
+- returns a unique list for a subclass
Finished in <t> seconds
@@ 54055 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/string/rstrip_spec.rb
String#rstrip
- returns a copy of self with trailing whitespace removed
+- returns a copy of self with trailing NULL bytes and whitespace after a NULL byte removed
- taints the result when self is tainted
String#rstrip!
- modifies self in place and returns self
+- modifies self removing trailing NULL bytes and whitespace after a NULL
- returns nil if no modifications were made
- raises a TypeError on a frozen instance that is modified
- does not raise an exception on a frozen instance that would not be modified
@@ 54414 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/string/strip_spec.rb
String#strip
- returns a new string with leading and trailing whitespace removed
+- returns a copy of self with trailing NULL bytes and whitespace after a NULL byte removed
- taints the result when self is tainted
String#strip!
- modifies self in place and returns self
- returns nil if no modifications where made
+- modifies self removing trailing NULL bytes and whitespace after a NULL byte
- raises a TypeError on a frozen instance that is modified
- does not raise an exception on a frozen instance that would not be modified
@@ 57662 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
Finished in <t> seconds
@@ 57814 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
Finished in <t> seconds
@@ 57890 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
Finished in <t> seconds
@@ 58238 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
+- raises ArgumentError for invalid number of arguments
+- accepts a String or Integer only for arguments
+- does not accept nil for params
Time#utc
- returns the utc representation of time
@@ 58661 @@
ruby <version>
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/language/break_spec.rb
+The break statement in a block
+- returns nil to method invoking the method yielding to the block when not passed an argument
+- returns a value to the method invoking the method yielding to the block
+The break statement in a captured block when the invocation of the scope creating the block is still active
+- raises a LocalJumpError when invoking the block from the scope creating the block
+- raises a LocalJumpError when invoking the block from a method
+- raises a LocalJumpError when yielding to the block
+The break statement in a captured block from a scope that has returned
+- raises a LocalJumpError when calling the block from a method
+- raises a LocalJumpError when yielding to the block
+The break statement in a lambda when the invocation of the scope creating the lambda is still active
+- returns nil when not passed an argument
+- returns a value to the scope creating and calling the lambda
+- returns a value to the method scope below invoking the lambda
+- returns a value to a block scope invoking the lambda in a method below
+- raises a LocalJumpError when yielding to a lambda passed as a block argument
+The break statement in a lambda created at the toplevel
+- returns a value when invoking from the toplevel
+- returns a value when invoking from a method
+- returns a value when invoking from a block
+The break statement in a lambda from a scope that has returned
+- returns a value to the method scope invoking the lambda
+- returns a value to the block scope invoking the lambda in a method
+- raises a LocalJumpError when yielding to a lambda passed as a block argument
Executing break from within a block
- returns from the invoking singleton method
@@ 69064 @@
Finished in <t> seconds
1 file, 0 examples, <num> expectations, 0 failures, 0 errors
+== rubyspec/library/expect/expect_spec.rb # <time>
++ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/library/expect/expect_spec.rb
ruby <version>
+/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/expect/expect_spec.rb
+IO#expect
+- matches data against a Regexp
+- matches data against a String
+- returns any captures of the Regexp
+- returns raises IOError if the IO is closed
+- returns nil if eof is hit
+- yields the result if a block is given
Finished in <t> seconds
@@ 83314 @@
StringScanner#initialize
- is a private method
- returns an instance of StringScanner
+- converts the argument into a string using #to_str
Finished in <t> seconds
@@ 83666 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/stringscanner/string_spec.rb
StringScanner#string
- returns the string being scanned
+- returns the identical object passed in
StringScanner#string=
- changes the string being scanned to the argument and resets the scanner
+- converts the argument into a string using #to_str
Finished in <t> seconds
@@ 86815 @@
C-API Hash function rb_hash_foreach
- iterates over the hash
+- stops via the callback
+- deletes via the callback
Finished in <t> seconds
@@ 87320 @@
- returns a string which can be assigned to from C
- returns a string that can be modified by rb_str_set_len
+C-API String function rb_str_buf_new2
- returns a new string object calling strlen on the passed C string
C-API String function rb_str_new
@@ 87427 @@
Finished in <t> seconds
+1 file, 60 examples, <num> expectations, 0 failures, 0 errors
== rubyspec/optional/capi/struct_spec.rb # <time>
+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/optional/capi/struct_spec.rb
ruby <version>
===================================================================
--- 20110307T232125Z
@@ 7993 @@
- returns a string
- calls inspect on its elements
- handles recursive arrays
-- propagates taint from itself or elements
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/array/intersection_spec.rb
Array#&
@@ 9916 @@
Array#rindex given no argument and no block
- produces an Enumerator
-- raises StopIteration if the array is truncated before completion
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/array/rotate_spec.rb
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/array/sample_spec.rb
@@ 12006 @@
- expands ~ENV['USER'] to the user's home directory
- does not expand ~ENV['USER'] when it's not at the start
- expands ../foo with ~/dir as base dir to /path/to/user/home/foo
-- raises an ArgumentError if not passed one or two arguments
- raises a TypeError if not passed a String type
- expands /./dir to /dir
- does not modify the string argument
@@ 13423 @@
Hash#each
- yields a [[key, value]] Array for each pair to a block expecting |*args|
- yields the key and value of each pair to a block expecting |key, value|
-- yields the key only to a block expecting |key,| (FAILED - <n>)
- uses the same order as keys() and values()
- returns an Enumerator if called on a non-empty hash without a block
- returns an Enumerator if called on an empty hash without a block
@@ 15279 @@
- evaluates such that consts are scoped to the class of the eval
- finds a local in an enclosing scope
- updates a local in an enclosing scope
-- creates an eval-scope local
- updates a local in a surrounding block scope
- updates a local in a scope above a surrounding block scope
- updates a local in a scope above when modified in a nested block scope
- accepts a Proc object as a binding
- does not make Proc locals visible to evaluated code
-- allows a binding to be captured inside an eval
-- allows Proc and binding to be nested in horrible ways
- allows creating a new class in a binding
- allows creating a new class in a binding created by #eval
-- allows creating a new class in a binding returned by a method defined with #eval
- includes file and line information in syntax error
- should perform top level evaluations from inside a block
- uses the filename of the binding if none is provided
- should not alter the value of __FILE__ in the binding
- uses the receiver as self inside the eval
-Kernel.eval
- does not pass the block to the method being eval'ed
- needs to be reviewed for spec completeness
@@ 15363 @@
- is accessible as a module function
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/freeze_spec.rb
-Kernel#freeze
-- prevents self from being further modified
- returns the immediate when called on an immediate
- has no effect on immediate values
- causes mutative calls to raise TypeError
@@ 16056 @@
- is a private method
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/singleton_methods_spec.rb
-Kernel#singleton_methods
-- returns a list of the names of singleton methods in the object
-- returns a list of names of singleton methods in object and superclasses when passed true
-- should handle singleton_methods call with and without argument
-- returns a list of the names of singleton methods in the object and its ancestors and mixed-in modules
-- includes public and protected methods defined through a mixin into the metaclass based on the flag
-- does not include private methods defined through a mixin into the metaclass
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/sleep_spec.rb
Kernel#sleep
@@ 16090 @@
- treats nil arguments as zeroes in %d slots
- passes some tests for positive %x
- passes some tests for negative %x
-- passes some tests for negative % u
- passes some tests for negative %u
- passes some tests for positive %u
- passes some tests for positive %f
@@ 17117 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/define_method_spec.rb
Module#define_method when given an UnboundMethod
-- correctly passes given arguments to the new method
- adds the new method to the methods list
-- works for singleton classes too
Module#define_method
- defines the given method as an instance method with the given name in self
-- supports being called with a splat
- calls #method_added after the method is added to the Module
- defines a new method with the given name and the given block as body in self
- raises a TypeError when the given method is no Method/Proc
@@ 21605 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/gmt_offset_spec.rb
Time#gmt_offset
@@ 21667 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/localtime_spec.rb
Time#localtime
@@ 21701 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/time/mon_spec.rb
Time#mon
@@ 21831 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
Time#utc
- returns the utc representation of time
@@ 22029 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/language/break_spec.rb
The break statement
-- ends block execution if used whithin block
-- causes block to return value passed to break
-- causes block to return nil if an empty expression passed to break
-- causes block to return nil if no value passed to break
Executing break from within a block
- returns from the invoking singleton method
@@ 29581 @@
- returns a string
- calls inspect on its elements
- handles recursive arrays
-- propagates taint from itself or elements
Finished in <t> seconds
@@ 31915 @@
Array#rindex given no argument and no block
- produces an Enumerator
-- raises StopIteration if the array is truncated before completion
Finished in <t> seconds
@@ 34208 @@
Finished in <t> seconds
-1 file, 48 examples, <num> expectations, 0 failures, 0 errors
== rubyspec/core/dir/home_spec.rb # <time>
+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/core/dir/home_spec.rb
ruby <version>
@@ 37182 @@
- expands ~ENV['USER'] to the user's home directory
- does not expand ~ENV['USER'] when it's not at the start
- expands ../foo with ~/dir as base dir to /path/to/user/home/foo
-- raises an ArgumentError if not passed one or two arguments
- raises a TypeError if not passed a String type
- expands /./dir to /dir
- does not modify the string argument
@@ 40610 @@
Hash#each
- yields a [[key, value]] Array for each pair to a block expecting |*args|
- yields the key and value of each pair to a block expecting |key, value|
-- yields the key only to a block expecting |key,| (FAILED - <n>)
- uses the same order as keys() and values()
- returns an Enumerator if called on a non-empty hash without a block
- returns an Enumerator if called on an empty hash without a block
<n>)
-Hash#each yields the key only to a block expecting |key,| FAILED
-Expected [:c, :a, :b]
- to equal [:a, :b, :c]
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/matchers/base.rb:8:in `=='
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/hash/shared/each.rb:19
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:68:in `instance_eval'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:68:in `protect'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/context.rb:179:in `protect'
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/hash/each_spec.rb:4:in `all?'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/context.rb:179:in `each'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/context.rb:179:in `all?'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/context.rb:179:in `protect'
@@ 40636 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/context.rb:199:in `process'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:37:in `describe'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/object.rb:11:in `describe'
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/hash/each_spec.rb:6
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:56:in `load'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:56:in `files'
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/mspec/lib/mspec/runner/mspec.rb:68:in `instance_eval'
@@ 40651 @@
Finished in <t> seconds
-1 file, 6 examples, <num> expectations, 1 failure, 0 errors
exit 1
-failed(rubyspec/core/hash/each_spec.rb)
== rubyspec/core/hash/each_value_spec.rb # <time>
+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/core/hash/each_value_spec.rb
ruby <version>
@@ 44121 @@
- evaluates such that consts are scoped to the class of the eval
- finds a local in an enclosing scope
- updates a local in an enclosing scope
-- creates an eval-scope local
- updates a local in a surrounding block scope
- updates a local in a scope above a surrounding block scope
- updates a local in a scope above when modified in a nested block scope
- accepts a Proc object as a binding
- does not make Proc locals visible to evaluated code
-- allows a binding to be captured inside an eval
-- allows Proc and binding to be nested in horrible ways
- allows creating a new class in a binding
- allows creating a new class in a binding created by #eval
-- allows creating a new class in a binding returned by a method defined with #eval
- includes file and line information in syntax error
- should perform top level evaluations from inside a block
- uses the filename of the binding if none is provided
- should not alter the value of __FILE__ in the binding
- uses the receiver as self inside the eval
-Kernel.eval
- does not pass the block to the method being eval'ed
- needs to be reviewed for spec completeness
@@ 44261 @@
ruby <version>
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/freeze_spec.rb
-Kernel#freeze
-- prevents self from being further modified
- returns the immediate when called on an immediate
- has no effect on immediate values
- causes mutative calls to raise TypeError
@@ 45475 @@
ruby <version>
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/kernel/singleton_methods_spec.rb
-Kernel#singleton_methods
-- returns a list of the names of singleton methods in the object
-- returns a list of names of singleton methods in object and superclasses when passed true
-- should handle singleton_methods call with and without argument
-- returns a list of the names of singleton methods in the object and its ancestors and mixed-in modules
-- includes public and protected methods defined through a mixin into the metaclass based on the flag
-- does not include private methods defined through a mixin into the metaclass
Finished in <t> seconds
@@ 45541 @@
- treats nil arguments as zeroes in %d slots
- passes some tests for positive %x
- passes some tests for negative %x
-- passes some tests for negative % u
- passes some tests for negative %u
- passes some tests for positive %u
- passes some tests for positive %f
@@ 47553 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/core/module/define_method_spec.rb
Module#define_method when given an UnboundMethod
-- correctly passes given arguments to the new method
- adds the new method to the methods list
-- works for singleton classes too
Module#define_method
- defines the given method as an instance method with the given name in self
-- supports being called with a splat
- calls #method_added after the method is added to the Module
- defines a new method with the given name and the given block as body in self
- raises a TypeError when the given method is no Method/Proc
@@ 57234 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
Finished in <t> seconds
@@ 57384 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
Finished in <t> seconds
@@ 57458 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
Finished in <t> seconds
@@ 57804 @@
- handles float arguments
- should accept various year ranges
- raises an ArgumentError for out of range values
-- throws ArgumentError for invalid number of arguments
Time#utc
- returns the utc representation of time
@@ 58226 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/language/break_spec.rb
The break statement
-- ends block execution if used whithin block
-- causes block to return value passed to break
-- causes block to return nil if an empty expression passed to break
-- causes block to return nil if no value passed to break
Executing break from within a block
- returns from the invoking singleton method
@@ 82714 @@
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/stringscanner/dup_spec.rb
StringScanner#dup
-- returns a new StringScanner duplicated from the original
Finished in <t> seconds
@@ 82826 @@
Finished in <t> seconds
1 file, 5 examples, <num> expectations, 0 failures, 0 errors
-== rubyspec/library/stringscanner/initialize_copy_spec.rb # <time>
-+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/library/stringscanner/initialize_copy_spec.rb
ruby <version>
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/library/stringscanner/initialize_copy_spec.rb
-StringScanner#initialize_copy
- is a private method
- copies the passed StringScanner's content to self
- copies the passed StringSCanner's position to self
- copies previous match state
-- does not taint self when the passed StringScanner is tainted
- copies the passed StringScanner scan pointer to self
@@ 85938 @@
== rubyspec/optional/capi/array_spec.rb # <time>
+ bin/ruby mspec/bin/mspec -V -f s -B /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/ruby.1.8.mspec -t /home/chkbuild/tmp/build/ruby-1.8/<buildtime>/bin/ruby rubyspec/optional/capi/array_spec.rb
ruby <version>
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/optional/capi/ext/array_spec.c: In function [e28098]sub_pair[e28099]:
-/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/optional/capi/ext/array_spec.c:<line_a>: warning: no return statement in function returning non-void
/home/chkbuild/tmp/build/ruby-1.8/<buildtime>/rubyspec/optional/capi/array_spec.rb
C-API Array function rb_ary_new
OlderDiff < 20110307T232125Z < ThisDiff > 20110308T232423Z > NewerDiff