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