backports 3.16.0 → 3.16.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +658 -0
- data/README.md +524 -0
- data/backports.gemspec +5 -1
- data/lib/backports/1.8.7.rb +7 -0
- data/lib/backports/1.9.2/stdlib/matrix.rb +5 -0
- data/lib/backports/rails/array.rb +4 -0
- data/lib/backports/rails/enumerable.rb +4 -0
- data/lib/backports/rails/hash.rb +4 -0
- data/lib/backports/rails/kernel.rb +4 -0
- data/lib/backports/rails/module.rb +4 -0
- data/lib/backports/rails/string.rb +4 -0
- data/lib/backports/std_lib.rb +3 -0
- data/lib/backports/tools/deprecation.rb +12 -0
- data/lib/backports/version.rb +1 -1
- metadata +7 -511
- data/.document +0 -6
- data/.gitignore +0 -9
- data/.gitmodules +0 -6
- data/.irbrc +0 -3
- data/.travis.yml +0 -19
- data/CHANGELOG.rdoc +0 -504
- data/README.rdoc +0 -445
- data/Rakefile +0 -192
- data/default.mspec +0 -14
- data/frozen_old_spec/tags/1.8.6/core/argf/each_line_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/argf/each_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/argf/lines_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/array/append_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/array/collect_spec.rb +0 -7
- data/frozen_old_spec/tags/1.8.6/core/array/rotate_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/array/uniq_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/complex/to_r_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/enumerable/all_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/enumerable/any_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/enumerable/each_entry_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/enumerable/none_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/enumerable/one_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/enumerator/next_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/env/to_h_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/file/join_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/file/lchmod_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/file/new_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/file/open_spec.rb +0 -13
- data/frozen_old_spec/tags/1.8.6/core/file/to_path_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/fixnum/fdiv_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/gc/stress_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/hash/assoc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/hash/constructor_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/hash/default_proc_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/hash/delete_if_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/hash/each_pair_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/hash/eql_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/hash/hash_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/hash/keep_if_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/hash/rassoc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/hash/reject_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/hash/select_spec.rb +0 -8
- data/frozen_old_spec/tags/1.8.6/core/integer/round_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/io/binread_spec.rb +0 -7
- data/frozen_old_spec/tags/1.8.6/core/io/chars_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/io/each_char_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/io/lines_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/io/open_spec.rb +0 -24
- data/frozen_old_spec/tags/1.8.6/core/io/ungetbyte_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.6/core/io/write_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.6/core/kernel/__callee___spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/kernel/__method___spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/kernel/define_singleton_method_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/kernel/public_method_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/kernel/require_relative_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/math/log2_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/math/log_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/module/class_exec_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/module/module_exec_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/numeric/step_spec.rb +0 -12
- data/frozen_old_spec/tags/1.8.6/core/proc/curry_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.6/core/range/step_spec.rb +0 -12
- data/frozen_old_spec/tags/1.8.6/core/string/getbyte_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.6/core/string/partition_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/string/prepend_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/string/rpartition_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/string/setbyte_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.6/core/string/upto_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/symbol/capitalize_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.6/core/symbol/comparison_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/symbol/downcase_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/symbol/element_reference_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.6/core/symbol/empty_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/symbol/match_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/symbol/swapcase_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.6/core/symbol/to_proc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.6/core/symbol/upcase_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/array/append_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/array/keep_if_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/array/rotate_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/array/select_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/array/uniq_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/complex/to_r_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/enumerable/all_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/enumerable/any_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/enumerable/collect_concat_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/enumerable/flat_map_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/enumerable/none_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/enumerable/one_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/env/to_h_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/file/lchmod_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/file/new_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/file/open_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.7/core/file/readlink_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.7/core/file/to_path_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/hash/assoc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/hash/default_proc_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/hash/keep_if_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/hash/merge_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/hash/rassoc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/hash/select_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/hash/to_h_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/hash/update_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/integer/round_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/io/binread_spec.rb +0 -7
- data/frozen_old_spec/tags/1.8.7/core/io/open_spec.rb +0 -32
- data/frozen_old_spec/tags/1.8.7/core/io/ungetbyte_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.7/core/io/write_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.7/core/kernel/__callee___spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.7/core/kernel/define_singleton_method_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/kernel/public_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/kernel/require_relative_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/math/log2_spec.rb +0 -6
- data/frozen_old_spec/tags/1.8.7/core/math/log_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/module/alias_method_spec.rb +0 -7
- data/frozen_old_spec/tags/1.8.7/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/module/attr_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/module/include_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/module/remove_method_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/module/undef_method_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/proc/curry_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/proc/yield_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.7/core/range/size_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/string/getbyte_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.7/core/string/prepend_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/string/setbyte_spec.rb +0 -5
- data/frozen_old_spec/tags/1.8.7/core/struct/new_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/symbol/capitalize_spec.rb +0 -3
- data/frozen_old_spec/tags/1.8.7/core/symbol/comparison_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/symbol/downcase_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/symbol/element_reference_spec.rb +0 -4
- data/frozen_old_spec/tags/1.8.7/core/symbol/empty_spec.rb +0 -1
- data/frozen_old_spec/tags/1.8.7/core/symbol/match_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/symbol/swapcase_spec.rb +0 -2
- data/frozen_old_spec/tags/1.8.7/core/symbol/upcase_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/array/append_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/enumerable/all_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/enumerable/any_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/enumerable/none_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/enumerable/one_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/io/write_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -4
- data/frozen_old_spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.1/core/module/define_method_spec.rb +0 -3
- data/frozen_old_spec/tags/1.9.1/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.1/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/array/append_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/enumerable/all_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/enumerable/any_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.2/core/enumerable/none_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/enumerable/one_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/io/write_spec.rb +0 -3
- data/frozen_old_spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -4
- data/frozen_old_spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.2/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/1.9.2/core/module/define_method_spec.rb +0 -3
- data/frozen_old_spec/tags/1.9.2/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.2/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -4
- data/frozen_old_spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/define_method_spec.rb +0 -3
- data/frozen_old_spec/tags/1.9.3/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/1.9.3/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.0.0/core/module/define_method_spec.rb +0 -2
- data/frozen_old_spec/tags/2.0.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.0.0/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.1.0/core/module/define_method_spec.rb +0 -2
- data/frozen_old_spec/tags/2.1.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.1.0/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.2.0/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.2.0/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.3.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.3.0/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.0/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.3.5/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.4.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.4.0/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/enumerable/any_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/module/alias_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/module/attr_accessor_spec.rb +0 -2
- data/frozen_old_spec/tags/2.5.0/core/module/attr_reader_spec.rb +0 -2
- data/frozen_old_spec/tags/2.5.0/core/module/attr_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/module/attr_writer_spec.rb +0 -2
- data/frozen_old_spec/tags/2.5.0/core/module/define_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/module/remove_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/module/undef_method_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/nil/dup_spec.rb +0 -1
- data/frozen_old_spec/tags/2.5.0/core/struct/new_spec.rb +0 -1
- data/set_version/1.8.7.rb +0 -1
- data/set_version/1.9.1.rb +0 -1
- data/set_version/1.9.2.rb +0 -1
- data/set_version/1.9.3.rb +0 -1
- data/set_version/2.0.0.rb +0 -1
- data/set_version/2.1.0.rb +0 -1
- data/set_version/2.2.0.rb +0 -1
- data/set_version/2.3.0.rb +0 -1
- data/set_version/2.4.0.rb +0 -1
- data/set_version/2.5.0.rb +0 -1
- data/set_version/2.6.0.rb +0 -1
- data/set_version/2.7.0.rb +0 -1
- data/set_version/setter.rb +0 -22
- data/spec/tags/1.8.7/core/array/to_h_spec.rb +0 -3
- data/spec/tags/1.8.7/core/enumerable/to_h_spec.rb +0 -2
- data/spec/tags/1.8.7/core/module/attr_spec.rb +0 -1
- data/spec/tags/1.8.7/core/module/include_spec.rb +0 -1
- data/spec/tags/1.9.1/core/array/bsearch_index_spec.rb +0 -1
- data/spec/tags/1.9.1/core/array/rotate_spec.rb +0 -1
- data/spec/tags/1.9.1/core/dir/each_child_spec.rb +0 -1
- data/spec/tags/1.9.1/core/env/to_h_spec.rb +0 -2
- data/spec/tags/1.9.1/core/hash/default_proc_spec.rb +0 -1
- data/spec/tags/1.9.1/core/hash/slice_spec.rb +0 -1
- data/spec/tags/1.9.1/core/hash/transform_keys_spec.rb +0 -2
- data/spec/tags/1.9.1/core/hash/transform_values_spec.rb +0 -2
- data/spec/tags/1.9.1/core/io/write_spec.rb +0 -3
- data/spec/tags/1.9.1/core/kernel/yield_self_spec.rb +0 -1
- data/spec/tags/1.9.1/core/method/curry_spec.rb +0 -1
- data/spec/tags/1.9.1/core/module/alias_method_spec.rb +0 -3
- data/spec/tags/1.9.1/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/1.9.1/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/1.9.1/core/module/attr_spec.rb +0 -1
- data/spec/tags/1.9.1/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/1.9.1/core/module/define_method_spec.rb +0 -7
- data/spec/tags/1.9.1/core/string/uplus_spec.rb +0 -1
- data/spec/tags/1.9.1/core/struct/new_spec.rb +0 -2
- data/spec/tags/1.9.2/core/array/bsearch_index_spec.rb +0 -1
- data/spec/tags/1.9.2/core/array/to_h_spec.rb +0 -3
- data/spec/tags/1.9.2/core/dir/each_child_spec.rb +0 -1
- data/spec/tags/1.9.2/core/enumerable/to_h_spec.rb +0 -2
- data/spec/tags/1.9.2/core/hash/slice_spec.rb +0 -1
- data/spec/tags/1.9.2/core/hash/to_h_spec.rb +0 -3
- data/spec/tags/1.9.2/core/hash/transform_keys_spec.rb +0 -2
- data/spec/tags/1.9.2/core/hash/transform_values_spec.rb +0 -2
- data/spec/tags/1.9.2/core/io/write_spec.rb +0 -3
- data/spec/tags/1.9.2/core/kernel/then_spec.rb +0 -1
- data/spec/tags/1.9.2/core/kernel/yield_self_spec.rb +0 -1
- data/spec/tags/1.9.2/core/method/curry_spec.rb +0 -1
- data/spec/tags/1.9.2/core/module/alias_method_spec.rb +0 -3
- data/spec/tags/1.9.2/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/1.9.2/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/1.9.2/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/1.9.2/core/module/define_method_spec.rb +0 -7
- data/spec/tags/1.9.2/core/module/include_spec.rb +0 -1
- data/spec/tags/1.9.2/core/string/uplus_spec.rb +0 -1
- data/spec/tags/1.9.2/core/struct/new_spec.rb +0 -2
- data/spec/tags/1.9.3/core/array/bsearch_index_spec.rb +0 -1
- data/spec/tags/1.9.3/core/array/to_h_spec.rb +0 -3
- data/spec/tags/1.9.3/core/dir/each_child_spec.rb +0 -1
- data/spec/tags/1.9.3/core/enumerable/grep_v_spec.rb +0 -2
- data/spec/tags/1.9.3/core/enumerable/to_h_spec.rb +0 -2
- data/spec/tags/1.9.3/core/enumerator/produce_spec.rb +0 -1
- data/spec/tags/1.9.3/core/hash/slice_spec.rb +0 -1
- data/spec/tags/1.9.3/core/hash/to_h_spec.rb +0 -3
- data/spec/tags/1.9.3/core/hash/transform_keys_spec.rb +0 -2
- data/spec/tags/1.9.3/core/hash/transform_values_spec.rb +0 -2
- data/spec/tags/1.9.3/core/io/write_spec.rb +0 -3
- data/spec/tags/1.9.3/core/kernel/then_spec.rb +0 -1
- data/spec/tags/1.9.3/core/kernel/yield_self_spec.rb +0 -1
- data/spec/tags/1.9.3/core/method/curry_spec.rb +0 -1
- data/spec/tags/1.9.3/core/module/alias_method_spec.rb +0 -3
- data/spec/tags/1.9.3/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/1.9.3/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/1.9.3/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/1.9.3/core/module/define_method_spec.rb +0 -7
- data/spec/tags/1.9.3/core/module/include_spec.rb +0 -1
- data/spec/tags/1.9.3/core/string/uplus_spec.rb +0 -1
- data/spec/tags/1.9.3/core/struct/new_spec.rb +0 -2
- data/spec/tags/2.0.0/core/array/to_h_spec.rb +0 -3
- data/spec/tags/2.0.0/core/enumerable/grep_v_spec.rb +0 -2
- data/spec/tags/2.0.0/core/enumerable/to_h_spec.rb +0 -2
- data/spec/tags/2.0.0/core/hash/slice_spec.rb +0 -1
- data/spec/tags/2.0.0/core/hash/to_h_spec.rb +0 -3
- data/spec/tags/2.0.0/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/2.0.0/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/2.0.0/core/module/attr_spec.rb +0 -1
- data/spec/tags/2.0.0/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/2.0.0/core/module/define_method_spec.rb +0 -5
- data/spec/tags/2.0.0/core/module/include_spec.rb +0 -1
- data/spec/tags/2.0.0/core/module/undef_method_spec.rb +0 -2
- data/spec/tags/2.0.0/core/string/uplus_spec.rb +0 -1
- data/spec/tags/2.0.0/core/struct/new_spec.rb +0 -3
- data/spec/tags/2.1.0/core/array/union_spec.rb +0 -1
- data/spec/tags/2.1.0/core/enumerable/grep_v_spec.rb +0 -2
- data/spec/tags/2.1.0/core/hash/slice_spec.rb +0 -1
- data/spec/tags/2.1.0/core/hash/to_h_spec.rb +0 -1
- data/spec/tags/2.1.0/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/2.1.0/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/2.1.0/core/module/attr_spec.rb +0 -1
- data/spec/tags/2.1.0/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/2.1.0/core/module/define_method_spec.rb +0 -5
- data/spec/tags/2.1.0/core/module/undef_method_spec.rb +0 -2
- data/spec/tags/2.1.0/core/string/uplus_spec.rb +0 -1
- data/spec/tags/2.1.0/core/struct/new_spec.rb +0 -3
- data/spec/tags/2.2.0/core/enumerable/grep_v_spec.rb +0 -2
- data/spec/tags/2.2.0/core/hash/slice_spec.rb +0 -1
- data/spec/tags/2.2.0/core/hash/to_h_spec.rb +0 -1
- data/spec/tags/2.2.0/core/module/attr_accessor_spec.rb +0 -1
- data/spec/tags/2.2.0/core/module/attr_reader_spec.rb +0 -1
- data/spec/tags/2.2.0/core/module/attr_spec.rb +0 -1
- data/spec/tags/2.2.0/core/module/attr_writer_spec.rb +0 -1
- data/spec/tags/2.2.0/core/module/define_method_spec.rb +0 -5
- data/spec/tags/2.2.0/core/module/undef_method_spec.rb +0 -2
- data/spec/tags/2.2.0/core/string/uplus_spec.rb +0 -1
- data/spec/tags/2.2.0/core/struct/new_spec.rb +0 -3
- data/spec/tags/2.3.0/core/hash/slice_spec.rb +0 -1
- data/spec/tags/2.3.0/core/hash/to_h_spec.rb +0 -1
- data/spec/tags/2.3.0/core/module/attr_spec.rb +0 -1
- data/spec/tags/2.3.0/core/string/uplus_spec.rb +0 -1
- data/spec/tags/2.3.0/core/struct/new_spec.rb +0 -3
- data/spec/tags/2.4.0/core/hash/slice_spec.rb +0 -1
- data/spec/tags/2.4.0/core/hash/to_h_spec.rb +0 -1
- data/spec/tags/2.4.0/core/module/attr_spec.rb +0 -1
- data/spec/tags/2.4.0/core/struct/new_spec.rb +0 -1
- data/spec/tags/2.5.0/core/hash/to_h_spec.rb +0 -1
- data/test/README +0 -2
- data/test/_backport_guards_test.rb +0 -152
- data/test/bit_length_test.rb +0 -11
- data/test/lazy_test.rb +0 -487
- data/test/socket_interaction_test.rb +0 -9
- data/test/test_helper.rb +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
fails:Array#bsearch_index when not passed a block returns an Enumerator with unknown size
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Dir.each_child when no block is given returned Enumerator size should return nil
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Kernel#then returns a sized Enumerator when no block given
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Kernel#yield_self returns a sized Enumerator when no block given
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Method#curry with optional arity argument raises ArgumentError when the method requires less arguments than the given arity
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Module#alias_method aliasing special methods keeps initialize_clone private when aliasing
|
2
|
-
fails:Module#alias_method aliasing special methods keeps initialize_dup private when aliasing
|
3
|
-
fails:Module#alias_method aliasing special methods keeps respond_to_missing? private when aliasing
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_accessor not allows creating an attr_accessor on an immediate class
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_reader not allows for adding an attr_reader to an immediate
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_writer not allows for adding an attr_writer to an immediate
|
@@ -1,7 +0,0 @@
|
|
1
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
|
2
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from another module sets the visibility of the method to public
|
3
|
-
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
4
|
-
fails:Module#define_method does not use the caller block when no block is given
|
5
|
-
fails:Module#define_method returns its symbol
|
6
|
-
fails:Module#define_method allows an UnboundMethod from a module to be defined on a class
|
7
|
-
fails:Module#define_method allows an UnboundMethod from a module to be defined on another unrelated module
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#include doesn't accept no-arguments
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Array#bsearch_index when not passed a block returns an Enumerator with unknown size
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Dir.each_child when no block is given returned Enumerator size should return nil
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Enumerator.produce when initial value skipped starts enumerable from result of first block call
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Kernel#then returns a sized Enumerator when no block given
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Kernel#yield_self returns a sized Enumerator when no block given
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Method#curry with optional arity argument raises ArgumentError when the method requires less arguments than the given arity
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Module#alias_method aliasing special methods keeps initialize_clone private when aliasing
|
2
|
-
fails:Module#alias_method aliasing special methods keeps initialize_dup private when aliasing
|
3
|
-
fails:Module#alias_method aliasing special methods keeps respond_to_missing? private when aliasing
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_accessor not allows creating an attr_accessor on an immediate class
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_reader not allows for adding an attr_reader to an immediate
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_writer not allows for adding an attr_writer to an immediate
|
@@ -1,7 +0,0 @@
|
|
1
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
|
2
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from another module sets the visibility of the method to public
|
3
|
-
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
4
|
-
fails:Module#define_method does not use the caller block when no block is given
|
5
|
-
fails:Module#define_method returns its symbol
|
6
|
-
fails:Module#define_method allows an UnboundMethod from a module to be defined on a class
|
7
|
-
fails:Module#define_method allows an UnboundMethod from a module to be defined on another unrelated module
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#include doesn't accept no-arguments
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_accessor not allows creating an attr_accessor on an immediate class
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_reader not allows for adding an attr_reader to an immediate
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr with a boolean argument emits a warning when $VERBOSE is true
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_writer not allows for adding an attr_writer to an immediate
|
@@ -1,5 +0,0 @@
|
|
1
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
|
2
|
-
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
|
-
fails:Module#define_method does not use the caller block when no block is given
|
4
|
-
fails:Module#define_method returns its symbol
|
5
|
-
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#include doesn't accept no-arguments
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
-
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
-
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Array#| acts as if using an intermediate hash to collect values
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#to_h with block raises ArgumentError if block returns longer or shorter array
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_accessor not allows creating an attr_accessor on an immediate class
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_reader not allows for adding an attr_reader to an immediate
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr with a boolean argument emits a warning when $VERBOSE is true
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_writer not allows for adding an attr_writer to an immediate
|
@@ -1,5 +0,0 @@
|
|
1
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
|
2
|
-
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
|
-
fails:Module#define_method does not use the caller block when no block is given
|
4
|
-
fails:Module#define_method returns its symbol
|
5
|
-
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
-
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
-
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#to_h with block raises ArgumentError if block returns longer or shorter array
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_accessor not allows creating an attr_accessor on an immediate class
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_reader not allows for adding an attr_reader to an immediate
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr with a boolean argument emits a warning when $VERBOSE is true
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr_writer not allows for adding an attr_writer to an immediate
|
@@ -1,5 +0,0 @@
|
|
1
|
-
fails:Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility
|
2
|
-
fails:Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility
|
3
|
-
fails:Module#define_method does not use the caller block when no block is given
|
4
|
-
fails:Module#define_method returns its symbol
|
5
|
-
fails:Module#define_method allows an UnboundMethod of a Kernel method retrieved from Object to defined on a BasicObject subclass
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
-
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
-
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#to_h with block raises ArgumentError if block returns longer or shorter array
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr with a boolean argument emits a warning when $VERBOSE is true
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:String#+@ returns mutable copy despite freeze-magic-comment in file
|
@@ -1,3 +0,0 @@
|
|
1
|
-
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
2
|
-
fails:Struct.new raises ArgumentError when there is a duplicate member
|
3
|
-
fails:Struct.new keyword_init: true option raises when there is a duplicate member
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#slice uses the regular Hash#[] method, even on subclasses that override it
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#to_h with block raises ArgumentError if block returns longer or shorter array
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Module#attr with a boolean argument emits a warning when $VERBOSE is true
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Struct.new keyword_init: true option new class instantiation raises ArgumentError when passed not declared keyword argument
|
@@ -1 +0,0 @@
|
|
1
|
-
fails:Hash#to_h with block raises ArgumentError if block returns longer or shorter array
|
data/test/README
DELETED
@@ -1,152 +0,0 @@
|
|
1
|
-
require 'stringio'
|
2
|
-
if RUBY_VERSION < '1.9'
|
3
|
-
require 'enumerator'
|
4
|
-
require 'generator' # Must require first, because of warning in Ruby 1.8.7 with `ruby -w -r generator -e ""`
|
5
|
-
end
|
6
|
-
require './test/test_helper'
|
7
|
-
$bogus = []
|
8
|
-
|
9
|
-
module Kernel
|
10
|
-
def require_with_bogus_extension(lib)
|
11
|
-
$bogus << lib
|
12
|
-
require_without_bogus_extension(lib)
|
13
|
-
end
|
14
|
-
alias_method :require_without_bogus_extension, :require
|
15
|
-
alias_method :require, :require_with_bogus_extension
|
16
|
-
|
17
|
-
if defined? BasicObject and BasicObject.superclass
|
18
|
-
BasicObject.send :undef_method, :require
|
19
|
-
BasicObject.send :undef_method, :require_with_bogus_extension
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
class AAA_TestBackportGuards < Test::Unit::TestCase
|
24
|
-
def setup
|
25
|
-
$VERBOSE = true
|
26
|
-
@prev, $stderr = $stderr, StringIO.new
|
27
|
-
end
|
28
|
-
|
29
|
-
def teardown
|
30
|
-
assert_equal '', $stderr.string
|
31
|
-
$stderr = @prev
|
32
|
-
end
|
33
|
-
|
34
|
-
EXCLUDE = %w[require require_with_backports require_without_backports] # Overriden in all circumstances to load the std-lib
|
35
|
-
EXCLUDE.map!(&:to_sym) if instance_methods.first.is_a?(Symbol)
|
36
|
-
|
37
|
-
# For some very strange reason, Hash[kvp.flatten] doesn't always work in 1.8.6??
|
38
|
-
def to_hash(key_value_pairs)
|
39
|
-
h = {}
|
40
|
-
key_value_pairs.each{|k,v| h[k] = v}
|
41
|
-
h
|
42
|
-
end
|
43
|
-
|
44
|
-
# This returns all user defined methods on klass.
|
45
|
-
# For Ruby 1.8.7 or below, it returns all methods, so we can at least check we are not adding new methods needlessly
|
46
|
-
def class_signature(klass)
|
47
|
-
list =
|
48
|
-
(klass.instance_methods - EXCLUDE).map{|m| [m, klass.instance_method(m)] } +
|
49
|
-
(klass.methods - EXCLUDE).map{|m| [".#{m}", klass.method(m) ]}
|
50
|
-
list.select!{|name, method| method.source_location } if UnboundMethod.method_defined? :source_location
|
51
|
-
to_hash(list)
|
52
|
-
end
|
53
|
-
|
54
|
-
CLASSES = [Array, Binding, Bignum, Dir, Comparable, Enumerable, FalseClass, Fixnum, Float, GC,
|
55
|
-
Hash, Integer, IO, Kernel, Math, MatchData, Method, Module, NilClass, Numeric,
|
56
|
-
ObjectSpace, Proc, Process, Range, Regexp, String, Struct, Symbol, TrueClass] +
|
57
|
-
[ENV, ARGF].map{|obj| class << obj; self; end }
|
58
|
-
|
59
|
-
case RUBY_VERSION
|
60
|
-
when '1.8.6'
|
61
|
-
when '1.8.7'
|
62
|
-
CLASSES << Enumerable::Enumerator
|
63
|
-
else
|
64
|
-
CLASSES << Enumerator
|
65
|
-
end
|
66
|
-
|
67
|
-
def digest
|
68
|
-
to_hash(
|
69
|
-
CLASSES.map { |klass| [klass, class_signature(klass)] }
|
70
|
-
)
|
71
|
-
end
|
72
|
-
|
73
|
-
def digest_delta(before, after)
|
74
|
-
delta = {}
|
75
|
-
before.each do |klass, methods|
|
76
|
-
compare = after[klass]
|
77
|
-
d = methods.map do |name, unbound|
|
78
|
-
name unless unbound == compare[name]
|
79
|
-
end + (compare.map(&:first) - methods.map(&:first))
|
80
|
-
d.compact!
|
81
|
-
delta[klass] = d unless d.empty?
|
82
|
-
end
|
83
|
-
delta unless delta.empty?
|
84
|
-
end
|
85
|
-
|
86
|
-
# Order super important!
|
87
|
-
def test__1_abbrev_can_be_required_before_backports
|
88
|
-
assert require('abbrev')
|
89
|
-
assert !$LOADED_FEATURES.include?('backports')
|
90
|
-
end
|
91
|
-
|
92
|
-
# Order super important!
|
93
|
-
def test__2_backports_wont_override_unnecessarily
|
94
|
-
before = digest
|
95
|
-
latest = "2.4.0"
|
96
|
-
if RUBY_VERSION > '1.8.6'
|
97
|
-
main_version = [RUBY_VERSION, latest].min
|
98
|
-
unless File.exist?(File.expand_path("../../lib/backports/#{main_version}.rb", __FILE__))
|
99
|
-
main_version = main_version.sub(/\.\d+$/, '.0')
|
100
|
-
end
|
101
|
-
require "backports/#{main_version}"
|
102
|
-
after = digest
|
103
|
-
assert_nil digest_delta(before, after)
|
104
|
-
end
|
105
|
-
if RUBY_VERSION < latest
|
106
|
-
require "backports"
|
107
|
-
after = digest
|
108
|
-
assert !digest_delta(before, after).nil?
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
if RUBY_VERSION < '2.7' # e2mmap was dropped in 2.7, and matrix reimpl depends on it
|
113
|
-
def test_setlib_load_correctly_after_requiring_backports
|
114
|
-
path = File.expand_path("../../lib/backports/1.9.2/stdlib/matrix.rb", __FILE__)
|
115
|
-
assert_equal false, $LOADED_FEATURES.include?(path)
|
116
|
-
assert_equal true, require('matrix')
|
117
|
-
assert_equal true, $bogus.include?("matrix")
|
118
|
-
assert_equal true, $LOADED_FEATURES.include?(path)
|
119
|
-
assert_equal false, require('matrix')
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
def test_setlib_load_correctly_before_requiring_backports_test
|
124
|
-
assert_equal true, $bogus.include?("abbrev")
|
125
|
-
path = File.expand_path("../../lib/backports/2.0.0/stdlib/abbrev.rb", __FILE__)
|
126
|
-
assert_equal true, $LOADED_FEATURES.include?(path)
|
127
|
-
assert_equal false, require('abbrev')
|
128
|
-
end
|
129
|
-
|
130
|
-
if RUBY_VERSION < '2.7' # scanf was dropped in 2.7
|
131
|
-
def test_backports_does_not_interfere_for_libraries_without_backports_test
|
132
|
-
assert_equal true, require('scanf')
|
133
|
-
assert_equal false, require('scanf')
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_load_correctly_new_libraries_test
|
138
|
-
path = File.expand_path("../../lib/backports/2.0.0/stdlib/fake_stdlib_lib.rb", __FILE__)
|
139
|
-
assert_equal false, $LOADED_FEATURES.include?(path)
|
140
|
-
assert_equal true, require('fake_stdlib_lib')
|
141
|
-
assert_equal true, $LOADED_FEATURES.include?(path)
|
142
|
-
assert_equal false, require('fake_stdlib_lib')
|
143
|
-
end
|
144
|
-
|
145
|
-
def test_no_warnings
|
146
|
-
require 'ostruct'
|
147
|
-
require 'set'
|
148
|
-
require 'backports/1.8.7/array/each'
|
149
|
-
require 'backports/1.8.7/enumerator/next'
|
150
|
-
assert_equal 1, [1,2,3].each.next # [Bug #70]
|
151
|
-
end
|
152
|
-
end
|