<commit_before>opal_filter "Array" do
  fails "Array#clone copies singleton methods"

  fails "Array#combination generates from a defensive copy, ignoring mutations"
  fails "Array#combination yields a partition consisting of only singletons"
  fails "Array#combination yields [] when length is 0"
  fails "Array#combination yields a copy of self if the argument is the size of the receiver"
  fails "Array#combination yields nothing if the argument is out of bounds"
  fails "Array#combination yields the expected combinations"
  fails "Array#combination yields nothing for out of bounds length and return self"
  fails "Array#combination returns self when a block is given"
  fails "Array#combination returns an enumerator when no block is provided"

  fails "Array#<=> calls <=> left to right and return first non-0 result"
  fails "Array#<=> returns -1 if the arrays have same length and a pair of corresponding elements returns -1 for <=>"
  fails "Array#<=> returns +1 if the arrays have same length and a pair of corresponding elements returns +1 for <=>"
  fails "Array#<=> properly handles recursive arrays"
  fails "Array#<=> tries to convert the passed argument to an Array using #to_ary"
  fails "Array#<=> returns nil when the argument is not array-like"

  fails "Array#concat tries to convert the passed argument to an Array using #to_ary"
  fails "Array#concat is not infected by the other"

  fails "Array#delete_at tries to convert the passed argument to an Integer using #to_int"

  fails "Array#delete_if returns an Enumerator if no block given, and the enumerator can modify the original array"

  fails "Array#delete may be given a block that is executed if no element matches object"
  fails "Array#delete returns the last element in the array for which object is equal under #=="

  fails "Array#dup creates a new array containing all elements or the original"

  fails "Array.[] can unpack 2 or more nested referenced array"

  fails "Array#[]= sets elements in the range arguments when passed ranges"

  fails "Array#eql? ignores array class differences"
  fails "Array#eql? handles well recursive arrays"
  fails "Array#eql? returns true if corresponding elements are #eql?"

  fails "Array#== compares with an equivalent Array-like object using #to_ary"
  fails "Array#== handles well recursive arrays"

  fails "Array#fetch tries to convert the passed argument to an Integer using #to_int"
  fails "Array#fetch raises a TypeError when the passed argument can't be coerced to Integer"

  fails "Array#first tries to convert the passed argument to an Integer using #to_int"
  fails "Array#first raises a TypeError if the passed argument is not numeric"

  fails "Array#flatten does not call flatten on elements"
  fails "Array#flatten raises an ArgumentError on recursive arrays"
  fails "Array#flatten with a non-Array object in the Array ignores the return value of #to_ary if it is nil"
  fails "Array#flatten with a non-Array object in the Array raises a TypeError if the return value of #to_ary is not an Array"
  fails "Array#flatten raises a TypeError when the passed Object can't be converted to an Integer"
  fails "Array#flatten tries to convert passed Objects to Integers using #to_int"

  fails "Array#flatten! does not call flatten! on elements"
  fails "Array#flatten! raises an ArgumentError on recursive arrays"
  fails "Array#flatten! flattens any elements which responds to #to_ary, using the return value of said method"
  fails "Array#flatten! raises a TypeError when the passed Object can't be converted to an Integer"
  fails "Array#flatten! tries to convert passed Objects to Integers using #to_int"
  fails "Array#flatten! should not check modification by size"

  fails "Array#initialize with (size, object=nil) sets the array to the values returned by the block before break is executed"
  fails "Array#initialize with (size, object=nil) returns the value passed to break"
  fails "Array#initialize with (size, object=nil) uses the block value instead of using the default value"
  fails "Array#initialize with (size, object=nil) yields the index of the element and sets the element to the value of the block"
  fails "Array#initialize with (size, object=nil) raises a TypeError if the size argument is not an Integer type"
  fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is not given"
  fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is given"
  fails "Array#initialize with (size, object=nil) raises an ArgumentError if size is too large"
  fails "Array#initialize with (size, object=nil) sets the array to size and fills with the object"
  fails "Array#initialize with (array) calls #to_ary to convert the value to an array"
  fails "Array#initialize preserves the object's identity even when changing its value"

  fails "Array#insert tries to convert the passed position argument to an Integer using #to_int"

  fails "Array#join raises an ArgumentError when the Array is recursive"
  fails "Array#join raises a NoMethodError if an element does not respond to #to_str, #to_ary, or #to_s"
  fails "Array#join attempts coercion via #to_str first"
  fails "Array#join attempts coercion via #to_ary second"
  fails "Array#join attempts coercion via #to_s third"
  fails "Array#join separates elements with default separator when the passed separator is nil"
  fails "Array#join returns a string formed by concatenating each String element separated by $,"
  fails "Array#join uses the same separator with nested arrays"
  fails "Array#join returns a string formed by concatenating each element.to_str separated by separator"

  fails "Array#& properly handles recursive arrays"
  fails "Array#& tries to convert the passed argument to an Array using #to_ary"
  fails "Array#& determines equivalence between elements in the sense of eql?"

  fails "Array#join calls #to_str to convert the separator to a String"
  fails "Array#join does not call #to_str on the separator if the array is empty"
  fails "Array#join raises a TypeError if the separator cannot be coerced to a String by calling #to_str"
  fails "Array#join raises a TypeError if passed false as the separator"

  fails "Array#last tries to convert the passed argument to an Integer usinig #to_int"

  fails "Array#map! returns an Enumerator when no block given, and the enumerator can modify the original array"

  fails "Array#- removes an identical item even when its #eql? isn't reflexive"
  fails "Array#- doesn't remove an item with the same hash but not #eql?"<commit_msg>Remove filter for Array#map! spec - now fixed<commit_after>opal_filter "Array" do
  fails "Array#clone copies singleton methods"

  fails "Array#combination generates from a defensive copy, ignoring mutations"
  fails "Array#combination yields a partition consisting of only singletons"
  fails "Array#combination yields [] when length is 0"
  fails "Array#combination yields a copy of self if the argument is the size of the receiver"
  fails "Array#combination yields nothing if the argument is out of bounds"
  fails "Array#combination yields the expected combinations"
  fails "Array#combination yields nothing for out of bounds length and return self"
  fails "Array#combination returns self when a block is given"
  fails "Array#combination returns an enumerator when no block is provided"

  fails "Array#<=> calls <=> left to right and return first non-0 result"
  fails "Array#<=> returns -1 if the arrays have same length and a pair of corresponding elements returns -1 for <=>"
  fails "Array#<=> returns +1 if the arrays have same length and a pair of corresponding elements returns +1 for <=>"
  fails "Array#<=> properly handles recursive arrays"
  fails "Array#<=> tries to convert the passed argument to an Array using #to_ary"
  fails "Array#<=> returns nil when the argument is not array-like"

  fails "Array#concat tries to convert the passed argument to an Array using #to_ary"
  fails "Array#concat is not infected by the other"

  fails "Array#delete_at tries to convert the passed argument to an Integer using #to_int"

  fails "Array#delete_if returns an Enumerator if no block given, and the enumerator can modify the original array"

  fails "Array#delete may be given a block that is executed if no element matches object"
  fails "Array#delete returns the last element in the array for which object is equal under #=="

  fails "Array#dup creates a new array containing all elements or the original"

  fails "Array.[] can unpack 2 or more nested referenced array"

  fails "Array#[]= sets elements in the range arguments when passed ranges"

  fails "Array#eql? ignores array class differences"
  fails "Array#eql? handles well recursive arrays"
  fails "Array#eql? returns true if corresponding elements are #eql?"

  fails "Array#== compares with an equivalent Array-like object using #to_ary"
  fails "Array#== handles well recursive arrays"

  fails "Array#fetch tries to convert the passed argument to an Integer using #to_int"
  fails "Array#fetch raises a TypeError when the passed argument can't be coerced to Integer"

  fails "Array#first tries to convert the passed argument to an Integer using #to_int"
  fails "Array#first raises a TypeError if the passed argument is not numeric"

  fails "Array#flatten does not call flatten on elements"
  fails "Array#flatten raises an ArgumentError on recursive arrays"
  fails "Array#flatten with a non-Array object in the Array ignores the return value of #to_ary if it is nil"
  fails "Array#flatten with a non-Array object in the Array raises a TypeError if the return value of #to_ary is not an Array"
  fails "Array#flatten raises a TypeError when the passed Object can't be converted to an Integer"
  fails "Array#flatten tries to convert passed Objects to Integers using #to_int"

  fails "Array#flatten! does not call flatten! on elements"
  fails "Array#flatten! raises an ArgumentError on recursive arrays"
  fails "Array#flatten! flattens any elements which responds to #to_ary, using the return value of said method"
  fails "Array#flatten! raises a TypeError when the passed Object can't be converted to an Integer"
  fails "Array#flatten! tries to convert passed Objects to Integers using #to_int"
  fails "Array#flatten! should not check modification by size"

  fails "Array#initialize with (size, object=nil) sets the array to the values returned by the block before break is executed"
  fails "Array#initialize with (size, object=nil) returns the value passed to break"
  fails "Array#initialize with (size, object=nil) uses the block value instead of using the default value"
  fails "Array#initialize with (size, object=nil) yields the index of the element and sets the element to the value of the block"
  fails "Array#initialize with (size, object=nil) raises a TypeError if the size argument is not an Integer type"
  fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is not given"
  fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is given"
  fails "Array#initialize with (size, object=nil) raises an ArgumentError if size is too large"
  fails "Array#initialize with (size, object=nil) sets the array to size and fills with the object"
  fails "Array#initialize with (array) calls #to_ary to convert the value to an array"
  fails "Array#initialize preserves the object's identity even when changing its value"

  fails "Array#insert tries to convert the passed position argument to an Integer using #to_int"

  fails "Array#join raises an ArgumentError when the Array is recursive"
  fails "Array#join raises a NoMethodError if an element does not respond to #to_str, #to_ary, or #to_s"
  fails "Array#join attempts coercion via #to_str first"
  fails "Array#join attempts coercion via #to_ary second"
  fails "Array#join attempts coercion via #to_s third"
  fails "Array#join separates elements with default separator when the passed separator is nil"
  fails "Array#join returns a string formed by concatenating each String element separated by $,"
  fails "Array#join uses the same separator with nested arrays"
  fails "Array#join returns a string formed by concatenating each element.to_str separated by separator"

  fails "Array#& properly handles recursive arrays"
  fails "Array#& tries to convert the passed argument to an Array using #to_ary"
  fails "Array#& determines equivalence between elements in the sense of eql?"

  fails "Array#join calls #to_str to convert the separator to a String"
  fails "Array#join does not call #to_str on the separator if the array is empty"
  fails "Array#join raises a TypeError if the separator cannot be coerced to a String by calling #to_str"
  fails "Array#join raises a TypeError if passed false as the separator"

  fails "Array#last tries to convert the passed argument to an Integer usinig #to_int"

  fails "Array#- removes an identical item even when its #eql? isn't reflexive"
  fails "Array#- doesn't remove an item with the same hash but not #eql?"
{'fraction_non_alphanumeric': 0.059144676979071886, 'fraction_numerical': 0.0010615711252653928, 'mean_word_length': 4.797362637362637, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '222584', 'n_tokens_mistral': 3500, 'n_tokens_neox': 3499, 'n_words': 1886}