Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f165f9f846b1
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: a8214f61123f
Choose a head ref
  • 3 commits
  • 6 files changed
  • 1 contributor

Commits on Nov 28, 2014

  1. Copy the full SHA
    01669e8 View commit details
  2. Copy the full SHA
    f3bb645 View commit details
  3. Tag new failing DATA specs.

    eregon committed Nov 28, 2014
    Copy the full SHA
    a8214f6 View commit details
8 changes: 8 additions & 0 deletions spec/tags/ruby/language/block_tags.txt
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
fails:A block taking |(a, b)| arguments raises a TypeError if #to_ary does not return an Array
fails:A block yielded a single Array assigns elements to optional arguments
fails:A block yielded a single Array assigns elements to required arguments when a keyword rest argument is present
fails:A block yielded a single Array calls #to_hash on the last element if keyword arguments are present
fails:A block yielded a single Array assigns the last element to a non-keyword argument if #to_hash returns nil
fails:A block yielded a single Array calls #to_hash on the element that maps to the keyword arguments
fails:A block yielded a single Array raises a TypeError if #to_hash does not return a Hash
fails:A block yielded a single Array raises the error raised inside #to_hash
fails:A block yielded a single Object receives the object if #to_ary returns nil
5 changes: 5 additions & 0 deletions spec/tags/ruby/language/hash_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
fails:Hash literal expands an '**{}' element into the containing Hash literal initialization
fails:Hash literal expands an '**obj' element into the containing Hash literal initialization
fails:Hash literal calls #to_hash to convert an '**obj' element
fails:Hash literal merges the containing Hash into the **obj before importing obj's items
fails:Hash literal merges multiple nested '**obj' in Hash literals
25 changes: 25 additions & 0 deletions spec/tags/ruby/language/lambda_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a:) { a }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a: 1) { a }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (**) { }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (**k) { k }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (*, **k) { k }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a:, b:) { [a, b] }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a:, b: 1) { [a, b] }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a: 1, b:) { [a, b] }"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a: @a = -> (a: 1) { a }, b:) do\n [a, b]\n end"
fails:"A lambda literal -> () { } assigns variables from parameters for definition \n @a = -> (a: 1, b: 2) { [a, b] }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a, | a }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a:| a }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a: 1| a }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |**| }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |**k| k }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |*, **k| k }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a:, b:| [a, b] }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a:, b: 1| [a, b] }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a: 1, b:| [a, b] }"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda do |a: (@a = -> (a: 1) { a }), b:|\n [a, b]\n end"
fails:"A lambda expression 'lambda { ... }' assigns variables from parameters for definition \n @a = lambda { |a: 1, b: 2| [a, b] }"
fails:A lambda literal -> () { } searches lexical scope for constants
fails:A lambda literal -> () { } searches inheritance hierarchy for constants
fails:A lambda expression 'lambda { ... }' searches lexical scope for constants
fails:A lambda expression 'lambda { ... }' searches inheritance hierarchy for constants
16 changes: 16 additions & 0 deletions spec/tags/ruby/language/method_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
fails:A method send with a single splatted Object argument does not call #to_ary
fails:A method send with a leading splatted Object argument does not call #to_ary
fails:A method send with a middle splatted Object argument does not call #to_ary
fails:A method send with a trailing splatted Object argument does not call #to_ary
fails:An element assignment method send with a single splatted Object argument does not call #to_ary
fails:An element assignment method send with a leading splatted Object argument does not call #to_ary
fails:An element assignment method send with a middle splatted Object argument does not call #to_ary
fails:An element assignment method send with a trailing splatted Object argument does not call #to_ary
fails:An attribute assignment method send with a single splatted Object argument does not call #to_ary
fails:An attribute assignment method send with a leading splatted Object argument does not call #to_ary
fails:An attribute assignment method send with a middle splatted Object argument does not call #to_ary
fails:An attribute assignment method send with a trailing splatted Object argument does not call #to_ary
fails:"A method assigns local variables from method parameters for definition \n def m(*a, b: 1) [a, b] end"
fails:"A method assigns local variables from method parameters for definition \n def m(*, **) end"
fails:"A method assigns local variables from method parameters for definition \n def m(*a, **) a end"
fails:"A method assigns local variables from method parameters for definition \n def m(*, **k) k end"
3 changes: 3 additions & 0 deletions spec/tags/ruby/language/predefined/data_tags.txt
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
fails:The DATA constant succeeds in locking the file DATA came from
fails:The DATA constant exists when the main script contains __END__
fails:The DATA constant does not change when an included files also has a __END__
fails:The DATA constant is included in an otherwise empty file
16 changes: 16 additions & 0 deletions spec/tags/ruby/language/variables_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
fails:Basic multiple assignment with a splatted single RHS value does not call #to_ary on an object
fails:Basic multiple assignment with a splatted single RHS value calls #to_a even if it's private

fails:Multiple assignment with a single RHS value does not call #to_ary if #respond_to? returns false
fails:Multiple assignment with a single RHS value raises a TypeError of #to_ary does not return an Array
fails:Multiple assignment with a single RHS value raises a TypeError if #to_ary does not return an Array
fails:Multiple assignment with a single RHS value assigns an Array when the RHS is an Array subclass
fails:Multiple assignment with a single splatted RHS value calls #to_a to convert nil to an empty Array
fails:Multiple assignment with a single splatted RHS value does not call #to_a if #respond_to? returns false
fails:Multiple assignment with a single splatted RHS value does not call #to_ary to convert an Object RHS with a single splat LHS
fails:Multiple assignment with a single splatted RHS value calls #to_a to convert an Object RHS with a single LHS
fails:Multiple assignment with a single splatted RHS value does not call #to_ary to convert an Object RHS with a single LHS
fails:Multiple assignment with a single splatted RHS value does not call #to_ary to convert an Object splat RHS when assigned to a simple MLHS
fails:Multiple assignment with a single splatted RHS value does not call #to_ary to convert an Object RHS with a MLHS
fails:Multiple assignment with a MRHS value does not call #to_ary to convert a splatted Object as part of a MRHS with a splat MRHS
fails:Multiple assignment with a MRHS value raises a TypeError if #to_ary does not return an Array
fails:Multiple assignment with a MRHS value calls #to_ary to convert a splatted Object when the position receiving the value is a multiple assignment
fails:Multiple assignment with a MRHS value does not call #to_ary to convert a splatted Object when the position receiving the value is a simple variable
fails:Multiple assignment with a MRHS value does not call #to_ary to convert a splatted Object when the position receiving the value is a rest variable