opal_filter "Array subclasses" do
  fails "Array.[] returns a new array populated with the given elements"
  fails "Array[] is a synonym for .[]"
  fails "Array.new returns an instance of a subclass"
  fails "Array#values_at does not return subclass instance on Array subclasses"
  fails "Array#to_a does not return subclass instance on Array subclasses"
  fails "Array#uniq returns subclass instance on Array subclasses"
  fails "Array#clone returns an Array or a subclass instance"
  fails "Array#<=> does not call #to_ary on Array subclasses"
  fails "Array#concat does not call #to_ary on Array subclasses"
  fails "Array#dup returns an Array or a subclass instance"
  fails "Array#[]= does not call to_ary on rhs array subclasses for multi-element sets"
  fails "Array#eql? does not call #to_ary on Array subclasses"
  fails "Array#== does not call #to_ary on Array subclasses"
  fails "Array#flatten returns subclass instance for Array subclasses"
  fails "Array#initialize with (array) does not call #to_ary on instances of Array or subclasses of Array"
  fails "Array#initialize is called on subclasses"
  fails "Array#* with an integer with a subclass of Array returns a subclass instance"
  fails "Array.new with (array) does not call #to_ary on instances of Array or subclasses of Array"
  fails "Array#replace does not call #to_ary on Array subclasses"
  fails "Array#slice with a subclass of Array returns a subclass instance with [-n...-m]"
  fails "Array#slice with a subclass of Array returns a subclass instance with [-n..-m]"
  fails "Array#slice with a subclass of Array returns a subclass instance with [n...m]"
  fails "Array#slice with a subclass of Array returns a subclass instance with [n..m]"
  fails "Array#slice with a subclass of Array returns a subclass instance with [-n, m]"
  fails "Array#slice with a subclass of Array returns a subclass instance with [n, m]"

  fails "Array#[] with a subclass of Array returns a subclass instance with [n, m]"
  fails "Array#[] with a subclass of Array returns a subclass instance with [-n, m]"
  fails "Array#[] with a subclass of Array returns a subclass instance with [n..m]"
  fails "Array#[] with a subclass of Array returns a subclass instance with [n...m]"
  fails "Array#[] with a subclass of Array returns a subclass instance with [-n..-m]"
  fails "Array#[] with a subclass of Array returns a subclass instance with [-n...-m]"
  fails "Array.[] with a subclass of Array returns an instance of the subclass"
  fails "Array#initialize_copy does not call #to_ary on Array subclasses"
  fails "Array#partition does not return subclass instances on Array subclasses"
end
