├── .builds └── openbsd.yml ├── .clang-format ├── .clang-tidy ├── .devcontainer └── devcontainer.json ├── .dockerignore ├── .editorconfig ├── .git-blame-ignore-revs ├── .github └── workflows │ ├── asan_tests.yml │ ├── format.yml │ ├── lint.yml │ ├── perf_test.yml │ ├── run_all_specs.yml │ ├── self_hosted_tests.yml │ ├── test.yml │ └── tm.yml ├── .gitignore ├── .gitmodules ├── .ruby-version ├── .streerc ├── CONTRIBUTING.md ├── Dockerfile ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── Makefile ├── README.md ├── Rakefile ├── bin └── natalie ├── examples ├── about.rb ├── boardslam.rb ├── demo.gif ├── evaluate.rb ├── fib.rb ├── gtk3.rb ├── hello.rb ├── icon.png ├── linenoise.rb ├── sslsocket.rb └── webserver.rb ├── ext ├── onigmo.patch └── tm │ ├── .gitignore │ ├── Dockerfile │ ├── Gemfile │ ├── LICENSE │ ├── README.md │ ├── Rakefile │ ├── include │ └── tm │ │ ├── defer.hpp │ │ ├── hashmap.hpp │ │ ├── macros.hpp │ │ ├── non_null_ptr.hpp │ │ ├── optional.hpp │ │ ├── owned_ptr.hpp │ │ ├── recursion_guard.hpp │ │ ├── shared_ptr.hpp │ │ ├── span.hpp │ │ ├── string.hpp │ │ ├── string_view.hpp │ │ ├── tests.hpp │ │ └── vector.hpp │ └── test │ ├── all.rb │ ├── inline_test.rb │ └── test_helper.rb ├── include ├── minicoro │ ├── LICENSE │ └── minicoro.h ├── natalie.hpp ├── natalie │ ├── abstract_method_object.hpp │ ├── args.hpp │ ├── array_object.hpp │ ├── array_packer │ │ ├── float_handler.hpp │ │ ├── integer_handler.hpp │ │ ├── packer.hpp │ │ ├── string_handler.hpp │ │ └── tokenizer.hpp │ ├── backtrace.hpp │ ├── bigint.h │ ├── bigint.hpp │ ├── binding_object.hpp │ ├── block.hpp │ ├── bsearch.hpp │ ├── class_object.hpp │ ├── complex_object.hpp │ ├── constant.hpp │ ├── constants.hpp │ ├── crypt.h │ ├── dir_object.hpp │ ├── encoding │ │ ├── ascii_8bit_encoding_object.hpp │ │ ├── eucjp_encoding_object.hpp │ │ ├── ibm037_encoding_object.hpp │ │ ├── ibm437_encoding_object.hpp │ │ ├── ibm720_encoding_object.hpp │ │ ├── ibm737_encoding_object.hpp │ │ ├── ibm775_encoding_object.hpp │ │ ├── ibm850_encoding_object.hpp │ │ ├── ibm852_encoding_object.hpp │ │ ├── ibm855_encoding_object.hpp │ │ ├── ibm857_encoding_object.hpp │ │ ├── ibm860_encoding_object.hpp │ │ ├── ibm861_encoding_object.hpp │ │ ├── ibm862_encoding_object.hpp │ │ ├── ibm863_encoding_object.hpp │ │ ├── ibm864_encoding_object.hpp │ │ ├── ibm865_encoding_object.hpp │ │ ├── ibm866_encoding_object.hpp │ │ ├── ibm869_encoding_object.hpp │ │ ├── iso885910_encoding_object.hpp │ │ ├── iso885911_encoding_object.hpp │ │ ├── iso885913_encoding_object.hpp │ │ ├── iso885914_encoding_object.hpp │ │ ├── iso885915_encoding_object.hpp │ │ ├── iso885916_encoding_object.hpp │ │ ├── iso88591_encoding_object.hpp │ │ ├── iso88592_encoding_object.hpp │ │ ├── iso88593_encoding_object.hpp │ │ ├── iso88594_encoding_object.hpp │ │ ├── iso88595_encoding_object.hpp │ │ ├── iso88596_encoding_object.hpp │ │ ├── iso88597_encoding_object.hpp │ │ ├── iso88598_encoding_object.hpp │ │ ├── iso88599_encoding_object.hpp │ │ ├── koi8r_encoding_object.hpp │ │ ├── koi8u_encoding_object.hpp │ │ ├── shiftjis_encoding_object.hpp │ │ ├── single_byte_encoding_object.hpp │ │ ├── us_ascii_encoding_object.hpp │ │ ├── utf16be_encoding_object.hpp │ │ ├── utf16le_encoding_object.hpp │ │ ├── utf32be_encoding_object.hpp │ │ ├── utf32le_encoding_object.hpp │ │ ├── utf8_encoding_object.hpp │ │ ├── windows1250_encoding_object.hpp │ │ ├── windows1251_encoding_object.hpp │ │ ├── windows1252_encoding_object.hpp │ │ ├── windows1253_encoding_object.hpp │ │ ├── windows1254_encoding_object.hpp │ │ ├── windows1255_encoding_object.hpp │ │ ├── windows1256_encoding_object.hpp │ │ ├── windows1257_encoding_object.hpp │ │ └── windows1258_encoding_object.hpp │ ├── encoding_object.hpp │ ├── encodings.hpp │ ├── enumerator │ │ └── arithmetic_sequence_object.hpp │ ├── env.hpp │ ├── env_object.hpp │ ├── exception_object.hpp │ ├── false_methods.hpp │ ├── fiber_object.hpp │ ├── file_object.hpp │ ├── file_stat_object.hpp │ ├── float_object.hpp │ ├── forward.hpp │ ├── gc.hpp │ ├── gc │ │ ├── allocator.hpp │ │ ├── cell.hpp │ │ ├── heap.hpp │ │ ├── heap_block.hpp │ │ └── marking_visitor.hpp │ ├── gc_module.hpp │ ├── global_env.hpp │ ├── global_variable_info.hpp │ ├── global_variable_info │ │ └── access_hooks.hpp │ ├── hash_builder.hpp │ ├── hash_object.hpp │ ├── integer.hpp │ ├── integer_methods.hpp │ ├── io_object.hpp │ ├── ioutil.hpp │ ├── kernel_module.hpp │ ├── local_jump_error_type.hpp │ ├── macros.hpp │ ├── managed_vector.hpp │ ├── match_data_object.hpp │ ├── method.hpp │ ├── method_info.hpp │ ├── method_missing_reason.hpp │ ├── method_object.hpp │ ├── method_visibility.hpp │ ├── module_object.hpp │ ├── native_profiler.hpp │ ├── nil_methods.hpp │ ├── number_parser.hpp │ ├── object.hpp │ ├── object_type.hpp │ ├── proc_object.hpp │ ├── process_module.hpp │ ├── random_object.hpp │ ├── range_object.hpp │ ├── rational_object.hpp │ ├── regexp_object.hpp │ ├── rounding_mode.hpp │ ├── signal_module.hpp │ ├── string_object.hpp │ ├── string_unpacker.hpp │ ├── string_upto_iterator.hpp │ ├── symbol_object.hpp │ ├── thread │ │ ├── backtrace │ │ │ └── location_object.hpp │ │ └── mutex_object.hpp │ ├── thread_group_object.hpp │ ├── thread_object.hpp │ ├── throw_catch_exception.hpp │ ├── time_object.hpp │ ├── true_methods.hpp │ ├── types.hpp │ ├── unbound_method_object.hpp │ ├── value.hpp │ └── void_p_object.hpp └── nathelpers │ └── typeinfo.hpp ├── lib ├── English.rb ├── abbrev.rb ├── base64.rb ├── benchmark.rb ├── cgi.rb ├── cgi │ ├── cookie.rb │ ├── core.rb │ ├── html.rb │ └── util.rb ├── csv.rb ├── csv │ ├── parser.rb │ ├── row.rb │ └── writer.rb ├── date.rb ├── delegate.rb ├── digest.rb ├── digest │ ├── bubblebabble.rb │ ├── md5.rb │ ├── sha1.rb │ └── sha2.rb ├── erb.rb ├── erb │ └── util.rb ├── etc.cpp ├── etc.rb ├── fcntl.rb ├── ffi.cpp ├── ffi.rb ├── fiber.rb ├── fiddle.rb ├── fileutils.rb ├── find.rb ├── io │ ├── nonblock.cpp │ └── nonblock.rb ├── ipaddr.rb ├── json.rb ├── libnat_api.rb ├── linenoise.cpp ├── linenoise │ ├── .clang-format │ ├── linenoise.c │ └── linenoise.h ├── matrix.rb ├── matrix │ ├── eigenvalue_decomposition.rb │ ├── lup_decomposition.rb │ └── version.rb ├── natalie.rb ├── natalie │ ├── compiler.rb │ ├── compiler │ │ ├── advisory_lock.rb │ │ ├── arg_consumer.rb │ │ ├── args.rb │ │ ├── arity.rb │ │ ├── backends │ │ │ ├── cpp_backend.rb │ │ │ └── cpp_backend │ │ │ │ ├── linker.rb │ │ │ │ ├── out_file.rb │ │ │ │ ├── pkg_config.rb │ │ │ │ └── transform.rb │ │ ├── base_pass.rb │ │ ├── binding_gen.rb │ │ ├── block_args.rb │ │ ├── bytecode │ │ │ ├── header.rb │ │ │ ├── loader.rb │ │ │ ├── ro_data.rb │ │ │ └── sections.rb │ │ ├── comptime_values.rb │ │ ├── const_prepper.rb │ │ ├── env_builder.rb │ │ ├── flags.rb │ │ ├── instruction_manager.rb │ │ ├── instructions.rb │ │ ├── instructions │ │ │ ├── alias_global_instruction.rb │ │ │ ├── alias_method_instruction.rb │ │ │ ├── anonymous_block_get_instruction.rb │ │ │ ├── anonymous_block_set_instruction.rb │ │ │ ├── anonymous_keyword_splat_get_instruction.rb │ │ │ ├── anonymous_keyword_splat_set_instruction.rb │ │ │ ├── anonymous_splat_get_instruction.rb │ │ │ ├── anonymous_splat_set_instruction.rb │ │ │ ├── args_pop_instruction.rb │ │ │ ├── args_shift_instruction.rb │ │ │ ├── array_concat_instruction.rb │ │ │ ├── array_is_empty_instruction.rb │ │ │ ├── array_pop_instruction.rb │ │ │ ├── array_push_instruction.rb │ │ │ ├── array_shift_instruction.rb │ │ │ ├── array_wrap_instruction.rb │ │ │ ├── autoload_const_instruction.rb │ │ │ ├── base_instruction.rb │ │ │ ├── break_instruction.rb │ │ │ ├── break_out_instruction.rb │ │ │ ├── case_equal_instruction.rb │ │ │ ├── catch_instruction.rb │ │ │ ├── check_args_instruction.rb │ │ │ ├── check_keyword_args_instruction.rb │ │ │ ├── class_variable_get_instruction.rb │ │ │ ├── class_variable_set_instruction.rb │ │ │ ├── compile_time_warn.rb │ │ │ ├── const_find_instruction.rb │ │ │ ├── const_set_instruction.rb │ │ │ ├── continue_instruction.rb │ │ │ ├── create_array_instruction.rb │ │ │ ├── create_complex_instruction.rb │ │ │ ├── create_hash_instruction.rb │ │ │ ├── create_lambda_instruction.rb │ │ │ ├── create_range_instruction.rb │ │ │ ├── create_rational_instruction.rb │ │ │ ├── define_block_instruction.rb │ │ │ ├── define_class_instruction.rb │ │ │ ├── define_method_instruction.rb │ │ │ ├── define_module_instruction.rb │ │ │ ├── dup_instruction.rb │ │ │ ├── dup_object_instruction.rb │ │ │ ├── dup_rel_instruction.rb │ │ │ ├── else_instruction.rb │ │ │ ├── end_instruction.rb │ │ │ ├── flip_flop_instruction.rb │ │ │ ├── global_variable_defined_instruction.rb │ │ │ ├── global_variable_get_instruction.rb │ │ │ ├── global_variable_set_instruction.rb │ │ │ ├── hash_delete_instruction.rb │ │ │ ├── hash_has_key_instruction.rb │ │ │ ├── hash_merge_instruction.rb │ │ │ ├── hash_put_instruction.rb │ │ │ ├── if_instruction.rb │ │ │ ├── inline_cpp_instruction.rb │ │ │ ├── instance_variable_defined_instruction.rb │ │ │ ├── instance_variable_get_instruction.rb │ │ │ ├── instance_variable_set_instruction.rb │ │ │ ├── is_defined_instruction.rb │ │ │ ├── is_nil_instruction.rb │ │ │ ├── load_file_instruction.rb │ │ │ ├── match_break_point_instruction.rb │ │ │ ├── match_exception_instruction.rb │ │ │ ├── meta.rb │ │ │ ├── method_defined_instruction.rb │ │ │ ├── move_rel_instruction.rb │ │ │ ├── next_instruction.rb │ │ │ ├── not_instruction.rb │ │ │ ├── pop_instruction.rb │ │ │ ├── pop_keyword_args_instruction.rb │ │ │ ├── push_arg_instruction.rb │ │ │ ├── push_argc_instruction.rb │ │ │ ├── push_args_instruction.rb │ │ │ ├── push_block_instruction.rb │ │ │ ├── push_false_instruction.rb │ │ │ ├── push_float_instruction.rb │ │ │ ├── push_int_instruction.rb │ │ │ ├── push_last_match_instruction.rb │ │ │ ├── push_nil_instruction.rb │ │ │ ├── push_object_class_instruction.rb │ │ │ ├── push_regexp_instruction.rb │ │ │ ├── push_rescued_instruction.rb │ │ │ ├── push_self_instruction.rb │ │ │ ├── push_string_instruction.rb │ │ │ ├── push_symbol_instruction.rb │ │ │ ├── push_true_instruction.rb │ │ │ ├── redo_instruction.rb │ │ │ ├── retry_instruction.rb │ │ │ ├── return_instruction.rb │ │ │ ├── send_instruction.rb │ │ │ ├── singleton_class_instruction.rb │ │ │ ├── string_append_instruction.rb │ │ │ ├── string_to_regexp_instruction.rb │ │ │ ├── super_instruction.rb │ │ │ ├── swap_instruction.rb │ │ │ ├── to_array_instruction.rb │ │ │ ├── try_instruction.rb │ │ │ ├── undefine_method_instruction.rb │ │ │ ├── variable_declare_instruction.rb │ │ │ ├── variable_get_instruction.rb │ │ │ ├── variable_set_instruction.rb │ │ │ ├── while_body_instruction.rb │ │ │ ├── while_instruction.rb │ │ │ ├── with_singleton_instruction.rb │ │ │ └── yield_instruction.rb │ │ ├── loaded_file.rb │ │ ├── macro_expander.rb │ │ ├── multiple_assignment.rb │ │ ├── pass1.rb │ │ ├── pass2.rb │ │ ├── pass3.rb │ │ ├── pass4.rb │ │ ├── regexp_encoding.rb │ │ ├── string_to_cpp.rb │ │ └── transformers │ │ │ └── match_required_node.rb │ ├── encoding │ │ ├── casefold_gen.rb │ │ └── casemap_gen.rb │ ├── parser.rb │ ├── repl.rb │ ├── vm.rb │ └── vm │ │ └── block.rb ├── observer.rb ├── openssl.cpp ├── openssl.rb ├── optparse.rb ├── ostruct.rb ├── pathname.rb ├── pp.rb ├── prettyprint.rb ├── random │ └── formatter.rb ├── rbconfig.rb ├── rbconfig │ └── sizeof.rb ├── readline.rb ├── securerandom.cpp ├── securerandom.rb ├── shellwords.rb ├── singleton.rb ├── socket.cpp ├── socket.rb ├── socket │ └── constants.rb ├── stringio.rb ├── strscan.rb ├── tempfile.cpp ├── tempfile.rb ├── thread_pool.rb ├── time.rb ├── tmpdir.cpp ├── tmpdir.rb ├── uri.rb ├── uri │ ├── common.rb │ ├── file.rb │ ├── ftp.rb │ ├── generic.rb │ ├── http.rb │ ├── https.rb │ ├── ldap.rb │ ├── ldaps.rb │ ├── mailto.rb │ ├── rfc2396_parser.rb │ ├── rfc3986_parser.rb │ ├── uri.gemspec │ ├── version.rb │ ├── ws.rb │ └── wss.rb ├── yaml.cpp ├── yaml.rb ├── zlib.cpp └── zlib.rb ├── spec ├── LICENSE ├── command_line │ ├── dash_e_spec.rb │ ├── dash_r_spec.rb │ ├── dash_w_spec.rb │ ├── error_message_spec.rb │ ├── fixtures │ │ ├── bad_syntax.rb │ │ ├── conditional_range.txt │ │ ├── debug_info.rb │ │ ├── freeze_flag_across_files.rb │ │ ├── freeze_flag_across_files_diff_enc.rb │ │ ├── freeze_flag_one_literal.rb │ │ ├── freeze_flag_required.rb │ │ ├── freeze_flag_required_diff_enc.rb │ │ ├── freeze_flag_two_literals.rb │ │ ├── require.rb │ │ ├── string_literal_frozen_comment.rb │ │ ├── string_literal_mutable_comment.rb │ │ ├── string_literal_raw.rb │ │ ├── test_file.rb │ │ └── verbose.rb │ ├── frozen_strings_spec.rb │ ├── shared │ │ └── verbose.rb │ └── syntax_error_spec.rb ├── core │ ├── array │ │ ├── all_spec.rb │ │ ├── allocate_spec.rb │ │ ├── any_spec.rb │ │ ├── append_spec.rb │ │ ├── array_spec.rb │ │ ├── assoc_spec.rb │ │ ├── at_spec.rb │ │ ├── bsearch_index_spec.rb │ │ ├── bsearch_spec.rb │ │ ├── clear_spec.rb │ │ ├── clone_spec.rb │ │ ├── collect_spec.rb │ │ ├── combination_spec.rb │ │ ├── compact_spec.rb │ │ ├── comparison_spec.rb │ │ ├── concat_spec.rb │ │ ├── constructor_spec.rb │ │ ├── count_spec.rb │ │ ├── cycle_spec.rb │ │ ├── deconstruct_spec.rb │ │ ├── delete_at_spec.rb │ │ ├── delete_if_spec.rb │ │ ├── delete_spec.rb │ │ ├── difference_spec.rb │ │ ├── dig_spec.rb │ │ ├── drop_spec.rb │ │ ├── drop_while_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_index_spec.rb │ │ ├── each_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── empty_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fetch_spec.rb │ │ ├── fetch_values_spec.rb │ │ ├── fill_spec.rb │ │ ├── filter_spec.rb │ │ ├── find_index_spec.rb │ │ ├── first_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── encoded_strings.rb │ │ ├── flatten_spec.rb │ │ ├── frozen_spec.rb │ │ ├── hash_spec.rb │ │ ├── include_spec.rb │ │ ├── index_spec.rb │ │ ├── initialize_spec.rb │ │ ├── insert_spec.rb │ │ ├── inspect_spec.rb │ │ ├── intersect_spec.rb │ │ ├── intersection_spec.rb │ │ ├── join_spec.rb │ │ ├── keep_if_spec.rb │ │ ├── last_spec.rb │ │ ├── length_spec.rb │ │ ├── map_spec.rb │ │ ├── max_spec.rb │ │ ├── min_spec.rb │ │ ├── minmax_spec.rb │ │ ├── minus_spec.rb │ │ ├── multiply_spec.rb │ │ ├── new_spec.rb │ │ ├── none_spec.rb │ │ ├── one_spec.rb │ │ ├── pack │ │ │ ├── a_spec.rb │ │ │ ├── at_spec.rb │ │ │ ├── b_spec.rb │ │ │ ├── buffer_spec.rb │ │ │ ├── c_spec.rb │ │ │ ├── comment_spec.rb │ │ │ ├── d_spec.rb │ │ │ ├── e_spec.rb │ │ │ ├── empty_spec.rb │ │ │ ├── f_spec.rb │ │ │ ├── g_spec.rb │ │ │ ├── h_spec.rb │ │ │ ├── i_spec.rb │ │ │ ├── j_spec.rb │ │ │ ├── l_spec.rb │ │ │ ├── m_spec.rb │ │ │ ├── n_spec.rb │ │ │ ├── p_spec.rb │ │ │ ├── percent_spec.rb │ │ │ ├── q_spec.rb │ │ │ ├── s_spec.rb │ │ │ ├── shared │ │ │ │ ├── basic.rb │ │ │ │ ├── encodings.rb │ │ │ │ ├── float.rb │ │ │ │ ├── integer.rb │ │ │ │ ├── numeric_basic.rb │ │ │ │ ├── string.rb │ │ │ │ ├── taint.rb │ │ │ │ └── unicode.rb │ │ │ ├── u_spec.rb │ │ │ ├── v_spec.rb │ │ │ ├── w_spec.rb │ │ │ ├── x_spec.rb │ │ │ └── z_spec.rb │ │ ├── partition_spec.rb │ │ ├── permutation_spec.rb │ │ ├── plus_spec.rb │ │ ├── pop_spec.rb │ │ ├── prepend_spec.rb │ │ ├── product_spec.rb │ │ ├── push_spec.rb │ │ ├── rassoc_spec.rb │ │ ├── reject_spec.rb │ │ ├── repeated_combination_spec.rb │ │ ├── repeated_permutation_spec.rb │ │ ├── replace_spec.rb │ │ ├── reverse_each_spec.rb │ │ ├── reverse_spec.rb │ │ ├── rindex_spec.rb │ │ ├── rotate_spec.rb │ │ ├── sample_spec.rb │ │ ├── select_spec.rb │ │ ├── shared │ │ │ ├── clone.rb │ │ │ ├── collect.rb │ │ │ ├── delete_if.rb │ │ │ ├── difference.rb │ │ │ ├── enumeratorize.rb │ │ │ ├── eql.rb │ │ │ ├── index.rb │ │ │ ├── inspect.rb │ │ │ ├── intersection.rb │ │ │ ├── iterable_and_tolerating_size_increasing.rb │ │ │ ├── join.rb │ │ │ ├── keep_if.rb │ │ │ ├── length.rb │ │ │ ├── push.rb │ │ │ ├── replace.rb │ │ │ ├── select.rb │ │ │ ├── slice.rb │ │ │ ├── union.rb │ │ │ └── unshift.rb │ │ ├── shift_spec.rb │ │ ├── shuffle_spec.rb │ │ ├── size_spec.rb │ │ ├── slice_spec.rb │ │ ├── sort_by_spec.rb │ │ ├── sort_spec.rb │ │ ├── sum_spec.rb │ │ ├── take_spec.rb │ │ ├── take_while_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_ary_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_s_spec.rb │ │ ├── transpose_spec.rb │ │ ├── try_convert_spec.rb │ │ ├── union_spec.rb │ │ ├── uniq_spec.rb │ │ ├── unshift_spec.rb │ │ ├── values_at_spec.rb │ │ └── zip_spec.rb │ ├── basicobject │ │ ├── __id__spec.rb │ │ ├── __send___spec.rb │ │ ├── basicobject_spec.rb │ │ ├── equal_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ ├── common.rb │ │ │ └── remove_method_missing.rb │ │ ├── initialize_spec.rb │ │ ├── instance_eval_spec.rb │ │ ├── instance_exec_spec.rb │ │ ├── method_missing_spec.rb │ │ ├── not_equal_spec.rb │ │ └── not_spec.rb │ ├── binding │ │ ├── fixtures │ │ │ └── location.rb │ │ └── source_location_spec.rb │ ├── builtin_constants │ │ └── builtin_constants_spec.rb │ ├── class │ │ ├── allocate_spec.rb │ │ ├── dup_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── initialize_spec.rb │ │ └── superclass_spec.rb │ ├── comparable │ │ ├── between_spec.rb │ │ ├── clamp_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── gt_spec.rb │ │ ├── gte_spec.rb │ │ ├── lt_spec.rb │ │ └── lte_spec.rb │ ├── complex │ │ ├── abs2_spec.rb │ │ ├── abs_spec.rb │ │ ├── angle_spec.rb │ │ ├── arg_spec.rb │ │ ├── coerce_spec.rb │ │ ├── comparison_spec.rb │ │ ├── conj_spec.rb │ │ ├── conjugate_spec.rb │ │ ├── constants_spec.rb │ │ ├── denominator_spec.rb │ │ ├── divide_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exponent_spec.rb │ │ ├── fdiv_spec.rb │ │ ├── finite_spec.rb │ │ ├── hash_spec.rb │ │ ├── imag_spec.rb │ │ ├── imaginary_spec.rb │ │ ├── infinite_spec.rb │ │ ├── inspect_spec.rb │ │ ├── integer_spec.rb │ │ ├── magnitude_spec.rb │ │ ├── marshal_dump_spec.rb │ │ ├── minus_spec.rb │ │ ├── multiply_spec.rb │ │ ├── negative_spec.rb │ │ ├── numerator_spec.rb │ │ ├── phase_spec.rb │ │ ├── plus_spec.rb │ │ ├── polar_spec.rb │ │ ├── positive_spec.rb │ │ ├── quo_spec.rb │ │ ├── rationalize_spec.rb │ │ ├── real_spec.rb │ │ ├── rect_spec.rb │ │ ├── rectangular_spec.rb │ │ ├── shared │ │ │ ├── abs.rb │ │ │ ├── arg.rb │ │ │ ├── conjugate.rb │ │ │ ├── divide.rb │ │ │ ├── image.rb │ │ │ └── rect.rb │ │ ├── to_c_spec.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ └── uminus_spec.rb │ ├── conditionvariable │ │ ├── broadcast_spec.rb │ │ ├── marshal_dump_spec.rb │ │ ├── signal_spec.rb │ │ └── wait_spec.rb │ ├── data │ │ ├── constants_spec.rb │ │ ├── deconstruct_keys_spec.rb │ │ ├── deconstruct_spec.rb │ │ ├── define_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── hash_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── members_spec.rb │ │ ├── shared │ │ │ └── inspect.rb │ │ ├── to_h_spec.rb │ │ ├── to_s_spec.rb │ │ └── with_spec.rb │ ├── dir │ │ ├── chdir_spec.rb │ │ ├── children_spec.rb │ │ ├── close_spec.rb │ │ ├── delete_spec.rb │ │ ├── dir_spec.rb │ │ ├── each_child_spec.rb │ │ ├── each_spec.rb │ │ ├── empty_spec.rb │ │ ├── entries_spec.rb │ │ ├── exist_spec.rb │ │ ├── fileno_spec.rb │ │ ├── fixtures │ │ │ └── common.rb │ │ ├── foreach_spec.rb │ │ ├── getwd_spec.rb │ │ ├── glob_spec.rb │ │ ├── home_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── mkdir_spec.rb │ │ ├── open_spec.rb │ │ ├── path_spec.rb │ │ ├── pos_spec.rb │ │ ├── pwd_spec.rb │ │ ├── rewind_spec.rb │ │ ├── rmdir_spec.rb │ │ ├── seek_spec.rb │ │ ├── shared │ │ │ ├── chroot.rb │ │ │ ├── closed.rb │ │ │ ├── delete.rb │ │ │ ├── exist.rb │ │ │ ├── glob.rb │ │ │ ├── open.rb │ │ │ ├── path.rb │ │ │ ├── pos.rb │ │ │ └── pwd.rb │ │ ├── tell_spec.rb │ │ ├── to_path_spec.rb │ │ └── unlink_spec.rb │ ├── encoding │ │ ├── aliases_spec.rb │ │ ├── ascii_compatible_spec.rb │ │ ├── converter │ │ │ └── constants_spec.rb │ │ ├── default_external_spec.rb │ │ ├── default_internal_spec.rb │ │ ├── find_spec.rb │ │ ├── inspect_spec.rb │ │ ├── list_spec.rb │ │ ├── locale_charmap_spec.rb │ │ ├── name_list_spec.rb │ │ ├── name_spec.rb │ │ ├── names_spec.rb │ │ ├── replicate_spec.rb │ │ ├── shared │ │ │ └── name.rb │ │ └── to_s_spec.rb │ ├── enumerable │ │ ├── all_spec.rb │ │ ├── any_spec.rb │ │ ├── chain_spec.rb │ │ ├── chunk_spec.rb │ │ ├── chunk_while_spec.rb │ │ ├── collect_concat_spec.rb │ │ ├── collect_spec.rb │ │ ├── compact_spec.rb │ │ ├── count_spec.rb │ │ ├── cycle_spec.rb │ │ ├── detect_spec.rb │ │ ├── drop_spec.rb │ │ ├── drop_while_spec.rb │ │ ├── each_cons_spec.rb │ │ ├── each_entry_spec.rb │ │ ├── each_slice_spec.rb │ │ ├── each_with_index_spec.rb │ │ ├── each_with_object_spec.rb │ │ ├── entries_spec.rb │ │ ├── filter_map_spec.rb │ │ ├── filter_spec.rb │ │ ├── find_all_spec.rb │ │ ├── find_index_spec.rb │ │ ├── find_spec.rb │ │ ├── first_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── flat_map_spec.rb │ │ ├── grep_spec.rb │ │ ├── grep_v_spec.rb │ │ ├── group_by_spec.rb │ │ ├── include_spec.rb │ │ ├── inject_spec.rb │ │ ├── lazy_spec.rb │ │ ├── map_spec.rb │ │ ├── max_by_spec.rb │ │ ├── max_spec.rb │ │ ├── member_spec.rb │ │ ├── min_by_spec.rb │ │ ├── min_spec.rb │ │ ├── minmax_by_spec.rb │ │ ├── minmax_spec.rb │ │ ├── none_spec.rb │ │ ├── one_spec.rb │ │ ├── partition_spec.rb │ │ ├── reduce_spec.rb │ │ ├── reject_spec.rb │ │ ├── reverse_each_spec.rb │ │ ├── select_spec.rb │ │ ├── shared │ │ │ ├── collect.rb │ │ │ ├── collect_concat.rb │ │ │ ├── entries.rb │ │ │ ├── enumerable_enumeratorized.rb │ │ │ ├── enumeratorized.rb │ │ │ ├── find.rb │ │ │ ├── find_all.rb │ │ │ ├── include.rb │ │ │ ├── inject.rb │ │ │ └── take.rb │ │ ├── slice_after_spec.rb │ │ ├── slice_before_spec.rb │ │ ├── slice_when_spec.rb │ │ ├── sort_by_spec.rb │ │ ├── sort_spec.rb │ │ ├── sum_spec.rb │ │ ├── take_spec.rb │ │ ├── take_while_spec.rb │ │ ├── tally_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_set_spec.rb │ │ ├── uniq_spec.rb │ │ └── zip_spec.rb │ ├── enumerator │ │ ├── arithmetic_sequence │ │ │ ├── begin_spec.rb │ │ │ ├── each_spec.rb │ │ │ ├── end_spec.rb │ │ │ ├── eq_spec.rb │ │ │ ├── exclude_end_spec.rb │ │ │ ├── first_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── last_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── size_spec.rb │ │ │ └── step_spec.rb │ │ ├── chain │ │ │ ├── each_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ └── size_spec.rb │ │ ├── each_spec.rb │ │ ├── each_with_index_spec.rb │ │ ├── each_with_object_spec.rb │ │ ├── enum_for_spec.rb │ │ ├── enumerator_spec.rb │ │ ├── feed_spec.rb │ │ ├── first_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── common.rb │ │ ├── lazy │ │ │ ├── chunk_spec.rb │ │ │ ├── chunk_while_spec.rb │ │ │ ├── collect_concat_spec.rb │ │ │ ├── collect_spec.rb │ │ │ ├── compact_spec.rb │ │ │ ├── drop_spec.rb │ │ │ ├── drop_while_spec.rb │ │ │ ├── eager_spec.rb │ │ │ ├── enum_for_spec.rb │ │ │ ├── filter_map_spec.rb │ │ │ ├── filter_spec.rb │ │ │ ├── find_all_spec.rb │ │ │ ├── fixtures │ │ │ │ └── classes.rb │ │ │ ├── flat_map_spec.rb │ │ │ ├── grep_spec.rb │ │ │ ├── grep_v_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── lazy_spec.rb │ │ │ ├── map_spec.rb │ │ │ ├── reject_spec.rb │ │ │ ├── select_spec.rb │ │ │ ├── shared │ │ │ │ ├── collect.rb │ │ │ │ ├── collect_concat.rb │ │ │ │ ├── select.rb │ │ │ │ └── to_enum.rb │ │ │ ├── slice_after_spec.rb │ │ │ ├── slice_before_spec.rb │ │ │ ├── slice_when_spec.rb │ │ │ ├── take_spec.rb │ │ │ ├── take_while_spec.rb │ │ │ ├── to_enum_spec.rb │ │ │ ├── uniq_spec.rb │ │ │ ├── with_index_spec.rb │ │ │ └── zip_spec.rb │ │ ├── new_spec.rb │ │ ├── next_spec.rb │ │ ├── next_values_spec.rb │ │ ├── peek_spec.rb │ │ ├── plus_spec.rb │ │ ├── produce_spec.rb │ │ ├── rewind_spec.rb │ │ ├── shared │ │ │ ├── enum_for.rb │ │ │ ├── with_index.rb │ │ │ └── with_object.rb │ │ ├── size_spec.rb │ │ ├── to_enum_spec.rb │ │ ├── with_index_spec.rb │ │ ├── with_object_spec.rb │ │ └── yielder │ │ │ ├── initialize_spec.rb │ │ │ └── to_proc_spec.rb │ ├── env │ │ ├── assoc_spec.rb │ │ ├── clear_spec.rb │ │ ├── clone_spec.rb │ │ ├── delete_if_spec.rb │ │ ├── delete_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_key_spec.rb │ │ ├── each_pair_spec.rb │ │ ├── each_spec.rb │ │ ├── each_value_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── empty_spec.rb │ │ ├── except_spec.rb │ │ ├── fetch_spec.rb │ │ ├── filter_spec.rb │ │ ├── fixtures │ │ │ └── common.rb │ │ ├── has_key_spec.rb │ │ ├── has_value_spec.rb │ │ ├── include_spec.rb │ │ ├── inspect_spec.rb │ │ ├── invert_spec.rb │ │ ├── keep_if_spec.rb │ │ ├── key_spec.rb │ │ ├── keys_spec.rb │ │ ├── length_spec.rb │ │ ├── member_spec.rb │ │ ├── merge_spec.rb │ │ ├── rassoc_spec.rb │ │ ├── rehash_spec.rb │ │ ├── reject_spec.rb │ │ ├── replace_spec.rb │ │ ├── select_spec.rb │ │ ├── shared │ │ │ ├── each.rb │ │ │ ├── include.rb │ │ │ ├── length.rb │ │ │ ├── select.rb │ │ │ ├── store.rb │ │ │ ├── to_hash.rb │ │ │ ├── update.rb │ │ │ └── value.rb │ │ ├── shift_spec.rb │ │ ├── size_spec.rb │ │ ├── slice_spec.rb │ │ ├── spec_helper.rb │ │ ├── store_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_hash_spec.rb │ │ ├── to_s_spec.rb │ │ ├── update_spec.rb │ │ ├── value_spec.rb │ │ ├── values_at_spec.rb │ │ └── values_spec.rb │ ├── exception │ │ ├── backtrace_locations_spec.rb │ │ ├── backtrace_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── cause_spec.rb │ │ ├── detailed_message_spec.rb │ │ ├── dup_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── errno_spec.rb │ │ ├── exception_spec.rb │ │ ├── exit_value_spec.rb │ │ ├── fixtures │ │ │ └── common.rb │ │ ├── frozen_error_spec.rb │ │ ├── hierarchy_spec.rb │ │ ├── inspect_spec.rb │ │ ├── io_error_spec.rb │ │ ├── key_error_spec.rb │ │ ├── message_spec.rb │ │ ├── name_error_spec.rb │ │ ├── new_spec.rb │ │ ├── result_spec.rb │ │ ├── set_backtrace_spec.rb │ │ ├── shared │ │ │ └── new.rb │ │ ├── signal_exception_spec.rb │ │ ├── signm_spec.rb │ │ ├── signo_spec.rb │ │ ├── standard_error_spec.rb │ │ ├── status_spec.rb │ │ ├── success_spec.rb │ │ ├── system_exit_spec.rb │ │ ├── to_s_spec.rb │ │ └── uncaught_throw_error_spec.rb │ ├── false │ │ ├── and_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── dup_spec.rb │ │ ├── falseclass_spec.rb │ │ ├── inspect_spec.rb │ │ ├── or_spec.rb │ │ ├── singleton_method_spec.rb │ │ ├── to_s_spec.rb │ │ └── xor_spec.rb │ ├── fiber │ │ ├── alive_spec.rb │ │ ├── blocking_spec.rb │ │ ├── current_spec.rb │ │ ├── inspect_spec.rb │ │ ├── new_spec.rb │ │ ├── resume_spec.rb │ │ ├── shared │ │ │ ├── blocking.rb │ │ │ └── resume.rb │ │ ├── storage_spec.rb │ │ └── yield_spec.rb │ ├── file │ │ ├── absolute_path_spec.rb │ │ ├── atime_spec.rb │ │ ├── basename_spec.rb │ │ ├── blockdev_spec.rb │ │ ├── chardev_spec.rb │ │ ├── chmod_spec.rb │ │ ├── chown_spec.rb │ │ ├── constants │ │ │ └── constants_spec.rb │ │ ├── constants_spec.rb │ │ ├── ctime_spec.rb │ │ ├── delete_spec.rb │ │ ├── directory_spec.rb │ │ ├── dirname_spec.rb │ │ ├── empty_spec.rb │ │ ├── executable_real_spec.rb │ │ ├── executable_spec.rb │ │ ├── exist_spec.rb │ │ ├── expand_path_spec.rb │ │ ├── extname_spec.rb │ │ ├── file_spec.rb │ │ ├── fixtures │ │ │ ├── common.rb │ │ │ ├── do_not_remove │ │ │ └── file_types.rb │ │ ├── flock_spec.rb │ │ ├── fnmatch_spec.rb │ │ ├── ftype_spec.rb │ │ ├── grpowned_spec.rb │ │ ├── identical_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── link_spec.rb │ │ ├── lstat_spec.rb │ │ ├── lutime_spec.rb │ │ ├── mkfifo_spec.rb │ │ ├── mtime_spec.rb │ │ ├── new_spec.rb │ │ ├── null_spec.rb │ │ ├── open_spec.rb │ │ ├── owned_spec.rb │ │ ├── path_spec.rb │ │ ├── pipe_spec.rb │ │ ├── printf_spec.rb │ │ ├── read_spec.rb │ │ ├── readable_real_spec.rb │ │ ├── readable_spec.rb │ │ ├── readlink_spec.rb │ │ ├── realpath_spec.rb │ │ ├── rename_spec.rb │ │ ├── setgid_spec.rb │ │ ├── setuid_spec.rb │ │ ├── shared │ │ │ ├── fnmatch.rb │ │ │ ├── open.rb │ │ │ ├── path.rb │ │ │ ├── read.rb │ │ │ ├── stat.rb │ │ │ ├── unlink.rb │ │ │ └── update_time.rb │ │ ├── size_spec.rb │ │ ├── socket_spec.rb │ │ ├── split_spec.rb │ │ ├── stat │ │ │ ├── atime_spec.rb │ │ │ ├── birthtime_spec.rb │ │ │ ├── blksize_spec.rb │ │ │ ├── blockdev_spec.rb │ │ │ ├── blocks_spec.rb │ │ │ ├── chardev_spec.rb │ │ │ ├── comparison_spec.rb │ │ │ ├── ctime_spec.rb │ │ │ ├── dev_major_spec.rb │ │ │ ├── dev_minor_spec.rb │ │ │ ├── dev_spec.rb │ │ │ ├── directory_spec.rb │ │ │ ├── file_spec.rb │ │ │ ├── fixtures │ │ │ │ └── classes.rb │ │ │ ├── ftype_spec.rb │ │ │ ├── gid_spec.rb │ │ │ ├── ino_spec.rb │ │ │ ├── mode_spec.rb │ │ │ ├── mtime_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── nlink_spec.rb │ │ │ ├── owned_spec.rb │ │ │ ├── pipe_spec.rb │ │ │ ├── rdev_major_spec.rb │ │ │ ├── rdev_minor_spec.rb │ │ │ ├── rdev_spec.rb │ │ │ ├── setgid_spec.rb │ │ │ ├── setuid_spec.rb │ │ │ ├── size_spec.rb │ │ │ ├── socket_spec.rb │ │ │ ├── sticky_spec.rb │ │ │ ├── symlink_spec.rb │ │ │ ├── uid_spec.rb │ │ │ ├── world_readable_spec.rb │ │ │ ├── world_writable_spec.rb │ │ │ └── zero_spec.rb │ │ ├── stat_spec.rb │ │ ├── sticky_spec.rb │ │ ├── symlink_spec.rb │ │ ├── to_path_spec.rb │ │ ├── umask_spec.rb │ │ ├── unlink_spec.rb │ │ ├── utime_spec.rb │ │ ├── world_readable_spec.rb │ │ ├── world_writable_spec.rb │ │ ├── writable_real_spec.rb │ │ ├── writable_spec.rb │ │ └── zero_spec.rb │ ├── filetest │ │ ├── blockdev_spec.rb │ │ ├── chardev_spec.rb │ │ ├── directory_spec.rb │ │ ├── executable_real_spec.rb │ │ ├── executable_spec.rb │ │ ├── exist_spec.rb │ │ ├── file_spec.rb │ │ ├── grpowned_spec.rb │ │ ├── identical_spec.rb │ │ ├── owned_spec.rb │ │ ├── pipe_spec.rb │ │ ├── readable_real_spec.rb │ │ ├── readable_spec.rb │ │ ├── setgid_spec.rb │ │ ├── setuid_spec.rb │ │ ├── size_spec.rb │ │ ├── socket_spec.rb │ │ ├── sticky_spec.rb │ │ ├── symlink_spec.rb │ │ ├── world_readable_spec.rb │ │ ├── world_writable_spec.rb │ │ ├── writable_real_spec.rb │ │ ├── writable_spec.rb │ │ └── zero_spec.rb │ ├── float │ │ ├── abs_spec.rb │ │ ├── angle_spec.rb │ │ ├── arg_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── ceil_spec.rb │ │ ├── coerce_spec.rb │ │ ├── comparison_spec.rb │ │ ├── constants_spec.rb │ │ ├── denominator_spec.rb │ │ ├── divide_spec.rb │ │ ├── divmod_spec.rb │ │ ├── dup_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exponent_spec.rb │ │ ├── fdiv_spec.rb │ │ ├── finite_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── coerce.rb │ │ ├── float_spec.rb │ │ ├── floor_spec.rb │ │ ├── gt_spec.rb │ │ ├── gte_spec.rb │ │ ├── hash_spec.rb │ │ ├── infinite_spec.rb │ │ ├── inspect_spec.rb │ │ ├── lt_spec.rb │ │ ├── lte_spec.rb │ │ ├── magnitude_spec.rb │ │ ├── minus_spec.rb │ │ ├── modulo_spec.rb │ │ ├── multiply_spec.rb │ │ ├── nan_spec.rb │ │ ├── negative_spec.rb │ │ ├── next_float_spec.rb │ │ ├── numerator_spec.rb │ │ ├── phase_spec.rb │ │ ├── plus_spec.rb │ │ ├── positive_spec.rb │ │ ├── prev_float_spec.rb │ │ ├── quo_spec.rb │ │ ├── round_spec.rb │ │ ├── shared │ │ │ ├── abs.rb │ │ │ ├── arg.rb │ │ │ ├── arithmetic_exception_in_coerce.rb │ │ │ ├── comparison_exception_in_coerce.rb │ │ │ ├── equal.rb │ │ │ ├── modulo.rb │ │ │ ├── quo.rb │ │ │ ├── to_i.rb │ │ │ └── to_s.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_int_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ ├── truncate_spec.rb │ │ ├── uminus_spec.rb │ │ ├── uplus_spec.rb │ │ └── zero_spec.rb │ ├── gc │ │ ├── disable_spec.rb │ │ ├── enable_spec.rb │ │ ├── garbage_collect_spec.rb │ │ └── start_spec.rb │ ├── hash │ │ ├── allocate_spec.rb │ │ ├── any_spec.rb │ │ ├── assoc_spec.rb │ │ ├── clear_spec.rb │ │ ├── clone_spec.rb │ │ ├── compact_spec.rb │ │ ├── compare_by_identity_spec.rb │ │ ├── constructor_spec.rb │ │ ├── deconstruct_keys_spec.rb │ │ ├── default_proc_spec.rb │ │ ├── default_spec.rb │ │ ├── delete_if_spec.rb │ │ ├── delete_spec.rb │ │ ├── dig_spec.rb │ │ ├── each_key_spec.rb │ │ ├── each_pair_spec.rb │ │ ├── each_spec.rb │ │ ├── each_value_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── empty_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── except_spec.rb │ │ ├── fetch_spec.rb │ │ ├── fetch_values_spec.rb │ │ ├── filter_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── name.rb │ │ ├── flatten_spec.rb │ │ ├── gt_spec.rb │ │ ├── gte_spec.rb │ │ ├── has_key_spec.rb │ │ ├── has_value_spec.rb │ │ ├── hash_spec.rb │ │ ├── include_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── invert_spec.rb │ │ ├── keep_if_spec.rb │ │ ├── key_spec.rb │ │ ├── keys_spec.rb │ │ ├── length_spec.rb │ │ ├── lt_spec.rb │ │ ├── lte_spec.rb │ │ ├── member_spec.rb │ │ ├── merge_spec.rb │ │ ├── new_spec.rb │ │ ├── rassoc_spec.rb │ │ ├── rehash_spec.rb │ │ ├── reject_spec.rb │ │ ├── replace_spec.rb │ │ ├── ruby2_keywords_hash_spec.rb │ │ ├── select_spec.rb │ │ ├── shared │ │ │ ├── comparison.rb │ │ │ ├── each.rb │ │ │ ├── eql.rb │ │ │ ├── greater_than.rb │ │ │ ├── index.rb │ │ │ ├── iteration.rb │ │ │ ├── key.rb │ │ │ ├── length.rb │ │ │ ├── less_than.rb │ │ │ ├── select.rb │ │ │ ├── store.rb │ │ │ ├── to_s.rb │ │ │ ├── update.rb │ │ │ ├── value.rb │ │ │ └── values_at.rb │ │ ├── shift_spec.rb │ │ ├── size_spec.rb │ │ ├── slice_spec.rb │ │ ├── sort_spec.rb │ │ ├── store_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_hash_spec.rb │ │ ├── to_proc_spec.rb │ │ ├── to_s_spec.rb │ │ ├── transform_keys_spec.rb │ │ ├── transform_values_spec.rb │ │ ├── try_convert_spec.rb │ │ ├── update_spec.rb │ │ ├── value_spec.rb │ │ ├── values_at_spec.rb │ │ └── values_spec.rb │ ├── integer │ │ ├── abs_spec.rb │ │ ├── allbits_spec.rb │ │ ├── anybits_spec.rb │ │ ├── bit_and_spec.rb │ │ ├── bit_length_spec.rb │ │ ├── bit_or_spec.rb │ │ ├── bit_xor_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── ceil_spec.rb │ │ ├── ceildiv_spec.rb │ │ ├── chr_spec.rb │ │ ├── coerce_spec.rb │ │ ├── comparison_spec.rb │ │ ├── complement_spec.rb │ │ ├── constants_spec.rb │ │ ├── denominator_spec.rb │ │ ├── digits_spec.rb │ │ ├── div_spec.rb │ │ ├── divide_spec.rb │ │ ├── divmod_spec.rb │ │ ├── downto_spec.rb │ │ ├── dup_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── even_spec.rb │ │ ├── exponent_spec.rb │ │ ├── fdiv_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── floor_spec.rb │ │ ├── gcd_spec.rb │ │ ├── gcdlcm_spec.rb │ │ ├── gt_spec.rb │ │ ├── gte_spec.rb │ │ ├── integer_spec.rb │ │ ├── lcm_spec.rb │ │ ├── left_shift_spec.rb │ │ ├── lt_spec.rb │ │ ├── lte_spec.rb │ │ ├── magnitude_spec.rb │ │ ├── minus_spec.rb │ │ ├── modulo_spec.rb │ │ ├── multiply_spec.rb │ │ ├── next_spec.rb │ │ ├── nobits_spec.rb │ │ ├── numerator_spec.rb │ │ ├── odd_spec.rb │ │ ├── ord_spec.rb │ │ ├── plus_spec.rb │ │ ├── pow_spec.rb │ │ ├── pred_spec.rb │ │ ├── rationalize_spec.rb │ │ ├── remainder_spec.rb │ │ ├── right_shift_spec.rb │ │ ├── round_spec.rb │ │ ├── shared │ │ │ ├── abs.rb │ │ │ ├── arithmetic_coerce.rb │ │ │ ├── comparison_coerce.rb │ │ │ ├── equal.rb │ │ │ ├── exponent.rb │ │ │ ├── integer_ceil_precision.rb │ │ │ ├── integer_floor_precision.rb │ │ │ ├── integer_rounding.rb │ │ │ ├── modulo.rb │ │ │ ├── next.rb │ │ │ └── to_i.rb │ │ ├── size_spec.rb │ │ ├── sqrt_spec.rb │ │ ├── succ_spec.rb │ │ ├── times_spec.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_int_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ ├── truncate_spec.rb │ │ ├── try_convert_spec.rb │ │ ├── uminus_spec.rb │ │ ├── upto_spec.rb │ │ └── zero_spec.rb │ ├── io │ │ ├── advise_spec.rb │ │ ├── autoclose_spec.rb │ │ ├── binmode_spec.rb │ │ ├── binread_spec.rb │ │ ├── binwrite_spec.rb │ │ ├── close_on_exec_spec.rb │ │ ├── close_spec.rb │ │ ├── closed_spec.rb │ │ ├── constants_spec.rb │ │ ├── copy_stream_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_byte_spec.rb │ │ ├── each_line_spec.rb │ │ ├── each_spec.rb │ │ ├── eof_spec.rb │ │ ├── external_encoding_spec.rb │ │ ├── fcntl_spec.rb │ │ ├── fdatasync_spec.rb │ │ ├── fileno_spec.rb │ │ ├── fixtures │ │ │ ├── bom_UTF-16BE.txt │ │ │ ├── bom_UTF-16LE.txt │ │ │ ├── bom_UTF-32BE.txt │ │ │ ├── bom_UTF-32LE.txt │ │ │ ├── bom_UTF-8.txt │ │ │ ├── classes.rb │ │ │ ├── copy_stream.txt │ │ │ ├── empty.txt │ │ │ ├── lines.txt │ │ │ ├── no_bom_UTF-8.txt │ │ │ ├── one_byte.txt │ │ │ ├── read_binary.txt │ │ │ ├── read_euc_jp.txt │ │ │ └── read_text.txt │ │ ├── for_fd_spec.rb │ │ ├── foreach_spec.rb │ │ ├── fsync_spec.rb │ │ ├── getbyte_spec.rb │ │ ├── getc_spec.rb │ │ ├── gets_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── internal_encoding_spec.rb │ │ ├── io_spec.rb │ │ ├── isatty_spec.rb │ │ ├── lineno_spec.rb │ │ ├── new_spec.rb │ │ ├── nonblock_spec.rb │ │ ├── open_spec.rb │ │ ├── output_spec.rb │ │ ├── path_spec.rb │ │ ├── pid_spec.rb │ │ ├── pipe_spec.rb │ │ ├── popen_spec.rb │ │ ├── pos_spec.rb │ │ ├── pread_spec.rb │ │ ├── print_spec.rb │ │ ├── printf_spec.rb │ │ ├── putc_spec.rb │ │ ├── puts_spec.rb │ │ ├── pwrite_spec.rb │ │ ├── read_spec.rb │ │ ├── readbyte_spec.rb │ │ ├── readline_spec.rb │ │ ├── readlines_spec.rb │ │ ├── rewind_spec.rb │ │ ├── seek_spec.rb │ │ ├── select_spec.rb │ │ ├── set_encoding_spec.rb │ │ ├── shared │ │ │ ├── binwrite.rb │ │ │ ├── each.rb │ │ │ ├── gets_ascii.rb │ │ │ ├── new.rb │ │ │ ├── pos.rb │ │ │ ├── readlines.rb │ │ │ ├── tty.rb │ │ │ └── write.rb │ │ ├── stat_spec.rb │ │ ├── sync_spec.rb │ │ ├── sysopen_spec.rb │ │ ├── sysread_spec.rb │ │ ├── sysseek_spec.rb │ │ ├── syswrite_spec.rb │ │ ├── tell_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_io_spec.rb │ │ ├── try_convert_spec.rb │ │ ├── tty_spec.rb │ │ ├── ungetbyte_spec.rb │ │ ├── ungetc_spec.rb │ │ ├── write_nonblock_spec.rb │ │ └── write_spec.rb │ ├── kernel │ │ ├── Array_spec.rb │ │ ├── Complex_spec.rb │ │ ├── Float_spec.rb │ │ ├── Hash_spec.rb │ │ ├── Integer_spec.rb │ │ ├── Rational_spec.rb │ │ ├── String_spec.rb │ │ ├── __callee___spec.rb │ │ ├── __method___spec.rb │ │ ├── abort_spec.rb │ │ ├── at_exit_spec.rb │ │ ├── backtick_spec.rb │ │ ├── caller_locations_spec.rb │ │ ├── caller_spec.rb │ │ ├── catch_spec.rb │ │ ├── class_spec.rb │ │ ├── clone_spec.rb │ │ ├── comparison_spec.rb │ │ ├── dup_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exit_spec.rb │ │ ├── extend_spec.rb │ │ ├── fail_spec.rb │ │ ├── fixtures │ │ │ ├── Complex.rb │ │ │ ├── __callee__.rb │ │ │ ├── __dir__.rb │ │ │ ├── __method__.rb │ │ │ ├── autoload_b.rb │ │ │ ├── autoload_d.rb │ │ │ ├── autoload_from_included_module.rb │ │ │ ├── autoload_from_included_module2.rb │ │ │ ├── autoload_frozen.rb │ │ │ ├── caller.rb │ │ │ ├── caller_at_exit.rb │ │ │ ├── caller_locations.rb │ │ │ ├── chomp.rb │ │ │ ├── chomp_f.rb │ │ │ ├── chop.rb │ │ │ ├── chop_f.rb │ │ │ ├── classes.rb │ │ │ ├── eval_locals.rb │ │ │ ├── eval_return_with_lambda.rb │ │ │ ├── eval_return_without_lambda.rb │ │ │ ├── singleton_methods.rb │ │ │ ├── test.rb │ │ │ ├── warn_core_method.rb │ │ │ ├── warn_require.rb │ │ │ └── warn_require_caller.rb │ │ ├── fork_spec.rb │ │ ├── format_spec.rb │ │ ├── freeze_spec.rb │ │ ├── frozen_spec.rb │ │ ├── global_variables_spec.rb │ │ ├── initialize_clone_spec.rb │ │ ├── initialize_copy_spec.rb │ │ ├── initialize_dup_spec.rb │ │ ├── inspect_spec.rb │ │ ├── instance_of_spec.rb │ │ ├── instance_variable_defined_spec.rb │ │ ├── instance_variable_get_spec.rb │ │ ├── instance_variable_set_spec.rb │ │ ├── is_a_spec.rb │ │ ├── itself_spec.rb │ │ ├── kind_of_spec.rb │ │ ├── loop_spec.rb │ │ ├── match_spec.rb │ │ ├── method_spec.rb │ │ ├── methods_spec.rb │ │ ├── nil_spec.rb │ │ ├── not_match_spec.rb │ │ ├── object_id_spec.rb │ │ ├── open_spec.rb │ │ ├── p_spec.rb │ │ ├── print_spec.rb │ │ ├── printf_spec.rb │ │ ├── private_methods_spec.rb │ │ ├── protected_methods_spec.rb │ │ ├── public_methods_spec.rb │ │ ├── public_send_spec.rb │ │ ├── putc_spec.rb │ │ ├── puts_spec.rb │ │ ├── raise_spec.rb │ │ ├── rand_spec.rb │ │ ├── remove_instance_variable_spec.rb │ │ ├── respond_to_missing_spec.rb │ │ ├── respond_to_spec.rb │ │ ├── select_spec.rb │ │ ├── send_spec.rb │ │ ├── shared │ │ │ ├── dup_clone.rb │ │ │ ├── kind_of.rb │ │ │ ├── method.rb │ │ │ ├── sprintf.rb │ │ │ ├── sprintf_encoding.rb │ │ │ └── then.rb │ │ ├── singleton_class_spec.rb │ │ ├── sleep_spec.rb │ │ ├── spawn_spec.rb │ │ ├── sprintf_spec.rb │ │ ├── srand_spec.rb │ │ ├── system_spec.rb │ │ ├── taint_spec.rb │ │ ├── tainted_spec.rb │ │ ├── tap_spec.rb │ │ ├── test_spec.rb │ │ ├── then_spec.rb │ │ ├── throw_spec.rb │ │ ├── to_s_spec.rb │ │ ├── trust_spec.rb │ │ ├── untaint_spec.rb │ │ ├── untrust_spec.rb │ │ ├── untrusted_spec.rb │ │ ├── warn_spec.rb │ │ └── yield_self_spec.rb │ ├── main │ │ └── to_s_spec.rb │ ├── marshal │ │ ├── dump_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ ├── marshal_data.rb │ │ │ └── marshal_multibyte_data.rb │ │ ├── float_spec.rb │ │ ├── load_spec.rb │ │ ├── major_version_spec.rb │ │ ├── minor_version_spec.rb │ │ ├── restore_spec.rb │ │ └── shared │ │ │ └── load.rb │ ├── matchdata │ │ ├── allocate_spec.rb │ │ ├── begin_spec.rb │ │ ├── byteoffset_spec.rb │ │ ├── captures_spec.rb │ │ ├── deconstruct_keys_spec.rb │ │ ├── deconstruct_spec.rb │ │ ├── dup_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── end_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── hash_spec.rb │ │ ├── inspect_spec.rb │ │ ├── length_spec.rb │ │ ├── match_length_spec.rb │ │ ├── match_spec.rb │ │ ├── named_captures_spec.rb │ │ ├── names_spec.rb │ │ ├── offset_spec.rb │ │ ├── post_match_spec.rb │ │ ├── pre_match_spec.rb │ │ ├── regexp_spec.rb │ │ ├── shared │ │ │ ├── captures.rb │ │ │ ├── eql.rb │ │ │ └── length.rb │ │ ├── size_spec.rb │ │ ├── string_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_s_spec.rb │ │ └── values_at_spec.rb │ ├── math │ │ ├── acos_spec.rb │ │ ├── acosh_spec.rb │ │ ├── asin_spec.rb │ │ ├── asinh_spec.rb │ │ ├── atan2_spec.rb │ │ ├── atan_spec.rb │ │ ├── atanh_spec.rb │ │ ├── cbrt_spec.rb │ │ ├── constants_spec.rb │ │ ├── cos_spec.rb │ │ ├── cosh_spec.rb │ │ ├── erf_spec.rb │ │ ├── erfc_spec.rb │ │ ├── exp_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── common.rb │ │ ├── frexp_spec.rb │ │ ├── gamma_spec.rb │ │ ├── hypot_spec.rb │ │ ├── ldexp_spec.rb │ │ ├── lgamma_spec.rb │ │ ├── log10_spec.rb │ │ ├── log2_spec.rb │ │ ├── log_spec.rb │ │ ├── shared │ │ │ └── atanh.rb │ │ ├── sin_spec.rb │ │ ├── sinh_spec.rb │ │ ├── sqrt_spec.rb │ │ ├── tan_spec.rb │ │ └── tanh_spec.rb │ ├── method │ │ ├── arity_spec.rb │ │ ├── call_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── compose_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── hash_spec.rb │ │ ├── private_spec.rb │ │ ├── protected_spec.rb │ │ ├── public_spec.rb │ │ ├── shared │ │ │ └── call.rb │ │ ├── source_location_spec.rb │ │ └── unbind_spec.rb │ ├── module │ │ ├── alias_method_spec.rb │ │ ├── attr_accessor_spec.rb │ │ ├── attr_reader_spec.rb │ │ ├── attr_spec.rb │ │ ├── attr_writer_spec.rb │ │ ├── class_exec_spec.rb │ │ ├── class_variable_defined_spec.rb │ │ ├── class_variable_get_spec.rb │ │ ├── class_variable_set_spec.rb │ │ ├── class_variables_spec.rb │ │ ├── const_defined_spec.rb │ │ ├── const_get_spec.rb │ │ ├── const_missing_spec.rb │ │ ├── deprecate_constant_spec.rb │ │ ├── fixtures │ │ │ ├── autoload_abc.rb │ │ │ ├── autoload_empty.rb │ │ │ ├── classes.rb │ │ │ ├── constant_unicode.rb │ │ │ ├── constants_autoload.rb │ │ │ ├── constants_autoload_a.rb │ │ │ ├── constants_autoload_b.rb │ │ │ ├── constants_autoload_c.rb │ │ │ └── constants_autoload_d.rb │ │ ├── included_modules_spec.rb │ │ ├── instance_method_spec.rb │ │ ├── module_exec_spec.rb │ │ ├── module_function_spec.rb │ │ ├── new_spec.rb │ │ ├── private_class_method_spec.rb │ │ ├── private_constant_spec.rb │ │ ├── public_class_method_spec.rb │ │ ├── public_constant_spec.rb │ │ ├── public_instance_method_spec.rb │ │ ├── remove_class_variable_spec.rb │ │ ├── remove_const_spec.rb │ │ ├── ruby2_keywords_spec.rb │ │ ├── shared │ │ │ ├── attr_added.rb │ │ │ └── class_exec.rb │ │ └── singleton_class_spec.rb │ ├── mutex │ │ ├── lock_spec.rb │ │ ├── locked_spec.rb │ │ ├── owned_spec.rb │ │ ├── sleep_spec.rb │ │ ├── synchronize_spec.rb │ │ ├── try_lock_spec.rb │ │ └── unlock_spec.rb │ ├── nil │ │ ├── and_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── dup_spec.rb │ │ ├── inspect_spec.rb │ │ ├── match_spec.rb │ │ ├── nil_spec.rb │ │ ├── nilclass_spec.rb │ │ ├── or_spec.rb │ │ ├── rationalize_spec.rb │ │ ├── singleton_method_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_c_spec.rb │ │ ├── to_f_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ └── xor_spec.rb │ ├── numeric │ │ ├── abs2_spec.rb │ │ ├── abs_spec.rb │ │ ├── angle_spec.rb │ │ ├── arg_spec.rb │ │ ├── ceil_spec.rb │ │ ├── clone_spec.rb │ │ ├── coerce_spec.rb │ │ ├── comparison_spec.rb │ │ ├── conj_spec.rb │ │ ├── conjugate_spec.rb │ │ ├── denominator_spec.rb │ │ ├── div_spec.rb │ │ ├── divmod_spec.rb │ │ ├── dup_spec.rb │ │ ├── eql_spec.rb │ │ ├── fdiv_spec.rb │ │ ├── finite_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── floor_spec.rb │ │ ├── i_spec.rb │ │ ├── imag_spec.rb │ │ ├── imaginary_spec.rb │ │ ├── infinite_spec.rb │ │ ├── integer_spec.rb │ │ ├── magnitude_spec.rb │ │ ├── modulo_spec.rb │ │ ├── negative_spec.rb │ │ ├── nonzero_spec.rb │ │ ├── numerator_spec.rb │ │ ├── numeric_spec.rb │ │ ├── phase_spec.rb │ │ ├── polar_spec.rb │ │ ├── positive_spec.rb │ │ ├── quo_spec.rb │ │ ├── real_spec.rb │ │ ├── rect_spec.rb │ │ ├── rectangular_spec.rb │ │ ├── remainder_spec.rb │ │ ├── round_spec.rb │ │ ├── shared │ │ │ ├── abs.rb │ │ │ ├── arg.rb │ │ │ ├── conj.rb │ │ │ ├── imag.rb │ │ │ ├── rect.rb │ │ │ └── step.rb │ │ ├── step_spec.rb │ │ ├── to_c_spec.rb │ │ ├── to_int_spec.rb │ │ ├── truncate_spec.rb │ │ ├── uminus_spec.rb │ │ ├── uplus_spec.rb │ │ └── zero_spec.rb │ ├── proc │ │ ├── allocate_spec.rb │ │ ├── binding_spec.rb │ │ ├── call_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── clone_spec.rb │ │ ├── compose_spec.rb │ │ ├── dup_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ ├── common.rb │ │ │ ├── proc_aref.rb │ │ │ ├── proc_aref_frozen.rb │ │ │ └── source_location.rb │ │ ├── inspect_spec.rb │ │ ├── ruby2_keywords_spec.rb │ │ ├── shared │ │ │ ├── call.rb │ │ │ ├── call_arguments.rb │ │ │ ├── compose.rb │ │ │ ├── dup.rb │ │ │ ├── equal.rb │ │ │ └── to_s.rb │ │ ├── source_location_spec.rb │ │ ├── to_proc_spec.rb │ │ ├── to_s_spec.rb │ │ └── yield_spec.rb │ ├── process │ │ ├── abort_spec.rb │ │ ├── clock_gettime_spec.rb │ │ ├── constants_spec.rb │ │ ├── egid_spec.rb │ │ ├── euid_spec.rb │ │ ├── exit_spec.rb │ │ ├── fixtures │ │ │ ├── clocks.rb │ │ │ ├── common.rb │ │ │ ├── in.txt │ │ │ └── kill.rb │ │ ├── fork_spec.rb │ │ ├── getpgid_spec.rb │ │ ├── getpriority_spec.rb │ │ ├── getrlimit_spec.rb │ │ ├── gid_spec.rb │ │ ├── groups_spec.rb │ │ ├── kill_spec.rb │ │ ├── maxgroups_spec.rb │ │ ├── pid_spec.rb │ │ ├── ppid_spec.rb │ │ ├── setpgrp_spec.rb │ │ ├── setsid_spec.rb │ │ ├── spawn_spec.rb │ │ ├── status │ │ │ ├── equal_value_spec.rb │ │ │ ├── exited_spec.rb │ │ │ ├── signaled_spec.rb │ │ │ ├── success_spec.rb │ │ │ ├── termsig_spec.rb │ │ │ └── to_i_spec.rb │ │ ├── times_spec.rb │ │ ├── tms │ │ │ ├── cstime_spec.rb │ │ │ ├── cutime_spec.rb │ │ │ ├── stime_spec.rb │ │ │ └── utime_spec.rb │ │ ├── uid_spec.rb │ │ ├── wait2_spec.rb │ │ ├── waitpid_spec.rb │ │ └── warmup_spec.rb │ ├── queue │ │ ├── append_spec.rb │ │ ├── clear_spec.rb │ │ ├── close_spec.rb │ │ ├── closed_spec.rb │ │ ├── deq_spec.rb │ │ ├── empty_spec.rb │ │ ├── enq_spec.rb │ │ ├── freeze_spec.rb │ │ ├── initialize_spec.rb │ │ ├── length_spec.rb │ │ ├── num_waiting_spec.rb │ │ ├── pop_spec.rb │ │ ├── push_spec.rb │ │ ├── shift_spec.rb │ │ └── size_spec.rb │ ├── random │ │ ├── bytes_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── new_seed_spec.rb │ │ ├── new_spec.rb │ │ ├── rand_spec.rb │ │ ├── random_number_spec.rb │ │ ├── seed_spec.rb │ │ ├── shared │ │ │ ├── bytes.rb │ │ │ └── rand.rb │ │ ├── srand_spec.rb │ │ └── urandom_spec.rb │ ├── range │ │ ├── begin_spec.rb │ │ ├── bsearch_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── clone_spec.rb │ │ ├── count_spec.rb │ │ ├── cover_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_spec.rb │ │ ├── end_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exclude_end_spec.rb │ │ ├── first_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── frozen_spec.rb │ │ ├── hash_spec.rb │ │ ├── include_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── last_spec.rb │ │ ├── max_spec.rb │ │ ├── member_spec.rb │ │ ├── min_spec.rb │ │ ├── minmax_spec.rb │ │ ├── new_spec.rb │ │ ├── overlap_spec.rb │ │ ├── percent_spec.rb │ │ ├── range_spec.rb │ │ ├── reverse_each_spec.rb │ │ ├── shared │ │ │ ├── begin.rb │ │ │ ├── cover.rb │ │ │ ├── cover_and_include.rb │ │ │ ├── end.rb │ │ │ ├── equal_value.rb │ │ │ └── include.rb │ │ ├── size_spec.rb │ │ ├── step_spec.rb │ │ ├── to_a_spec.rb │ │ └── to_s_spec.rb │ ├── rational │ │ ├── abs_spec.rb │ │ ├── ceil_spec.rb │ │ ├── comparison_spec.rb │ │ ├── denominator_spec.rb │ │ ├── div_spec.rb │ │ ├── divide_spec.rb │ │ ├── divmod_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exponent_spec.rb │ │ ├── fdiv_spec.rb │ │ ├── fixtures │ │ │ └── rational.rb │ │ ├── floor_spec.rb │ │ ├── hash_spec.rb │ │ ├── inspect_spec.rb │ │ ├── integer_spec.rb │ │ ├── magnitude_spec.rb │ │ ├── marshal_dump_spec.rb │ │ ├── minus_spec.rb │ │ ├── modulo_spec.rb │ │ ├── multiply_spec.rb │ │ ├── numerator_spec.rb │ │ ├── plus_spec.rb │ │ ├── quo_spec.rb │ │ ├── rational_spec.rb │ │ ├── rationalize_spec.rb │ │ ├── remainder_spec.rb │ │ ├── round_spec.rb │ │ ├── shared │ │ │ ├── abs.rb │ │ │ └── arithmetic_exception_in_coerce.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ ├── truncate_spec.rb │ │ └── zero_spec.rb │ ├── regexp │ │ ├── case_compare_spec.rb │ │ ├── casefold_spec.rb │ │ ├── compile_spec.rb │ │ ├── encoding_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── escape_spec.rb │ │ ├── fixed_encoding_spec.rb │ │ ├── hash_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── last_match_spec.rb │ │ ├── match_spec.rb │ │ ├── named_captures_spec.rb │ │ ├── names_spec.rb │ │ ├── new_spec.rb │ │ ├── options_spec.rb │ │ ├── quote_spec.rb │ │ ├── shared │ │ │ ├── equal_value.rb │ │ │ ├── new.rb │ │ │ └── quote.rb │ │ ├── to_s_spec.rb │ │ ├── try_convert_spec.rb │ │ └── union_spec.rb │ ├── set │ │ ├── add_spec.rb │ │ ├── append_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── case_equality_spec.rb │ │ ├── classify_spec.rb │ │ ├── clear_spec.rb │ │ ├── collect_spec.rb │ │ ├── compare_by_identity_spec.rb │ │ ├── comparison_spec.rb │ │ ├── constructor_spec.rb │ │ ├── delete_if_spec.rb │ │ ├── delete_spec.rb │ │ ├── difference_spec.rb │ │ ├── disjoint_spec.rb │ │ ├── divide_spec.rb │ │ ├── each_spec.rb │ │ ├── empty_spec.rb │ │ ├── enumerable │ │ │ └── to_set_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exclusion_spec.rb │ │ ├── filter_spec.rb │ │ ├── fixtures │ │ │ └── set_like.rb │ │ ├── flatten_merge_spec.rb │ │ ├── flatten_spec.rb │ │ ├── hash_spec.rb │ │ ├── include_spec.rb │ │ ├── initialize_clone_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── intersect_spec.rb │ │ ├── intersection_spec.rb │ │ ├── join_spec.rb │ │ ├── keep_if_spec.rb │ │ ├── length_spec.rb │ │ ├── map_spec.rb │ │ ├── member_spec.rb │ │ ├── merge_spec.rb │ │ ├── minus_spec.rb │ │ ├── plus_spec.rb │ │ ├── pretty_print_cycle_spec.rb │ │ ├── proper_subset_spec.rb │ │ ├── proper_superset_spec.rb │ │ ├── reject_spec.rb │ │ ├── replace_spec.rb │ │ ├── select_spec.rb │ │ ├── set_spec.rb │ │ ├── shared │ │ │ ├── add.rb │ │ │ ├── collect.rb │ │ │ ├── difference.rb │ │ │ ├── include.rb │ │ │ ├── inspect.rb │ │ │ ├── intersection.rb │ │ │ ├── length.rb │ │ │ ├── select.rb │ │ │ └── union.rb │ │ ├── size_spec.rb │ │ ├── subset_spec.rb │ │ ├── subtract_spec.rb │ │ ├── superset_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_s_spec.rb │ │ └── union_spec.rb │ ├── signal │ │ ├── list_spec.rb │ │ └── signame_spec.rb │ ├── string │ │ ├── allocate_spec.rb │ │ ├── append_as_bytes_spec.rb │ │ ├── append_spec.rb │ │ ├── ascii_only_spec.rb │ │ ├── b_spec.rb │ │ ├── byteindex_spec.rb │ │ ├── byterindex_spec.rb │ │ ├── bytes_spec.rb │ │ ├── bytesize_spec.rb │ │ ├── byteslice_spec.rb │ │ ├── bytesplice_spec.rb │ │ ├── capitalize_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── casecmp_spec.rb │ │ ├── center_spec.rb │ │ ├── chars_spec.rb │ │ ├── chilled_string_spec.rb │ │ ├── chomp_spec.rb │ │ ├── chop_spec.rb │ │ ├── chr_spec.rb │ │ ├── clear_spec.rb │ │ ├── clone_spec.rb │ │ ├── codepoints_spec.rb │ │ ├── comparison_spec.rb │ │ ├── concat_spec.rb │ │ ├── count_spec.rb │ │ ├── crypt_spec.rb │ │ ├── dedup_spec.rb │ │ ├── delete_prefix_spec.rb │ │ ├── delete_spec.rb │ │ ├── delete_suffix_spec.rb │ │ ├── downcase_spec.rb │ │ ├── dump_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_byte_spec.rb │ │ ├── each_char_spec.rb │ │ ├── each_codepoint_spec.rb │ │ ├── each_grapheme_cluster_spec.rb │ │ ├── each_line_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── empty_spec.rb │ │ ├── encode_spec.rb │ │ ├── encoding_spec.rb │ │ ├── end_with_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ ├── freeze_magic_comment.rb │ │ │ ├── iso-8859-9-encoding.rb │ │ │ └── to_c.rb │ │ ├── force_encoding_spec.rb │ │ ├── freeze_spec.rb │ │ ├── getbyte_spec.rb │ │ ├── grapheme_clusters_spec.rb │ │ ├── gsub_spec.rb │ │ ├── hash_spec.rb │ │ ├── hex_spec.rb │ │ ├── include_spec.rb │ │ ├── index_spec.rb │ │ ├── initialize_spec.rb │ │ ├── insert_spec.rb │ │ ├── inspect_spec.rb │ │ ├── intern_spec.rb │ │ ├── length_spec.rb │ │ ├── lines_spec.rb │ │ ├── ljust_spec.rb │ │ ├── lstrip_spec.rb │ │ ├── match_spec.rb │ │ ├── modulo_spec.rb │ │ ├── multiply_spec.rb │ │ ├── new_spec.rb │ │ ├── ord_spec.rb │ │ ├── partition_spec.rb │ │ ├── plus_spec.rb │ │ ├── prepend_spec.rb │ │ ├── replace_spec.rb │ │ ├── reverse_spec.rb │ │ ├── rindex_spec.rb │ │ ├── rjust_spec.rb │ │ ├── rstrip_spec.rb │ │ ├── scan_spec.rb │ │ ├── setbyte_spec.rb │ │ ├── shared │ │ │ ├── byte_index_common.rb │ │ │ ├── chars.rb │ │ │ ├── codepoints.rb │ │ │ ├── concat.rb │ │ │ ├── dedup.rb │ │ │ ├── each_char_without_block.rb │ │ │ ├── each_codepoint_without_block.rb │ │ │ ├── each_line.rb │ │ │ ├── each_line_without_block.rb │ │ │ ├── encode.rb │ │ │ ├── eql.rb │ │ │ ├── equal_value.rb │ │ │ ├── grapheme_clusters.rb │ │ │ ├── length.rb │ │ │ ├── partition.rb │ │ │ ├── replace.rb │ │ │ ├── slice.rb │ │ │ ├── strip.rb │ │ │ ├── succ.rb │ │ │ ├── to_s.rb │ │ │ └── to_sym.rb │ │ ├── size_spec.rb │ │ ├── slice_spec.rb │ │ ├── split_spec.rb │ │ ├── squeeze_spec.rb │ │ ├── start_with_spec.rb │ │ ├── string_spec.rb │ │ ├── strip_spec.rb │ │ ├── sub_spec.rb │ │ ├── sum_spec.rb │ │ ├── swapcase_spec.rb │ │ ├── to_c_spec.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ ├── to_str_spec.rb │ │ ├── to_sym_spec.rb │ │ ├── tr_spec.rb │ │ ├── try_convert_spec.rb │ │ ├── uminus_spec.rb │ │ ├── undump_spec.rb │ │ ├── unpack │ │ │ ├── a_spec.rb │ │ │ ├── at_spec.rb │ │ │ ├── b_spec.rb │ │ │ ├── c_spec.rb │ │ │ ├── comment_spec.rb │ │ │ ├── d_spec.rb │ │ │ ├── e_spec.rb │ │ │ ├── f_spec.rb │ │ │ ├── g_spec.rb │ │ │ ├── h_spec.rb │ │ │ ├── i_spec.rb │ │ │ ├── j_spec.rb │ │ │ ├── l_spec.rb │ │ │ ├── m_spec.rb │ │ │ ├── n_spec.rb │ │ │ ├── p_spec.rb │ │ │ ├── percent_spec.rb │ │ │ ├── q_spec.rb │ │ │ ├── s_spec.rb │ │ │ ├── shared │ │ │ │ ├── basic.rb │ │ │ │ ├── float.rb │ │ │ │ ├── integer.rb │ │ │ │ ├── string.rb │ │ │ │ ├── taint.rb │ │ │ │ └── unicode.rb │ │ │ ├── u_spec.rb │ │ │ ├── v_spec.rb │ │ │ ├── w_spec.rb │ │ │ ├── x_spec.rb │ │ │ └── z_spec.rb │ │ ├── unpack1_spec.rb │ │ ├── unpack_spec.rb │ │ ├── upcase_spec.rb │ │ ├── uplus_spec.rb │ │ ├── upto_spec.rb │ │ ├── valid_encoding │ │ │ └── utf_8_spec.rb │ │ └── valid_encoding_spec.rb │ ├── struct │ │ ├── clone_spec.rb │ │ ├── constants_spec.rb │ │ ├── deconstruct_keys_spec.rb │ │ ├── deconstruct_spec.rb │ │ ├── dig_spec.rb │ │ ├── dup_spec.rb │ │ ├── each_pair_spec.rb │ │ ├── each_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── filter_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── inspect_spec.rb │ │ ├── instance_variable_get_spec.rb │ │ ├── instance_variables_spec.rb │ │ ├── keyword_init_spec.rb │ │ ├── length_spec.rb │ │ ├── members_spec.rb │ │ ├── new_spec.rb │ │ ├── select_spec.rb │ │ ├── shared │ │ │ ├── accessor.rb │ │ │ ├── dup.rb │ │ │ ├── equal_value.rb │ │ │ ├── inspect.rb │ │ │ └── select.rb │ │ ├── size_spec.rb │ │ ├── struct_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_h_spec.rb │ │ ├── to_s_spec.rb │ │ ├── values_at_spec.rb │ │ └── values_spec.rb │ ├── symbol │ │ ├── all_symbols_spec.rb │ │ ├── capitalize_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── casecmp_spec.rb │ │ ├── comparison_spec.rb │ │ ├── downcase_spec.rb │ │ ├── dup_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── empty_spec.rb │ │ ├── encoding_spec.rb │ │ ├── end_with_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── id2name_spec.rb │ │ ├── intern_spec.rb │ │ ├── length_spec.rb │ │ ├── match_spec.rb │ │ ├── name_spec.rb │ │ ├── next_spec.rb │ │ ├── shared │ │ │ ├── id2name.rb │ │ │ ├── length.rb │ │ │ ├── slice.rb │ │ │ └── succ.rb │ │ ├── size_spec.rb │ │ ├── slice_spec.rb │ │ ├── start_with_spec.rb │ │ ├── succ_spec.rb │ │ ├── swapcase_spec.rb │ │ ├── symbol_spec.rb │ │ ├── to_proc_spec.rb │ │ ├── to_s_spec.rb │ │ ├── to_sym_spec.rb │ │ └── upcase_spec.rb │ ├── systemexit │ │ ├── initialize_spec.rb │ │ └── success_spec.rb │ ├── thread │ │ ├── abort_on_exception_spec.rb │ │ ├── alive_spec.rb │ │ ├── backtrace │ │ │ └── location │ │ │ │ ├── fixtures │ │ │ │ ├── classes.rb │ │ │ │ └── main.rb │ │ │ │ ├── inspect_spec.rb │ │ │ │ ├── lineno_spec.rb │ │ │ │ ├── path_spec.rb │ │ │ │ └── to_s_spec.rb │ │ ├── current_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── exit_spec.rb │ │ ├── fetch_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── group_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── key_spec.rb │ │ ├── keys_spec.rb │ │ ├── kill_spec.rb │ │ ├── list_spec.rb │ │ ├── main_spec.rb │ │ ├── name_spec.rb │ │ ├── new_spec.rb │ │ ├── pass_spec.rb │ │ ├── priority_spec.rb │ │ ├── raise_spec.rb │ │ ├── report_on_exception_spec.rb │ │ ├── run_spec.rb │ │ ├── shared │ │ │ ├── exit.rb │ │ │ ├── start.rb │ │ │ ├── to_s.rb │ │ │ └── wakeup.rb │ │ ├── status_spec.rb │ │ ├── stop_spec.rb │ │ ├── thread_variable_get_spec.rb │ │ ├── thread_variable_set_spec.rb │ │ ├── thread_variable_spec.rb │ │ ├── thread_variables_spec.rb │ │ ├── to_s_spec.rb │ │ ├── value_spec.rb │ │ └── wakeup_spec.rb │ ├── threadgroup │ │ ├── add_spec.rb │ │ ├── default_spec.rb │ │ ├── enclose_spec.rb │ │ ├── enclosed_spec.rb │ │ └── list_spec.rb │ ├── time │ │ ├── asctime_spec.rb │ │ ├── at_spec.rb │ │ ├── comparison_spec.rb │ │ ├── ctime_spec.rb │ │ ├── day_spec.rb │ │ ├── dst_spec.rb │ │ ├── dup_spec.rb │ │ ├── eql_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── friday_spec.rb │ │ ├── getgm_spec.rb │ │ ├── getutc_spec.rb │ │ ├── gmt_offset_spec.rb │ │ ├── gmtoff_spec.rb │ │ ├── hash_spec.rb │ │ ├── hour_spec.rb │ │ ├── inspect_spec.rb │ │ ├── isdst_spec.rb │ │ ├── mday_spec.rb │ │ ├── min_spec.rb │ │ ├── minus_spec.rb │ │ ├── mon_spec.rb │ │ ├── monday_spec.rb │ │ ├── month_spec.rb │ │ ├── now_spec.rb │ │ ├── nsec_spec.rb │ │ ├── plus_spec.rb │ │ ├── saturday_spec.rb │ │ ├── sec_spec.rb │ │ ├── shared │ │ │ ├── asctime.rb │ │ │ ├── day.rb │ │ │ ├── getgm.rb │ │ │ ├── gm.rb │ │ │ ├── gmt_offset.rb │ │ │ ├── gmtime.rb │ │ │ ├── inspect.rb │ │ │ ├── isdst.rb │ │ │ ├── local.rb │ │ │ ├── month.rb │ │ │ ├── now.rb │ │ │ ├── time_params.rb │ │ │ └── to_i.rb │ │ ├── strftime_spec.rb │ │ ├── subsec_spec.rb │ │ ├── sunday_spec.rb │ │ ├── thursday_spec.rb │ │ ├── time_spec.rb │ │ ├── to_f_spec.rb │ │ ├── to_i_spec.rb │ │ ├── to_r_spec.rb │ │ ├── to_s_spec.rb │ │ ├── tuesday_spec.rb │ │ ├── tv_nsec_spec.rb │ │ ├── tv_sec_spec.rb │ │ ├── tv_usec_spec.rb │ │ ├── usec_spec.rb │ │ ├── utc_offset_spec.rb │ │ ├── utc_spec.rb │ │ ├── wday_spec.rb │ │ ├── wednesday_spec.rb │ │ ├── yday_spec.rb │ │ └── year_spec.rb │ ├── true │ │ ├── and_spec.rb │ │ ├── case_compare_spec.rb │ │ ├── dup_spec.rb │ │ ├── inspect_spec.rb │ │ ├── or_spec.rb │ │ ├── singleton_method_spec.rb │ │ ├── to_s_spec.rb │ │ ├── trueclass_spec.rb │ │ └── xor_spec.rb │ ├── unboundmethod │ │ ├── arity_spec.rb │ │ ├── bind_call_spec.rb │ │ ├── bind_spec.rb │ │ ├── clone_spec.rb │ │ ├── dup_spec.rb │ │ ├── eql_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── inspect_spec.rb │ │ ├── name_spec.rb │ │ ├── parameters_spec.rb │ │ ├── private_spec.rb │ │ ├── protected_spec.rb │ │ ├── public_spec.rb │ │ └── shared │ │ │ ├── dup.rb │ │ │ └── to_s.rb │ └── warning │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ └── warn_spec.rb ├── fixtures │ ├── basicobject │ │ └── method_missing.rb │ ├── class.rb │ ├── class_variables.rb │ ├── constants.rb │ ├── io.rb │ ├── rational.rb │ └── reflection.rb ├── grab ├── language │ ├── END_spec.rb │ ├── alias_spec.rb │ ├── and_spec.rb │ ├── array_spec.rb │ ├── assignments_spec.rb │ ├── block_spec.rb │ ├── break_spec.rb │ ├── case_spec.rb │ ├── class_spec.rb │ ├── class_variable_spec.rb │ ├── constants_spec.rb │ ├── def_spec.rb │ ├── defined_spec.rb │ ├── delegation_spec.rb │ ├── encoding_spec.rb │ ├── ensure_spec.rb │ ├── execution_spec.rb │ ├── fixtures │ │ ├── argv_encoding.rb │ │ ├── array.rb │ │ ├── binary_symbol.rb │ │ ├── block.rb │ │ ├── break.rb │ │ ├── break_lambda_toplevel.rb │ │ ├── break_lambda_toplevel_block.rb │ │ ├── break_lambda_toplevel_method.rb │ │ ├── class_with_class_variable.rb │ │ ├── classes.rb │ │ ├── coding_us_ascii.rb │ │ ├── coding_utf_8.rb │ │ ├── constant_visibility.rb │ │ ├── constants_sclass.rb │ │ ├── def.rb │ │ ├── defined.rb │ │ ├── delegation.rb │ │ ├── dollar_zero.rb │ │ ├── ensure.rb │ │ ├── for_scope.rb │ │ ├── freeze_magic_comment_across_files.rb │ │ ├── freeze_magic_comment_across_files_diff_enc.rb │ │ ├── freeze_magic_comment_across_files_no_comment.rb │ │ ├── freeze_magic_comment_one_literal.rb │ │ ├── freeze_magic_comment_required.rb │ │ ├── freeze_magic_comment_required_diff_enc.rb │ │ ├── freeze_magic_comment_required_no_comment.rb │ │ ├── freeze_magic_comment_two_literals.rb │ │ ├── hash_strings_binary.rb │ │ ├── hash_strings_usascii.rb │ │ ├── hash_strings_utf8.rb │ │ ├── match_operators.rb │ │ ├── metaclass.rb │ │ ├── module.rb │ │ ├── next.rb │ │ ├── precedence.rb │ │ ├── private.rb │ │ ├── rescue.rb │ │ ├── rescue │ │ │ └── top_level.rb │ │ ├── rescue_captures.rb │ │ ├── return.rb │ │ ├── send.rb │ │ ├── squiggly_heredoc.rb │ │ ├── utf16-be-nobom.rb │ │ ├── utf16-le-nobom.rb │ │ ├── utf8-bom.rb │ │ ├── utf8-nobom.rb │ │ ├── variables.rb │ │ └── yield.rb │ ├── for_spec.rb │ ├── hash_spec.rb │ ├── heredoc_spec.rb │ ├── if_spec.rb │ ├── keyword_arguments_spec.rb │ ├── lambda_spec.rb │ ├── loop_spec.rb │ ├── match_spec.rb │ ├── metaclass_spec.rb │ ├── method_spec.rb │ ├── module_spec.rb │ ├── next_spec.rb │ ├── not_spec.rb │ ├── numbered_parameters_spec.rb │ ├── numbers_spec.rb │ ├── optional_assignments_spec.rb │ ├── or_spec.rb │ ├── order_spec.rb │ ├── pattern_matching_spec.rb │ ├── precedence_spec.rb │ ├── predefined │ │ ├── data_spec.rb │ │ └── fixtures │ │ │ ├── data1.rb │ │ │ ├── data2.rb │ │ │ ├── data3.rb │ │ │ ├── data4.rb │ │ │ ├── data5.rb │ │ │ ├── data_offset.rb │ │ │ ├── data_only.rb │ │ │ ├── empty_data.rb │ │ │ └── print_data.rb │ ├── predefined_spec.rb │ ├── private_spec.rb │ ├── proc_spec.rb │ ├── range_spec.rb │ ├── redo_spec.rb │ ├── regexp │ │ ├── anchors_spec.rb │ │ ├── back-references_spec.rb │ │ ├── character_classes_spec.rb │ │ ├── empty_checks_spec.rb │ │ ├── encoding_spec.rb │ │ ├── escapes_spec.rb │ │ ├── grouping_spec.rb │ │ ├── interpolation_spec.rb │ │ ├── modifiers_spec.rb │ │ └── subexpression_call_spec.rb │ ├── regexp_spec.rb │ ├── rescue_spec.rb │ ├── retry_spec.rb │ ├── return_spec.rb │ ├── safe_navigator_spec.rb │ ├── safe_spec.rb │ ├── send_spec.rb │ ├── singleton_class_spec.rb │ ├── source_encoding_spec.rb │ ├── string_spec.rb │ ├── symbol_spec.rb │ ├── throw_spec.rb │ ├── undef_spec.rb │ ├── unless_spec.rb │ ├── until_spec.rb │ ├── variables_spec.rb │ ├── while_spec.rb │ └── yield_spec.rb ├── library │ ├── English │ │ ├── English_spec.rb │ │ └── alias_spec.rb │ ├── abbrev │ │ └── abbrev_spec.rb │ ├── base64 │ │ ├── decode64_spec.rb │ │ ├── encode64_spec.rb │ │ ├── strict_decode64_spec.rb │ │ ├── strict_encode64_spec.rb │ │ ├── urlsafe_decode64_spec.rb │ │ └── urlsafe_encode64_spec.rb │ ├── cgi │ │ ├── cookie │ │ │ ├── domain_spec.rb │ │ │ ├── expires_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── name_spec.rb │ │ │ ├── parse_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── secure_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── value_spec.rb │ │ ├── escapeElement_spec.rb │ │ ├── escapeHTML_spec.rb │ │ ├── escapeURIComponent_spec.rb │ │ ├── escape_spec.rb │ │ ├── htmlextension │ │ │ ├── a_spec.rb │ │ │ ├── base_spec.rb │ │ │ ├── blockquote_spec.rb │ │ │ ├── br_spec.rb │ │ │ ├── caption_spec.rb │ │ │ ├── checkbox_group_spec.rb │ │ │ ├── checkbox_spec.rb │ │ │ ├── doctype_spec.rb │ │ │ ├── file_field_spec.rb │ │ │ ├── fixtures │ │ │ │ └── common.rb │ │ │ ├── form_spec.rb │ │ │ ├── frame_spec.rb │ │ │ ├── frameset_spec.rb │ │ │ ├── hidden_spec.rb │ │ │ ├── html_spec.rb │ │ │ ├── image_button_spec.rb │ │ │ ├── img_spec.rb │ │ │ ├── multipart_form_spec.rb │ │ │ ├── password_field_spec.rb │ │ │ ├── popup_menu_spec.rb │ │ │ ├── radio_button_spec.rb │ │ │ ├── radio_group_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── scrolling_list_spec.rb │ │ │ ├── shared │ │ │ │ └── popup_menu.rb │ │ │ ├── submit_spec.rb │ │ │ ├── text_field_spec.rb │ │ │ └── textarea_spec.rb │ │ ├── http_header_spec.rb │ │ ├── initialize_spec.rb │ │ ├── out_spec.rb │ │ ├── parse_spec.rb │ │ ├── pretty_spec.rb │ │ ├── print_spec.rb │ │ ├── queryextension │ │ │ ├── accept_charset_spec.rb │ │ │ ├── accept_encoding_spec.rb │ │ │ ├── accept_language_spec.rb │ │ │ ├── accept_spec.rb │ │ │ ├── auth_type_spec.rb │ │ │ ├── cache_control_spec.rb │ │ │ ├── content_length_spec.rb │ │ │ ├── content_type_spec.rb │ │ │ ├── cookies_spec.rb │ │ │ ├── element_reference_spec.rb │ │ │ ├── from_spec.rb │ │ │ ├── gateway_interface_spec.rb │ │ │ ├── has_key_spec.rb │ │ │ ├── host_spec.rb │ │ │ ├── include_spec.rb │ │ │ ├── key_spec.rb │ │ │ ├── keys_spec.rb │ │ │ ├── multipart_spec.rb │ │ │ ├── negotiate_spec.rb │ │ │ ├── params_spec.rb │ │ │ ├── path_info_spec.rb │ │ │ ├── path_translated_spec.rb │ │ │ ├── pragma_spec.rb │ │ │ ├── query_string_spec.rb │ │ │ ├── raw_cookie2_spec.rb │ │ │ ├── raw_cookie_spec.rb │ │ │ ├── referer_spec.rb │ │ │ ├── remote_addr_spec.rb │ │ │ ├── remote_host_spec.rb │ │ │ ├── remote_ident_spec.rb │ │ │ ├── remote_user_spec.rb │ │ │ ├── request_method_spec.rb │ │ │ ├── script_name_spec.rb │ │ │ ├── server_name_spec.rb │ │ │ ├── server_port_spec.rb │ │ │ ├── server_protocol_spec.rb │ │ │ ├── server_software_spec.rb │ │ │ ├── shared │ │ │ │ └── has_key.rb │ │ │ └── user_agent_spec.rb │ │ ├── rfc1123_date_spec.rb │ │ ├── shared │ │ │ └── http_header.rb │ │ ├── unescapeElement_spec.rb │ │ ├── unescapeHTML_spec.rb │ │ └── unescape_spec.rb │ ├── csv │ │ ├── generate_line_spec.rb │ │ ├── generate_spec.rb │ │ ├── liberal_parsing_spec.rb │ │ ├── parse_spec.rb │ │ └── readlines_spec.rb │ ├── date │ │ ├── accessor_spec.rb │ │ ├── add_month_spec.rb │ │ ├── add_spec.rb │ │ ├── boat_spec.rb │ │ ├── civil_spec.rb │ │ ├── constants_spec.rb │ │ ├── day_spec.rb │ │ ├── deconstruct_keys_spec.rb │ │ ├── downto_spec.rb │ │ ├── eql_spec.rb │ │ ├── friday_spec.rb │ │ ├── gregorian_leap_spec.rb │ │ ├── gregorian_spec.rb │ │ ├── hash_spec.rb │ │ ├── iso8601_spec.rb │ │ ├── jd_spec.rb │ │ ├── julian_leap_spec.rb │ │ ├── julian_spec.rb │ │ ├── minus_month_spec.rb │ │ ├── minus_spec.rb │ │ ├── mon_spec.rb │ │ ├── monday_spec.rb │ │ ├── month_spec.rb │ │ ├── new_spec.rb │ │ ├── next_day_spec.rb │ │ ├── next_month_spec.rb │ │ ├── next_year_spec.rb │ │ ├── parse_spec.rb │ │ ├── plus_spec.rb │ │ ├── prev_day_spec.rb │ │ ├── prev_month_spec.rb │ │ ├── prev_year_spec.rb │ │ ├── relationship_spec.rb │ │ ├── saturday_spec.rb │ │ ├── shared │ │ │ ├── civil.rb │ │ │ ├── jd.rb │ │ │ ├── month.rb │ │ │ ├── parse.rb │ │ │ ├── parse_eu.rb │ │ │ └── parse_us.rb │ │ ├── step_spec.rb │ │ ├── strftime_spec.rb │ │ ├── sunday_spec.rb │ │ ├── thursday_spec.rb │ │ ├── time │ │ │ └── to_date_spec.rb │ │ ├── today_spec.rb │ │ ├── tuesday_spec.rb │ │ ├── upto_spec.rb │ │ ├── wday_spec.rb │ │ ├── wednesday_spec.rb │ │ ├── yday_spec.rb │ │ └── year_spec.rb │ ├── delegate │ │ ├── delegate_class │ │ │ ├── instance_method_spec.rb │ │ │ ├── instance_methods_spec.rb │ │ │ ├── private_instance_methods_spec.rb │ │ │ ├── protected_instance_methods_spec.rb │ │ │ ├── public_instance_methods_spec.rb │ │ │ └── respond_to_missing_spec.rb │ │ ├── delegator │ │ │ ├── case_compare_spec.rb │ │ │ ├── compare_spec.rb │ │ │ ├── complement_spec.rb │ │ │ ├── eql_spec.rb │ │ │ ├── equal_spec.rb │ │ │ ├── equal_value_spec.rb │ │ │ ├── frozen_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── marshal_spec.rb │ │ │ ├── method_spec.rb │ │ │ ├── methods_spec.rb │ │ │ ├── not_equal_spec.rb │ │ │ ├── not_spec.rb │ │ │ ├── private_methods_spec.rb │ │ │ ├── protected_methods_spec.rb │ │ │ ├── public_methods_spec.rb │ │ │ ├── send_spec.rb │ │ │ ├── taint_spec.rb │ │ │ ├── tap_spec.rb │ │ │ ├── trust_spec.rb │ │ │ ├── untaint_spec.rb │ │ │ └── untrust_spec.rb │ │ └── fixtures │ │ │ └── classes.rb │ ├── digest │ │ ├── bubblebabble_spec.rb │ │ ├── hexencode_spec.rb │ │ ├── instance │ │ │ ├── append_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── shared │ │ │ │ └── update.rb │ │ │ └── update_spec.rb │ │ ├── md5 │ │ │ ├── append_spec.rb │ │ │ ├── block_length_spec.rb │ │ │ ├── digest_bang_spec.rb │ │ │ ├── digest_length_spec.rb │ │ │ ├── digest_spec.rb │ │ │ ├── equal_spec.rb │ │ │ ├── file_spec.rb │ │ │ ├── hexdigest_bang_spec.rb │ │ │ ├── hexdigest_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── length_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── shared │ │ │ │ ├── constants.rb │ │ │ │ ├── length.rb │ │ │ │ └── update.rb │ │ │ ├── size_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── update_spec.rb │ │ ├── sha1 │ │ │ ├── digest_spec.rb │ │ │ ├── file_spec.rb │ │ │ └── shared │ │ │ │ └── constants.rb │ │ ├── sha2 │ │ │ └── hexdigest_spec.rb │ │ ├── sha256 │ │ │ ├── append_spec.rb │ │ │ ├── block_length_spec.rb │ │ │ ├── digest_bang_spec.rb │ │ │ ├── digest_length_spec.rb │ │ │ ├── digest_spec.rb │ │ │ ├── equal_spec.rb │ │ │ ├── file_spec.rb │ │ │ ├── hexdigest_bang_spec.rb │ │ │ ├── hexdigest_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── length_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── shared │ │ │ │ ├── constants.rb │ │ │ │ ├── length.rb │ │ │ │ └── update.rb │ │ │ ├── size_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── update_spec.rb │ │ ├── sha384 │ │ │ ├── append_spec.rb │ │ │ ├── block_length_spec.rb │ │ │ ├── digest_bang_spec.rb │ │ │ ├── digest_length_spec.rb │ │ │ ├── digest_spec.rb │ │ │ ├── equal_spec.rb │ │ │ ├── file_spec.rb │ │ │ ├── hexdigest_bang_spec.rb │ │ │ ├── hexdigest_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── length_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── shared │ │ │ │ ├── constants.rb │ │ │ │ ├── length.rb │ │ │ │ └── update.rb │ │ │ ├── size_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── update_spec.rb │ │ └── sha512 │ │ │ ├── append_spec.rb │ │ │ ├── block_length_spec.rb │ │ │ ├── digest_bang_spec.rb │ │ │ ├── digest_length_spec.rb │ │ │ ├── digest_spec.rb │ │ │ ├── equal_spec.rb │ │ │ ├── file_spec.rb │ │ │ ├── hexdigest_bang_spec.rb │ │ │ ├── hexdigest_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── length_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── shared │ │ │ ├── constants.rb │ │ │ ├── length.rb │ │ │ └── update.rb │ │ │ ├── size_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── update_spec.rb │ ├── erb │ │ └── util │ │ │ ├── h_spec.rb │ │ │ ├── html_escape_spec.rb │ │ │ ├── shared │ │ │ ├── html_escape.rb │ │ │ └── url_encode.rb │ │ │ ├── u_spec.rb │ │ │ └── url_encode_spec.rb │ ├── etc │ │ ├── confstr_spec.rb │ │ ├── endgrent_spec.rb │ │ ├── endpwent_spec.rb │ │ ├── getgrent_spec.rb │ │ ├── getgrnam_spec.rb │ │ ├── getlogin_spec.rb │ │ ├── getpwent_spec.rb │ │ ├── getpwnam_spec.rb │ │ ├── getpwuid_spec.rb │ │ ├── nprocessors_spec.rb │ │ ├── shared │ │ │ └── windows.rb │ │ ├── struct_passwd_spec.rb │ │ ├── sysconf_spec.rb │ │ ├── systmpdir_spec.rb │ │ └── uname_spec.rb │ ├── fiddle │ │ └── handle │ │ │ └── initialize_spec.rb │ ├── find │ │ ├── find_spec.rb │ │ ├── fixtures │ │ │ └── common.rb │ │ └── prune_spec.rb │ ├── io-wait │ │ ├── wait_readable_spec.rb │ │ ├── wait_spec.rb │ │ └── wait_writable_spec.rb │ ├── ipaddr │ │ ├── hton_spec.rb │ │ ├── ipv4_conversion_spec.rb │ │ ├── new_spec.rb │ │ ├── operator_spec.rb │ │ ├── reverse_spec.rb │ │ └── to_s_spec.rb │ ├── matrix │ │ ├── I_spec.rb │ │ ├── antisymmetric_spec.rb │ │ ├── build_spec.rb │ │ ├── clone_spec.rb │ │ ├── coerce_spec.rb │ │ ├── collect_spec.rb │ │ ├── column_size_spec.rb │ │ ├── column_spec.rb │ │ ├── column_vector_spec.rb │ │ ├── column_vectors_spec.rb │ │ ├── columns_spec.rb │ │ ├── conj_spec.rb │ │ ├── conjugate_spec.rb │ │ ├── constructor_spec.rb │ │ ├── det_spec.rb │ │ ├── determinant_spec.rb │ │ ├── diagonal_spec.rb │ │ ├── divide_spec.rb │ │ ├── each_spec.rb │ │ ├── each_with_index_spec.rb │ │ ├── eigenvalue_decomposition │ │ │ ├── eigenvalue_matrix_spec.rb │ │ │ ├── eigenvalues_spec.rb │ │ │ ├── eigenvector_matrix_spec.rb │ │ │ ├── eigenvectors_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ └── to_a_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── empty_spec.rb │ │ ├── eql_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── exponent_spec.rb │ │ ├── find_index_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── hash_spec.rb │ │ ├── hermitian_spec.rb │ │ ├── identity_spec.rb │ │ ├── imag_spec.rb │ │ ├── imaginary_spec.rb │ │ ├── inspect_spec.rb │ │ ├── inv_spec.rb │ │ ├── inverse_from_spec.rb │ │ ├── inverse_spec.rb │ │ ├── lower_triangular_spec.rb │ │ ├── lup_decomposition │ │ │ ├── determinant_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── l_spec.rb │ │ │ ├── p_spec.rb │ │ │ ├── solve_spec.rb │ │ │ ├── to_a_spec.rb │ │ │ └── u_spec.rb │ │ ├── map_spec.rb │ │ ├── minor_spec.rb │ │ ├── minus_spec.rb │ │ ├── multiply_spec.rb │ │ ├── new_spec.rb │ │ ├── normal_spec.rb │ │ ├── orthogonal_spec.rb │ │ ├── permutation_spec.rb │ │ ├── plus_spec.rb │ │ ├── rank_spec.rb │ │ ├── real_spec.rb │ │ ├── rect_spec.rb │ │ ├── rectangular_spec.rb │ │ ├── regular_spec.rb │ │ ├── round_spec.rb │ │ ├── row_size_spec.rb │ │ ├── row_spec.rb │ │ ├── row_vector_spec.rb │ │ ├── row_vectors_spec.rb │ │ ├── rows_spec.rb │ │ ├── scalar │ │ │ ├── Fail_spec.rb │ │ │ ├── Raise_spec.rb │ │ │ ├── divide_spec.rb │ │ │ ├── exponent_spec.rb │ │ │ ├── included_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── minus_spec.rb │ │ │ ├── multiply_spec.rb │ │ │ └── plus_spec.rb │ │ ├── scalar_spec.rb │ │ ├── shared │ │ │ ├── collect.rb │ │ │ ├── conjugate.rb │ │ │ ├── determinant.rb │ │ │ ├── equal_value.rb │ │ │ ├── identity.rb │ │ │ ├── imaginary.rb │ │ │ ├── inverse.rb │ │ │ ├── rectangular.rb │ │ │ ├── trace.rb │ │ │ └── transpose.rb │ │ ├── singular_spec.rb │ │ ├── spec_helper.rb │ │ ├── square_spec.rb │ │ ├── symmetric_spec.rb │ │ ├── t_spec.rb │ │ ├── to_a_spec.rb │ │ ├── to_s_spec.rb │ │ ├── tr_spec.rb │ │ ├── trace_spec.rb │ │ ├── transpose_spec.rb │ │ ├── unit_spec.rb │ │ ├── unitary_spec.rb │ │ ├── upper_triangular_spec.rb │ │ ├── vector │ │ │ ├── cross_product_spec.rb │ │ │ ├── each2_spec.rb │ │ │ ├── eql_spec.rb │ │ │ ├── inner_product_spec.rb │ │ │ └── normalize_spec.rb │ │ └── zero_spec.rb │ ├── observer │ │ ├── add_observer_spec.rb │ │ ├── count_observers_spec.rb │ │ ├── delete_observer_spec.rb │ │ ├── delete_observers_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ └── notify_observers_spec.rb │ ├── openssl │ │ ├── cipher_spec.rb │ │ ├── digest │ │ │ ├── append_spec.rb │ │ │ ├── block_length_spec.rb │ │ │ ├── digest_length_spec.rb │ │ │ ├── digest_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── name_spec.rb │ │ │ ├── reset_spec.rb │ │ │ ├── shared │ │ │ │ └── update.rb │ │ │ └── update_spec.rb │ │ ├── fixed_length_secure_compare_spec.rb │ │ ├── hmac │ │ │ ├── digest_spec.rb │ │ │ └── hexdigest_spec.rb │ │ ├── kdf │ │ │ ├── pbkdf2_hmac_spec.rb │ │ │ └── scrypt_spec.rb │ │ ├── random │ │ │ ├── pseudo_bytes_spec.rb │ │ │ ├── random_bytes_spec.rb │ │ │ └── shared │ │ │ │ └── random_bytes.rb │ │ ├── secure_compare_spec.rb │ │ ├── shared │ │ │ └── constants.rb │ │ └── x509 │ │ │ ├── name │ │ │ └── parse_spec.rb │ │ │ └── store │ │ │ └── verify_spec.rb │ ├── openstruct │ │ ├── delete_field_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── element_set_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── frozen_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── marshal_dump_spec.rb │ │ ├── marshal_load_spec.rb │ │ ├── method_missing_spec.rb │ │ ├── new_spec.rb │ │ ├── shared │ │ │ └── inspect.rb │ │ ├── to_h_spec.rb │ │ └── to_s_spec.rb │ ├── pathname │ │ ├── absolute_spec.rb │ │ ├── divide_spec.rb │ │ ├── empty_spec.rb │ │ ├── equal_value_spec.rb │ │ ├── hash_spec.rb │ │ ├── inspect_spec.rb │ │ ├── new_spec.rb │ │ ├── pathname_spec.rb │ │ ├── plus_spec.rb │ │ ├── relative_spec.rb │ │ ├── root_spec.rb │ │ ├── shared │ │ │ └── plus.rb │ │ └── sub_spec.rb │ ├── pp │ │ └── pp_spec.rb │ ├── rbconfig │ │ ├── rbconfig_spec.rb │ │ └── sizeof │ │ │ ├── limits_spec.rb │ │ │ └── sizeof_spec.rb │ ├── securerandom │ │ ├── base64_spec.rb │ │ ├── bytes_spec.rb │ │ ├── hex_spec.rb │ │ ├── random_bytes_spec.rb │ │ └── random_number_spec.rb │ ├── shellwords │ │ └── shellwords_spec.rb │ ├── singleton │ │ ├── allocate_spec.rb │ │ ├── clone_spec.rb │ │ ├── dump_spec.rb │ │ ├── dup_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── instance_spec.rb │ │ ├── load_spec.rb │ │ └── new_spec.rb │ ├── socket │ │ ├── addrinfo │ │ │ ├── afamily_spec.rb │ │ │ ├── bind_spec.rb │ │ │ ├── canonname_spec.rb │ │ │ ├── connect_spec.rb │ │ │ ├── getaddrinfo_spec.rb │ │ │ ├── getnameinfo_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── inspect_sockaddr_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── ip_address_spec.rb │ │ │ ├── ip_port_spec.rb │ │ │ ├── ip_spec.rb │ │ │ ├── ip_unpack_spec.rb │ │ │ ├── ipv4_loopback_spec.rb │ │ │ ├── ipv4_multicast_spec.rb │ │ │ ├── ipv4_private_spec.rb │ │ │ ├── ipv4_spec.rb │ │ │ ├── ipv6_spec.rb │ │ │ ├── listen_spec.rb │ │ │ ├── marshal_load_spec.rb │ │ │ ├── protocol_spec.rb │ │ │ ├── shared │ │ │ │ └── to_sockaddr.rb │ │ │ ├── socktype_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ ├── to_sockaddr_spec.rb │ │ │ ├── unix_path_spec.rb │ │ │ └── unix_spec.rb │ │ ├── basicsocket │ │ │ ├── connect_address_spec.rb │ │ │ ├── do_not_reverse_lookup_spec.rb │ │ │ ├── for_fd_spec.rb │ │ │ ├── getpeereid_spec.rb │ │ │ ├── getpeername_spec.rb │ │ │ ├── getsockname_spec.rb │ │ │ ├── getsockopt_spec.rb │ │ │ ├── local_address_spec.rb │ │ │ ├── read_nonblock_spec.rb │ │ │ ├── read_spec.rb │ │ │ ├── recv_nonblock_spec.rb │ │ │ ├── recv_spec.rb │ │ │ ├── remote_address_spec.rb │ │ │ ├── send_spec.rb │ │ │ ├── setsockopt_spec.rb │ │ │ └── shutdown_spec.rb │ │ ├── constants │ │ │ └── constants_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── send_io.txt │ │ ├── ipsocket │ │ │ ├── addr_spec.rb │ │ │ ├── getaddress_spec.rb │ │ │ ├── peeraddr_spec.rb │ │ │ └── recvfrom_spec.rb │ │ ├── shared │ │ │ ├── address.rb │ │ │ ├── pack_sockaddr.rb │ │ │ ├── partially_closable_sockets.rb │ │ │ └── socketpair.rb │ │ ├── socket │ │ │ ├── accept_nonblock_spec.rb │ │ │ ├── accept_spec.rb │ │ │ ├── bind_spec.rb │ │ │ ├── connect_spec.rb │ │ │ ├── for_fd_spec.rb │ │ │ ├── getaddrinfo_spec.rb │ │ │ ├── gethostname_spec.rb │ │ │ ├── getifaddrs_spec.rb │ │ │ ├── getservbyname_spec.rb │ │ │ ├── getservbyport_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── ip_address_list_spec.rb │ │ │ ├── listen_spec.rb │ │ │ ├── local_address_spec.rb │ │ │ ├── pack_sockaddr_in_spec.rb │ │ │ ├── pack_sockaddr_un_spec.rb │ │ │ ├── pair_spec.rb │ │ │ ├── recvfrom_spec.rb │ │ │ ├── remote_address_spec.rb │ │ │ ├── sockaddr_in_spec.rb │ │ │ ├── sockaddr_un_spec.rb │ │ │ ├── socket_spec.rb │ │ │ ├── socketpair_spec.rb │ │ │ ├── sysaccept_spec.rb │ │ │ ├── tcp_spec.rb │ │ │ ├── unix_server_socket_spec.rb │ │ │ ├── unix_spec.rb │ │ │ ├── unpack_sockaddr_in_spec.rb │ │ │ └── unpack_sockaddr_un_spec.rb │ │ ├── spec_helper.rb │ │ ├── tcpserver │ │ │ ├── accept_nonblock_spec.rb │ │ │ ├── accept_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── listen_spec.rb │ │ │ ├── new_spec.rb │ │ │ └── sysaccept_spec.rb │ │ ├── tcpsocket │ │ │ ├── gethostbyname_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── local_address_spec.rb │ │ │ ├── open_spec.rb │ │ │ ├── partially_closable_spec.rb │ │ │ ├── recv_nonblock_spec.rb │ │ │ ├── recv_spec.rb │ │ │ ├── remote_address_spec.rb │ │ │ ├── setsockopt_spec.rb │ │ │ └── shared │ │ │ │ └── new.rb │ │ ├── udpsocket │ │ │ ├── bind_spec.rb │ │ │ ├── connect_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── local_address_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── open_spec.rb │ │ │ ├── recvfrom_nonblock_spec.rb │ │ │ ├── remote_address_spec.rb │ │ │ └── write_spec.rb │ │ ├── unixserver │ │ │ ├── accept_nonblock_spec.rb │ │ │ ├── accept_spec.rb │ │ │ ├── for_fd_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── listen_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── open_spec.rb │ │ │ ├── shared │ │ │ │ └── new.rb │ │ │ └── sysaccept_spec.rb │ │ └── unixsocket │ │ │ ├── addr_spec.rb │ │ │ ├── initialize_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── local_address_spec.rb │ │ │ ├── new_spec.rb │ │ │ ├── open_spec.rb │ │ │ ├── pair_spec.rb │ │ │ ├── partially_closable_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── peeraddr_spec.rb │ │ │ ├── recvfrom_spec.rb │ │ │ ├── remote_address_spec.rb │ │ │ ├── shared │ │ │ ├── new.rb │ │ │ └── pair.rb │ │ │ └── socketpair_spec.rb │ ├── stringio │ │ ├── append_spec.rb │ │ ├── binmode_spec.rb │ │ ├── close_read_spec.rb │ │ ├── close_spec.rb │ │ ├── close_write_spec.rb │ │ ├── closed_read_spec.rb │ │ ├── closed_spec.rb │ │ ├── closed_write_spec.rb │ │ ├── each_byte_spec.rb │ │ ├── each_char_spec.rb │ │ ├── each_codepoint_spec.rb │ │ ├── each_line_spec.rb │ │ ├── each_spec.rb │ │ ├── eof_spec.rb │ │ ├── external_encoding_spec.rb │ │ ├── fcntl_spec.rb │ │ ├── fileno_spec.rb │ │ ├── fixtures │ │ │ └── classes.rb │ │ ├── flush_spec.rb │ │ ├── fsync_spec.rb │ │ ├── getbyte_spec.rb │ │ ├── getc_spec.rb │ │ ├── gets_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── internal_encoding_spec.rb │ │ ├── isatty_spec.rb │ │ ├── length_spec.rb │ │ ├── lineno_spec.rb │ │ ├── new_spec.rb │ │ ├── open_spec.rb │ │ ├── path_spec.rb │ │ ├── pid_spec.rb │ │ ├── pos_spec.rb │ │ ├── print_spec.rb │ │ ├── printf_spec.rb │ │ ├── putc_spec.rb │ │ ├── puts_spec.rb │ │ ├── read_nonblock_spec.rb │ │ ├── read_spec.rb │ │ ├── readbyte_spec.rb │ │ ├── readchar_spec.rb │ │ ├── readline_spec.rb │ │ ├── rewind_spec.rb │ │ ├── seek_spec.rb │ │ ├── set_encoding_by_bom_spec.rb │ │ ├── set_encoding_spec.rb │ │ ├── shared │ │ │ ├── codepoints.rb │ │ │ ├── each.rb │ │ │ ├── each_byte.rb │ │ │ ├── each_char.rb │ │ │ ├── eof.rb │ │ │ ├── getc.rb │ │ │ ├── isatty.rb │ │ │ ├── length.rb │ │ │ ├── read.rb │ │ │ ├── readchar.rb │ │ │ ├── sysread.rb │ │ │ ├── tell.rb │ │ │ └── write.rb │ │ ├── size_spec.rb │ │ ├── string_spec.rb │ │ ├── stringio_spec.rb │ │ ├── sync_spec.rb │ │ ├── sysread_spec.rb │ │ ├── syswrite_spec.rb │ │ ├── tell_spec.rb │ │ ├── truncate_spec.rb │ │ ├── tty_spec.rb │ │ ├── ungetbyte_spec.rb │ │ ├── ungetc_spec.rb │ │ ├── write_nonblock_spec.rb │ │ └── write_spec.rb │ ├── stringscanner │ │ ├── append_spec.rb │ │ ├── beginning_of_line_spec.rb │ │ ├── bol_spec.rb │ │ ├── captures_spec.rb │ │ ├── charpos_spec.rb │ │ ├── check_spec.rb │ │ ├── check_until_spec.rb │ │ ├── clear_spec.rb │ │ ├── concat_spec.rb │ │ ├── dup_spec.rb │ │ ├── element_reference_spec.rb │ │ ├── empty_spec.rb │ │ ├── eos_spec.rb │ │ ├── exist_spec.rb │ │ ├── fixed_anchor_spec.rb │ │ ├── get_byte_spec.rb │ │ ├── getbyte_spec.rb │ │ ├── getch_spec.rb │ │ ├── initialize_spec.rb │ │ ├── inspect_spec.rb │ │ ├── match_spec.rb │ │ ├── matched_size_spec.rb │ │ ├── matched_spec.rb │ │ ├── must_C_version_spec.rb │ │ ├── named_captures_spec.rb │ │ ├── peek_byte_spec.rb │ │ ├── peek_spec.rb │ │ ├── peep_spec.rb │ │ ├── pointer_spec.rb │ │ ├── pos_spec.rb │ │ ├── post_match_spec.rb │ │ ├── pre_match_spec.rb │ │ ├── reset_spec.rb │ │ ├── rest_size_spec.rb │ │ ├── rest_spec.rb │ │ ├── restsize_spec.rb │ │ ├── scan_full_spec.rb │ │ ├── scan_spec.rb │ │ ├── scan_until_spec.rb │ │ ├── search_full_spec.rb │ │ ├── shared │ │ │ ├── bol.rb │ │ │ ├── concat.rb │ │ │ ├── eos.rb │ │ │ ├── extract_range.rb │ │ │ ├── extract_range_matched.rb │ │ │ ├── get_byte.rb │ │ │ ├── peek.rb │ │ │ ├── pos.rb │ │ │ ├── rest_size.rb │ │ │ └── terminate.rb │ │ ├── size_spec.rb │ │ ├── skip_spec.rb │ │ ├── skip_until_spec.rb │ │ ├── string_spec.rb │ │ ├── terminate_spec.rb │ │ ├── unscan_spec.rb │ │ └── values_at_spec.rb │ ├── tempfile │ │ ├── _close_spec.rb │ │ ├── close_spec.rb │ │ ├── delete_spec.rb │ │ ├── initialize_spec.rb │ │ ├── length_spec.rb │ │ ├── path_spec.rb │ │ ├── shared │ │ │ ├── length.rb │ │ │ └── unlink.rb │ │ ├── size_spec.rb │ │ └── unlink_spec.rb │ ├── thread │ │ └── queue_spec.rb │ ├── tmpdir │ │ └── dir │ │ │ ├── mktmpdir_spec.rb │ │ │ └── tmpdir_spec.rb │ ├── uri │ │ ├── decode_www_form_component_spec.rb │ │ ├── decode_www_form_spec.rb │ │ ├── encode_www_form_component_spec.rb │ │ ├── encode_www_form_spec.rb │ │ ├── eql_spec.rb │ │ ├── equality_spec.rb │ │ ├── escape │ │ │ ├── decode_spec.rb │ │ │ ├── encode_spec.rb │ │ │ ├── escape_spec.rb │ │ │ └── unescape_spec.rb │ │ ├── extract_spec.rb │ │ ├── fixtures │ │ │ ├── classes.rb │ │ │ └── normalization.rb │ │ ├── ftp │ │ │ ├── build_spec.rb │ │ │ ├── merge_spec.rb │ │ │ ├── new2_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── set_typecode_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── typecode_spec.rb │ │ ├── generic │ │ │ ├── absolute_spec.rb │ │ │ ├── build2_spec.rb │ │ │ ├── build_spec.rb │ │ │ ├── coerce_spec.rb │ │ │ ├── component_ary_spec.rb │ │ │ ├── component_spec.rb │ │ │ ├── default_port_spec.rb │ │ │ ├── eql_spec.rb │ │ │ ├── equal_value_spec.rb │ │ │ ├── fragment_spec.rb │ │ │ ├── hash_spec.rb │ │ │ ├── hierarchical_spec.rb │ │ │ ├── host_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── merge_spec.rb │ │ │ ├── minus_spec.rb │ │ │ ├── normalize_spec.rb │ │ │ ├── opaque_spec.rb │ │ │ ├── password_spec.rb │ │ │ ├── path_spec.rb │ │ │ ├── plus_spec.rb │ │ │ ├── port_spec.rb │ │ │ ├── query_spec.rb │ │ │ ├── registry_spec.rb │ │ │ ├── relative_spec.rb │ │ │ ├── route_from_spec.rb │ │ │ ├── route_to_spec.rb │ │ │ ├── scheme_spec.rb │ │ │ ├── select_spec.rb │ │ │ ├── set_fragment_spec.rb │ │ │ ├── set_host_spec.rb │ │ │ ├── set_opaque_spec.rb │ │ │ ├── set_password_spec.rb │ │ │ ├── set_path_spec.rb │ │ │ ├── set_port_spec.rb │ │ │ ├── set_query_spec.rb │ │ │ ├── set_registry_spec.rb │ │ │ ├── set_scheme_spec.rb │ │ │ ├── set_user_spec.rb │ │ │ ├── set_userinfo_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ ├── use_registry_spec.rb │ │ │ ├── user_spec.rb │ │ │ └── userinfo_spec.rb │ │ ├── http │ │ │ ├── build_spec.rb │ │ │ └── request_uri_spec.rb │ │ ├── join_spec.rb │ │ ├── ldap │ │ │ ├── attributes_spec.rb │ │ │ ├── build_spec.rb │ │ │ ├── dn_spec.rb │ │ │ ├── extensions_spec.rb │ │ │ ├── filter_spec.rb │ │ │ ├── hierarchical_spec.rb │ │ │ ├── scope_spec.rb │ │ │ ├── set_attributes_spec.rb │ │ │ ├── set_dn_spec.rb │ │ │ ├── set_extensions_spec.rb │ │ │ ├── set_filter_spec.rb │ │ │ └── set_scope_spec.rb │ │ ├── mailto │ │ │ ├── build_spec.rb │ │ │ ├── headers_spec.rb │ │ │ ├── set_headers_spec.rb │ │ │ ├── set_to_spec.rb │ │ │ ├── to_mailtext_spec.rb │ │ │ ├── to_rfc822text_spec.rb │ │ │ ├── to_s_spec.rb │ │ │ └── to_spec.rb │ │ ├── merge_spec.rb │ │ ├── normalize_spec.rb │ │ ├── parse_spec.rb │ │ ├── parser │ │ │ ├── escape_spec.rb │ │ │ ├── extract_spec.rb │ │ │ ├── inspect_spec.rb │ │ │ ├── join_spec.rb │ │ │ ├── make_regexp_spec.rb │ │ │ ├── parse_spec.rb │ │ │ ├── split_spec.rb │ │ │ └── unescape_spec.rb │ │ ├── plus_spec.rb │ │ ├── regexp_spec.rb │ │ ├── route_from_spec.rb │ │ ├── route_to_spec.rb │ │ ├── select_spec.rb │ │ ├── set_component_spec.rb │ │ ├── shared │ │ │ ├── eql.rb │ │ │ ├── extract.rb │ │ │ ├── join.rb │ │ │ └── parse.rb │ │ ├── split_spec.rb │ │ ├── uri_spec.rb │ │ └── util │ │ │ └── make_components_hash_spec.rb │ ├── yaml │ │ ├── dump_spec.rb │ │ ├── fixtures │ │ │ ├── example_class.rb │ │ │ └── strings.rb │ │ ├── load_file_spec.rb │ │ ├── load_spec.rb │ │ ├── shared │ │ │ └── load.rb │ │ ├── to_yaml_spec.rb │ │ └── unsafe_load_spec.rb │ └── zlib │ │ ├── adler32_spec.rb │ │ ├── crc32_spec.rb │ │ ├── crc_table_spec.rb │ │ ├── deflate │ │ ├── deflate_spec.rb │ │ ├── params_spec.rb │ │ └── set_dictionary_spec.rb │ │ ├── deflate_spec.rb │ │ ├── gunzip_spec.rb │ │ ├── gzip_spec.rb │ │ ├── gzipfile │ │ ├── close_spec.rb │ │ ├── closed_spec.rb │ │ ├── comment_spec.rb │ │ └── orig_name_spec.rb │ │ ├── inflate │ │ ├── append_spec.rb │ │ └── inflate_spec.rb │ │ ├── inflate_spec.rb │ │ ├── zlib_version_spec.rb │ │ └── zstream │ │ ├── adler_spec.rb │ │ ├── avail_in_spec.rb │ │ ├── avail_out_spec.rb │ │ └── data_type_spec.rb ├── security │ ├── cve_2013_4164_spec.rb │ ├── cve_2018_8779_spec.rb │ └── cve_2018_8780_spec.rb ├── shared │ ├── basicobject │ │ ├── method_missing.rb │ │ └── send.rb │ ├── enumerable │ │ └── minmax.rb │ ├── file │ │ ├── blockdev.rb │ │ ├── chardev.rb │ │ ├── directory.rb │ │ ├── executable.rb │ │ ├── executable_real.rb │ │ ├── exist.rb │ │ ├── file.rb │ │ ├── grpowned.rb │ │ ├── identical.rb │ │ ├── owned.rb │ │ ├── pipe.rb │ │ ├── readable.rb │ │ ├── readable_real.rb │ │ ├── setgid.rb │ │ ├── setuid.rb │ │ ├── size.rb │ │ ├── socket.rb │ │ ├── sticky.rb │ │ ├── symlink.rb │ │ ├── world_readable.rb │ │ ├── world_writable.rb │ │ ├── writable.rb │ │ ├── writable_real.rb │ │ └── zero.rb │ ├── hash │ │ └── key_error.rb │ ├── io │ │ └── putc.rb │ ├── kernel │ │ ├── at_exit.rb │ │ ├── complex.rb │ │ ├── equal.rb │ │ ├── object_id.rb │ │ └── raise.rb │ ├── process │ │ ├── abort.rb │ │ ├── exit.rb │ │ └── fork.rb │ ├── queue │ │ ├── clear.rb │ │ ├── close.rb │ │ ├── closed.rb │ │ ├── deque.rb │ │ ├── empty.rb │ │ ├── enque.rb │ │ ├── freeze.rb │ │ ├── length.rb │ │ └── num_waiting.rb │ ├── string │ │ ├── end_with.rb │ │ ├── start_with.rb │ │ └── times.rb │ ├── time │ │ ├── strftime_for_date.rb │ │ ├── strftime_for_time.rb │ │ └── yday.rb │ └── types │ │ └── rb_num2dbl_fails.rb ├── spec_helper.rb └── support │ ├── cpp_output_specs.rb │ ├── nightly_ruby_spec_runner.rb │ ├── spec.rb │ ├── split_specs.rb │ └── test_perf.rb ├── src ├── args.cpp ├── array.rb ├── array_object.cpp ├── array_packer │ ├── float_handler.cpp │ ├── integer_handler.cpp │ ├── packer.cpp │ ├── string_handler.cpp │ └── tokenizer.cpp ├── backtrace.cpp ├── bigint.c ├── bigint.cpp ├── binding_object.cpp ├── block.cpp ├── bsearch.cpp ├── class_object.cpp ├── comparable.rb ├── complex.rb ├── complex_object.cpp ├── constant.cpp ├── crypt.c ├── data.rb ├── des_tables.c ├── dir.rb ├── dir_object.cpp ├── dtoa.c ├── encoding │ ├── ascii_8bit_encoding_object.cpp │ ├── casefold.cpp │ ├── casemap.cpp │ ├── converter.rb │ ├── eucjp_encoding_object.cpp │ ├── ibm037_encoding_object.cpp │ ├── ibm437_encoding_object.cpp │ ├── ibm720_encoding_object.cpp │ ├── ibm737_encoding_object.cpp │ ├── ibm775_encoding_object.cpp │ ├── ibm850_encoding_object.cpp │ ├── ibm852_encoding_object.cpp │ ├── ibm855_encoding_object.cpp │ ├── ibm857_encoding_object.cpp │ ├── ibm860_encoding_object.cpp │ ├── ibm861_encoding_object.cpp │ ├── ibm862_encoding_object.cpp │ ├── ibm863_encoding_object.cpp │ ├── ibm864_encoding_object.cpp │ ├── ibm865_encoding_object.cpp │ ├── ibm866_encoding_object.cpp │ ├── ibm869_encoding_object.cpp │ ├── iso885910_encoding_object.cpp │ ├── iso885911_encoding_object.cpp │ ├── iso885913_encoding_object.cpp │ ├── iso885914_encoding_object.cpp │ ├── iso885915_encoding_object.cpp │ ├── iso885916_encoding_object.cpp │ ├── iso88591_encoding_object.cpp │ ├── iso88592_encoding_object.cpp │ ├── iso88593_encoding_object.cpp │ ├── iso88594_encoding_object.cpp │ ├── iso88595_encoding_object.cpp │ ├── iso88596_encoding_object.cpp │ ├── iso88597_encoding_object.cpp │ ├── iso88598_encoding_object.cpp │ ├── iso88599_encoding_object.cpp │ ├── koi8r_encoding_object.cpp │ ├── koi8u_encoding_object.cpp │ ├── shiftjis_encoding_object.cpp │ ├── single_byte_encoding_object.cpp │ ├── us_ascii_encoding_object.cpp │ ├── utf16be_encoding_object.cpp │ ├── utf16le_encoding_object.cpp │ ├── utf32be_encoding_object.cpp │ ├── utf32le_encoding_object.cpp │ ├── utf8_encoding_object.cpp │ ├── windows1250_encoding_object.cpp │ ├── windows1251_encoding_object.cpp │ ├── windows1252_encoding_object.cpp │ ├── windows1253_encoding_object.cpp │ ├── windows1254_encoding_object.cpp │ ├── windows1255_encoding_object.cpp │ ├── windows1256_encoding_object.cpp │ ├── windows1257_encoding_object.cpp │ └── windows1258_encoding_object.cpp ├── encoding_object.cpp ├── enumerable.rb ├── enumerator.rb ├── enumerator │ └── arithmetic_sequence_object.cpp ├── env.cpp ├── env_object.cpp ├── errno.rb ├── exception.rb ├── exception_object.cpp ├── false_methods.cpp ├── fiber_object.cpp ├── file.rb ├── file_object.cpp ├── file_stat_object.cpp ├── float_object.cpp ├── gc.cpp ├── gc.rb ├── gc_module.cpp ├── global_env.cpp ├── global_variable_info.cpp ├── global_variable_info │ └── access_hooks.cpp ├── hash.rb ├── hash_object.cpp ├── integer.cpp ├── integer.rb ├── integer_methods.cpp ├── io.rb ├── io_object.cpp ├── ioutil.cpp ├── kernel.rb ├── kernel_module.cpp ├── loaded_file_template.cpp ├── main_template.cpp ├── marshal.rb ├── match_data_object.cpp ├── math.rb ├── method.cpp ├── method_info.cpp ├── method_object.cpp ├── module_object.cpp ├── natalie.cpp ├── native_profiler.cpp ├── nil_methods.cpp ├── number_parser.cpp ├── numeric.rb ├── obj_unit_template.cpp ├── object.cpp ├── proc.rb ├── proc_object.cpp ├── process.rb ├── process_module.cpp ├── random.rb ├── random_object.cpp ├── range.rb ├── range_object.cpp ├── rational_object.cpp ├── rbconfig.rb ├── regexp_object.cpp ├── rounding_mode.cpp ├── set.rb ├── signal_module.cpp ├── string.rb ├── string_object.cpp ├── string_unpacker.cpp ├── string_upto_iterator.cpp ├── struct.rb ├── struct │ └── process_tms.rb ├── symbol_object.cpp ├── thread │ ├── backtrace │ │ └── location_object.cpp │ ├── conditionvariable.rb │ ├── mutex_object.cpp │ └── queue.rb ├── thread_group_object.cpp ├── thread_object.cpp ├── throw_catch_exception.cpp ├── time.rb ├── time_object.cpp ├── true_methods.cpp ├── value.cpp └── warning.rb └── test ├── .observr ├── all.rb ├── asan_test.rb ├── bytecode ├── boardslam_test.rb ├── call_with_to_proc_test.rb ├── define_method_test.rb ├── global_variables_test.rb ├── if_test.rb ├── monkeypatch_test.rb ├── multiple_assignment_test.rb ├── point_test.rb ├── puts_array_test.rb ├── puts_bool_test.rb ├── puts_complex_test.rb ├── puts_const_test.rb ├── puts_float_test.rb ├── puts_hash_test.rb ├── puts_integer_test.rb ├── puts_nil_test.rb ├── puts_rational_test.rb ├── puts_regexp_test.rb ├── puts_string_test.rb ├── rodata_test.rb ├── variable_declare_test.rb ├── variable_get_test.rb ├── while_test.rb └── with_singleton_test.rb ├── encodings ├── eucjp_debug.rb ├── eucjp_tables.rb └── shiftjis_debug.rb ├── gc_lint.rb ├── lib ├── csv │ ├── add_row_spec.rb │ ├── col_sep_spec.rb │ ├── each_spec.rb │ ├── header_row_spec.rb │ ├── headers_spec.rb │ ├── lineno_spec.rb │ ├── parser_test.rb │ ├── row_sep_spec.rb │ └── shared │ │ └── add_row.rb ├── stringio_test.rb └── strscan_test.rb ├── natalie ├── alias_test.rb ├── argument_test.rb ├── array_test.rb ├── assign_test.rb ├── autoload_test.rb ├── backtrace_test.rb ├── block_test.rb ├── boolean_test.rb ├── bootstrap_test.rb ├── break_test.rb ├── builtin_constants_test.rb ├── call_order_test.rb ├── caller_test.rb ├── case_when_test.rb ├── class_test.rb ├── class_var_test.rb ├── cli_test.rb ├── comparable_test.rb ├── complex_test.rb ├── const_defined_test.rb ├── constant_test.rb ├── data_test.rb ├── define_method_test.rb ├── defined_test.rb ├── dir_test.rb ├── dup_test.rb ├── encoding_magic_comment_test.rb ├── encoding_test.rb ├── enum_for_with_keyword_arguments_test.rb ├── enumerable_test.rb ├── enumerator_test.rb ├── env_test.rb ├── equality_test.rb ├── etc_test.rb ├── eval_test.rb ├── exception_test.rb ├── ffi_test.rb ├── fiber │ ├── scheduler_sleep_test.rb │ └── shared │ │ └── scheduler.rb ├── fiber_test.rb ├── fiddle_test.rb ├── file_test.rb ├── fileutils_test.rb ├── float_test.rb ├── fork_test.rb ├── freeze_test.rb ├── frozen_string_test.rb ├── gc_test.rb ├── global_test.rb ├── hash_test.rb ├── if_test.rb ├── implicit_conversions_test.rb ├── instance_eval_test.rb ├── integer_test.rb ├── io_test.rb ├── it_test.rb ├── ivar_test.rb ├── json_test.rb ├── kernel_complex_test.rb ├── kernel_integer_test.rb ├── kernel_test.rb ├── lambda_test.rb ├── libnat_test.rb ├── load_path_test.rb ├── loop_test.rb ├── marshal_test.rb ├── matchdata_test.rb ├── method_test.rb ├── method_visibility_test.rb ├── module_test.rb ├── modulo_test.rb ├── namespace_test.rb ├── natfixme_test.rb ├── next_test.rb ├── nil_test.rb ├── numeric_test.rb ├── openssl_cipher │ ├── block_size_test.rb │ ├── ciphers_test.rb │ ├── decrypt_test.rb │ ├── encrypt_test.rb │ ├── final_test.rb │ ├── iv_len_test.rb │ ├── iv_test.rb │ ├── key_len_test.rb │ ├── key_test.rb │ ├── new_test.rb │ ├── random_iv_test.rb │ ├── random_key_test.rb │ └── update_test.rb ├── openssl_test.rb ├── optparse_test.rb ├── pathname_test.rb ├── pattern_matching_test.rb ├── pp_test.rb ├── proc_test.rb ├── process_test.rb ├── raise_test.rb ├── random_test.rb ├── range_test.rb ├── rational_test.rb ├── rbconfig_test.rb ├── regexp_test.rb ├── require_test.rb ├── rescue_test.rb ├── respond_to_test.rb ├── return_test.rb ├── reverse_each_test.rb ├── ruby2_keywords_test.rb ├── send_test.rb ├── shell_test.rb ├── singleton_class_test.rb ├── socket_test.rb ├── spawn_test.rb ├── special_globals_test.rb ├── string_test.rb ├── stringio_test.rb ├── struct_test.rb ├── super_test.rb ├── symbol_test.rb ├── tempfile_test.rb ├── thread_test.rb ├── time_test.rb ├── tmpdir_test.rb ├── to_enum_test.rb ├── yaml_test.rb ├── yield_test.rb └── zlib_test.rb ├── ruby ├── argv_test.rb ├── bytecode_test.rb ├── examples_test.rb ├── fixtures │ ├── error.rb │ └── fiber_error.rb ├── friendly_backtrace_test.rb ├── natalie_test.rb ├── object_id_test.rb ├── repl_test.rb ├── ruby_specs_test.rb ├── streams_test.rb ├── top_level_rescue_test.rb └── vm_test.rb ├── runner.rb ├── setup_pkgconfig_with_homebrew.sh ├── spec_helper.rb └── support ├── autoload ├── missing.rb ├── nested.rb ├── query.rb ├── same_file.rb ├── simple.rb └── up_a_level.rb ├── command.rb ├── compare_rubies.rb ├── dir_test ├── bar.txt └── foo.txt ├── dollar_exe.rb ├── dollar_zero.rb ├── encoding_magic_comment_eucjp.rb ├── ffi_stubs.c ├── file.txt ├── formatters ├── default_formatter.rb ├── spec_formatter.rb └── yaml_formatter.rb ├── large_text.txt ├── large_zlib_input.txt ├── load_path ├── from_another_file │ └── from_another_file_works.rb ├── long_name │ └── long_name_works.rb ├── short_name │ └── short_name_works.rb └── unshift │ └── unshift_works.rb ├── mspec.rb ├── mspecscript.rb ├── nat_binary.rb ├── platform_guard.rb ├── post_minitest_stats_to_api.rb ├── print_args.rb ├── require ├── circular1.rb ├── circular2.rb ├── cpp_file.cpp ├── loaded.rb ├── relative.rb ├── simple.rb ├── simple │ └── relative.rb ├── simple_again.rb ├── with_fake_ext.ext └── with_fake_ext.ext.rb ├── spec.rb ├── spec_helpers ├── fs.rb ├── io.rb ├── mock_to_path.rb └── tmp.rb ├── spec_utils └── warnings.rb └── version.rb /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: WebKit 3 | PointerAlignment: Right 4 | BreakBeforeBraces: Attach 5 | AllowShortIfStatementsOnASingleLine: WithoutElse 6 | TabWidth: 4 7 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | build 2 | **/CMakeCache.txt 3 | ext/natalie_parser/*.o 4 | ext/natalie_parser/*.log 5 | ext/natalie_parser/*.h 6 | test/tmp 7 | rubyspec_temp 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | indent_style = space 7 | indent_size = 2 8 | 9 | [*.{c,cpp,h,hpp}] 10 | indent_size = 4 11 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.4 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: build 2 | 3 | build: 4 | @echo "please run 'rake'" 5 | -------------------------------------------------------------------------------- /examples/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/examples/demo.gif -------------------------------------------------------------------------------- /examples/fib.rb: -------------------------------------------------------------------------------- 1 | def fib(n) 2 | if n == 0 3 | 0 4 | elsif n == 1 5 | 1 6 | else 7 | fib(n - 1) + fib(n - 2) 8 | end 9 | end 10 | 11 | num = ARGV.first 12 | puts fib(num ? num.to_i : 25) 13 | -------------------------------------------------------------------------------- /examples/hello.rb: -------------------------------------------------------------------------------- 1 | puts 'hello world' 2 | -------------------------------------------------------------------------------- /examples/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/examples/icon.png -------------------------------------------------------------------------------- /ext/tm/.gitignore: -------------------------------------------------------------------------------- 1 | Gemfile.lock 2 | compile_commands.json 3 | build 4 | .cache 5 | -------------------------------------------------------------------------------- /ext/tm/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'ffi-clang', '~> 0.9.0' 4 | gem 'minitest' 5 | gem 'minitest-focus' 6 | gem 'minitest-reporters' 7 | gem 'rake' 8 | -------------------------------------------------------------------------------- /ext/tm/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | require 'bundler/setup' 2 | require 'minitest/autorun' 3 | require 'minitest/focus' 4 | require 'minitest/spec' 5 | -------------------------------------------------------------------------------- /include/natalie/local_jump_error_type.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace Natalie { 4 | 5 | enum class LocalJumpErrorType { 6 | Break, 7 | Return, 8 | None, 9 | }; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /include/natalie/method_missing_reason.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace Natalie { 4 | 5 | enum class MethodMissingReason { 6 | Private, 7 | Protected, 8 | Undefined, 9 | }; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /include/natalie/method_visibility.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace Natalie { 4 | 5 | enum class MethodVisibility { 6 | Private, 7 | Protected, 8 | Public, 9 | }; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /include/natalie/types.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #define NAT_INT_MIN LLONG_MIN 6 | #define NAT_INT_MAX LLONG_MAX 7 | 8 | namespace Natalie { 9 | 10 | using nat_int_t = long long; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /lib/csv/row.rb: -------------------------------------------------------------------------------- 1 | class CSV 2 | class Row 3 | attr_reader :headers, :fields 4 | 5 | def initialize(headers, fields) 6 | @headers = headers 7 | @fields = fields 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /lib/digest/md5.rb: -------------------------------------------------------------------------------- 1 | require 'openssl' 2 | 3 | module Digest 4 | MD5 = OpenSSL::Digest::MD5 5 | end 6 | -------------------------------------------------------------------------------- /lib/digest/sha1.rb: -------------------------------------------------------------------------------- 1 | require 'openssl' 2 | 3 | module Digest 4 | SHA1 = OpenSSL::Digest::SHA1 5 | end 6 | -------------------------------------------------------------------------------- /lib/digest/sha2.rb: -------------------------------------------------------------------------------- 1 | require 'openssl' 2 | 3 | module Digest 4 | SHA2 = OpenSSL::Digest::SHA256 5 | SHA256 = OpenSSL::Digest::SHA256 6 | SHA384 = OpenSSL::Digest::SHA384 7 | SHA512 = OpenSSL::Digest::SHA512 8 | end 9 | -------------------------------------------------------------------------------- /lib/erb.rb: -------------------------------------------------------------------------------- 1 | class ERB 2 | end 3 | 4 | require 'cgi/util' 5 | require 'erb/util' 6 | -------------------------------------------------------------------------------- /lib/io/nonblock.rb: -------------------------------------------------------------------------------- 1 | require 'natalie/inline' 2 | require 'io/nonblock.cpp' 3 | 4 | class IO 5 | __bind_method__ :nonblock?, :IO_is_nonblock 6 | __bind_method__ :nonblock=, :IO_set_nonblock 7 | end 8 | -------------------------------------------------------------------------------- /lib/linenoise/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | DisableFormat: true 3 | -------------------------------------------------------------------------------- /lib/matrix/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class Matrix 4 | VERSION = "0.4.2" 5 | end 6 | -------------------------------------------------------------------------------- /lib/natalie.rb: -------------------------------------------------------------------------------- 1 | require_relative 'natalie/compiler' 2 | require_relative 'natalie/parser' 3 | require_relative 'natalie/vm' 4 | -------------------------------------------------------------------------------- /lib/natalie/compiler/base_pass.rb: -------------------------------------------------------------------------------- 1 | require_relative './instructions' 2 | 3 | module Natalie 4 | class Compiler 5 | class BasePass 6 | def inspect 7 | "<#{self.class.name}:0x#{object_id.to_s(16)}>" 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/rbconfig.rb: -------------------------------------------------------------------------------- 1 | # stub so `require 'rbconfig'` works 2 | -------------------------------------------------------------------------------- /lib/time.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | class Time 4 | def to_date 5 | require 'date' 6 | 7 | Date.new(year, month, mday) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /lib/uri/version.rb: -------------------------------------------------------------------------------- 1 | module URI 2 | # :stopdoc: 3 | VERSION_CODE = '001300'.freeze 4 | VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze 5 | # :startdoc: 6 | end 7 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/bad_syntax.rb: -------------------------------------------------------------------------------- 1 | f { 2 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/conditional_range.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/debug_info.rb: -------------------------------------------------------------------------------- 1 | a = 'string' 2 | b = a 3 | c = b 4 | d = c 5 | e = d 6 | begin 7 | a << 'new part' 8 | rescue Exception => e 9 | print e.message 10 | end 11 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_across_files.rb: -------------------------------------------------------------------------------- 1 | require_relative 'freeze_flag_required' 2 | 3 | p "abc".object_id == $second_literal_id 4 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_across_files_diff_enc.rb: -------------------------------------------------------------------------------- 1 | require_relative 'freeze_flag_required_diff_enc' 2 | 3 | p "abc".object_id != $second_literal_id 4 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_one_literal.rb: -------------------------------------------------------------------------------- 1 | ids = Array.new(2) { "abc".object_id } 2 | p ids.first == ids.last 3 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_required.rb: -------------------------------------------------------------------------------- 1 | $second_literal_id = "abc".object_id 2 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_required_diff_enc.rb: -------------------------------------------------------------------------------- 1 | # encoding: euc-jp # built-in for old regexp option 2 | 3 | $second_literal_id = "abc".object_id 4 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/freeze_flag_two_literals.rb: -------------------------------------------------------------------------------- 1 | p "abc".equal?("abc") 2 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/require.rb: -------------------------------------------------------------------------------- 1 | puts $" 2 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/string_literal_frozen_comment.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | frozen = "test".frozen? 3 | interned = "test".equal?("test") 4 | puts "frozen:#{frozen} interned:#{interned}" 5 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/string_literal_mutable_comment.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: false 2 | frozen = "test".frozen? 3 | interned = "test".equal?("test") 4 | puts "frozen:#{frozen} interned:#{interned}" 5 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/string_literal_raw.rb: -------------------------------------------------------------------------------- 1 | frozen = "test".frozen? 2 | interned = "test".equal?("test") 3 | puts "frozen:#{frozen} interned:#{interned}" 4 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/test_file.rb: -------------------------------------------------------------------------------- 1 | puts "REQUIRED" 2 | -------------------------------------------------------------------------------- /spec/command_line/fixtures/verbose.rb: -------------------------------------------------------------------------------- 1 | puts $VERBOSE.inspect 2 | -------------------------------------------------------------------------------- /spec/core/array/array_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Array" do 4 | it "includes Enumerable" do 5 | Array.include?(Enumerable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/deconstruct_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Array#deconstruct" do 4 | it "returns self" do 5 | array = [1] 6 | 7 | array.deconstruct.should equal array 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/array/find_index_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/index' 3 | 4 | describe "Array#find_index" do 5 | it_behaves_like :array_index, :find_index 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/array/index_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/index' 3 | 4 | describe "Array#index" do 5 | it_behaves_like :array_index, :index 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/array/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/inspect' 4 | 5 | describe "Array#inspect" do 6 | it_behaves_like :array_inspect, :inspect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "Array#length" do 6 | it_behaves_like :array_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/minus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/difference' 4 | 5 | describe "Array#-" do 6 | it_behaves_like :array_binary_difference, :- 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/pack/percent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | 3 | describe "Array#pack with format '%'" do 4 | it "raises an Argument Error" do 5 | -> { [1].pack("%") }.should raise_error(ArgumentError) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/pack/shared/taint.rb: -------------------------------------------------------------------------------- 1 | describe :array_pack_taint, shared: true do 2 | end 3 | -------------------------------------------------------------------------------- /spec/core/array/prepend_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/unshift' 4 | 5 | describe "Array#prepend" do 6 | it_behaves_like :array_unshift, :prepend 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/push_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/push' 4 | 5 | describe "Array#push" do 6 | it_behaves_like :array_push, :push 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/replace_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/replace' 4 | 5 | describe "Array#replace" do 6 | it_behaves_like :array_replace, :replace 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/shared/enumeratorize.rb: -------------------------------------------------------------------------------- 1 | describe :enumeratorize, shared: true do 2 | it "returns an Enumerator if no block given" do 3 | [1,2].send(@method).should be_an_instance_of(Enumerator) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/array/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "Array#size" do 6 | it_behaves_like :array_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/array/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/join' 4 | require_relative 'shared/inspect' 5 | 6 | describe "Array#to_s" do 7 | it_behaves_like :array_inspect, :to_s 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/array/unshift_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/unshift' 4 | 5 | describe "Array#unshift" do 6 | it_behaves_like :array_unshift, :unshift 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/basicobject/__id__spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/kernel/object_id' 3 | 4 | describe "BasicObject#__id__" do 5 | it_behaves_like :object_id, :__id__, BasicObject 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/basicobject/fixtures/remove_method_missing.rb: -------------------------------------------------------------------------------- 1 | class BasicObject 2 | remove_method :method_missing 3 | end 4 | 5 | begin 6 | Object.new.test_method 7 | rescue NoMethodError => e 8 | puts e.class.name 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/binding/fixtures/location.rb: -------------------------------------------------------------------------------- 1 | module BindingSpecs 2 | module LocationMethod 3 | FILE_PATH = __FILE__ 4 | TEST_BINDING = binding 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/abs_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Complex#abs" do 5 | it_behaves_like :complex_abs, :abs 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/angle_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Complex#angle" do 5 | it_behaves_like :complex_arg, :angle 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/arg_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Complex#arg" do 5 | it_behaves_like :complex_arg, :arg 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/conj_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conjugate' 3 | 4 | describe "Complex#conj" do 5 | it_behaves_like :complex_conjugate, :conj 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/conjugate_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conjugate' 3 | 4 | describe "Complex#conjugate" do 5 | it_behaves_like :complex_conjugate, :conjugate 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/constants_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Complex::I" do 4 | it "is Complex(0, 1)" do 5 | Complex::I.should eql(Complex(0, 1)) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/complex/divide_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/divide' 3 | 4 | describe "Complex#/" do 5 | it_behaves_like :complex_divide, :/ 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/imag_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/image' 3 | 4 | describe "Complex#imag" do 5 | it_behaves_like :complex_image, :imag 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/imaginary_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/image' 3 | 4 | describe "Complex#imaginary" do 5 | it_behaves_like :complex_image, :imaginary 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/magnitude_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Complex#magnitude" do 5 | it_behaves_like :complex_abs, :magnitude 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/phase_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Complex#phase" do 5 | it_behaves_like :complex_arg, :phase 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/complex/quo_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/divide' 3 | 4 | describe "Complex#quo" do 5 | it_behaves_like :complex_divide, :quo 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/data/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/inspect' 3 | 4 | describe "Data#inspect" do 5 | it_behaves_like :data_inspect, :inspect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/data/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/inspect' 3 | 4 | describe "Data#to_s" do 5 | it_behaves_like :data_inspect, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/dir/dir_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Dir" do 4 | it "includes Enumerable" do 5 | Dir.include?(Enumerable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/encoding/name_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/name' 3 | 4 | describe "Encoding#name" do 5 | it_behaves_like :encoding_name, :name 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/encoding/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/name' 3 | 4 | describe "Encoding#to_s" do 5 | it_behaves_like :encoding_name, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/enumerable/collect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/collect' 4 | 5 | describe "Enumerable#collect" do 6 | it_behaves_like :enumerable_collect , :collect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/detect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/find' 4 | 5 | describe "Enumerable#detect" do 6 | it_behaves_like :enumerable_find, :detect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/entries_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/entries' 4 | 5 | describe "Enumerable#entries" do 6 | it_behaves_like :enumerable_entries, :entries 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/filter_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/find_all' 4 | 5 | describe "Enumerable#filter" do 6 | it_behaves_like :enumerable_find_all, :filter 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/find_all_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/find_all' 4 | 5 | describe "Enumerable#find_all" do 6 | it_behaves_like :enumerable_find_all, :find_all 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/find_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/find' 4 | 5 | describe "Enumerable#find" do 6 | it_behaves_like :enumerable_find, :find 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/flat_map_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/collect_concat' 4 | 5 | describe "Enumerable#flat_map" do 6 | it_behaves_like :enumerable_collect_concat, :flat_map 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/include_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/include' 4 | 5 | describe "Enumerable#include?" do 6 | it_behaves_like :enumerable_include, :include? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/inject_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/inject' 4 | 5 | describe "Enumerable#inject" do 6 | it_behaves_like :enumerable_inject, :inject 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/map_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/collect' 4 | 5 | describe "Enumerable#map" do 6 | it_behaves_like :enumerable_collect , :map 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/member_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/include' 4 | 5 | describe "Enumerable#member?" do 6 | it_behaves_like :enumerable_include, :member? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/reduce_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/inject' 4 | 5 | describe "Enumerable#reduce" do 6 | it_behaves_like :enumerable_inject, :reduce 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/select_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/find_all' 4 | 5 | describe "Enumerable#select" do 6 | it_behaves_like :enumerable_find_all, :select 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerable/to_a_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/entries' 4 | 5 | describe "Enumerable#to_a" do 6 | it_behaves_like :enumerable_entries, :to_a 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerator/each_with_object_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/with_object' 3 | 4 | describe "Enumerator#each_with_object" do 5 | it_behaves_like :enum_with_object, :each_with_object 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/enumerator/enum_for_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/enum_for' 3 | 4 | describe "Enumerator#enum_for" do 5 | it_behaves_like :enum_for, :enum_for 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/enumerator/enumerator_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Enumerator" do 4 | it "includes Enumerable" do 5 | Enumerator.include?(Enumerable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerator/first_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Enumerator#first" do 4 | it "returns arrays correctly when calling #first (2376)" do 5 | Enumerator.new {|y| y << [42] }.first.should == [42] 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/enumerator/fixtures/common.rb: -------------------------------------------------------------------------------- 1 | module EnumeratorSpecs 2 | class Feed 3 | def each 4 | ScratchPad << yield 5 | ScratchPad << yield 6 | ScratchPad << yield 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/enumerator/lazy/collect_spec.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: us-ascii -*- 2 | 3 | require_relative '../../../spec_helper' 4 | require_relative 'shared/collect' 5 | 6 | describe "Enumerator::Lazy#collect" do 7 | it_behaves_like :enumerator_lazy_collect, :collect 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/enumerator/lazy/enum_for_spec.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: us-ascii -*- 2 | 3 | require_relative '../../../spec_helper' 4 | require_relative 'shared/to_enum' 5 | 6 | describe "Enumerator::Lazy#enum_for" do 7 | it_behaves_like :enumerator_lazy_to_enum, :enum_for 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/enumerator/lazy/filter_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/select' 3 | 4 | describe "Enumerator::Lazy#filter" do 5 | it_behaves_like :enumerator_lazy_select, :filter 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/enumerator/lazy/find_all_spec.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: us-ascii -*- 2 | 3 | require_relative '../../../spec_helper' 4 | require_relative 'shared/select' 5 | 6 | describe "Enumerator::Lazy#find_all" do 7 | it_behaves_like :enumerator_lazy_select, :find_all 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/enumerator/lazy/to_enum_spec.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: us-ascii -*- 2 | 3 | require_relative '../../../spec_helper' 4 | require_relative 'shared/to_enum' 5 | 6 | describe "Enumerator::Lazy#to_enum" do 7 | it_behaves_like :enumerator_lazy_to_enum, :to_enum 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/enumerator/to_enum_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/enum_for' 3 | 4 | describe "Enumerator#to_enum" do 5 | it_behaves_like :enum_for, :to_enum 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/enumerator/with_object_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/with_object' 3 | 4 | describe "Enumerator#with_object" do 5 | it_behaves_like :enum_with_object, :with_object 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/each_pair_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative 'spec_helper' 2 | require_relative 'shared/each' 3 | 4 | describe "ENV.each_pair" do 5 | it_behaves_like :env_each, :each_pair 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/each_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative 'spec_helper' 2 | require_relative 'shared/each' 3 | 4 | describe "ENV.each" do 5 | it_behaves_like :env_each, :each 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/element_set_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/store' 3 | 4 | describe "ENV.[]=" do 5 | it_behaves_like :env_store, :[]= 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/fixtures/common.rb: -------------------------------------------------------------------------------- 1 | module ENVSpecs 2 | def self.encoding 3 | locale = Encoding.find('locale') 4 | if ruby_version_is '3' and platform_is :windows 5 | locale = Encoding::UTF_8 6 | end 7 | locale 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/env/has_key_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "ENV.has_key?" do 5 | it_behaves_like :env_include, :has_key? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/has_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/value' 3 | 4 | describe "ENV.has_value?" do 5 | it_behaves_like :env_value, :has_value? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/include_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "ENV.include?" do 5 | it_behaves_like :env_include, :include? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "ENV.length" do 5 | it_behaves_like :env_length, :length 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/member_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "ENV.member?" do 5 | it_behaves_like :env_include, :member? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/merge_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/update' 3 | 4 | describe "ENV.merge!" do 5 | it_behaves_like :env_update, :merge! 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/rehash_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "ENV.rehash" do 4 | it "returns nil" do 5 | ENV.rehash.should == nil 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/env/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "ENV.size" do 5 | it_behaves_like :env_length, :size 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/store_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/store' 3 | 4 | describe "ENV.store" do 5 | it_behaves_like :env_store, :store 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/to_hash_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative 'spec_helper' 2 | require_relative 'shared/to_hash' 3 | 4 | describe "ENV.to_hash" do 5 | it_behaves_like :env_to_hash, :to_hash 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "ENV.to_s" do 4 | it "returns \"ENV\"" do 5 | ENV.to_s.should == "ENV" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/env/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/update' 3 | 4 | describe "ENV.update" do 5 | it_behaves_like :env_update, :update 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/env/value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/value' 3 | 4 | describe "ENV.value?" do 5 | it_behaves_like :env_value, :value? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/exception/new_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/common' 3 | require_relative 'shared/new' 4 | 5 | describe "Exception.new" do 6 | it_behaves_like :exception_new, :new 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/false/dup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "FalseClass#dup" do 4 | it "returns self" do 5 | false.dup.should equal(false) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/false/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "FalseClass#inspect" do 4 | it "returns the string 'false'" do 5 | false.inspect.should == "false" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/blockdev_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/blockdev' 3 | 4 | describe "File.blockdev?" do 5 | it_behaves_like :file_blockdev, :blockdev?, File 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/chardev_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/chardev' 3 | 4 | describe "File.chardev?" do 5 | it_behaves_like :file_chardev, :chardev?, File 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/delete_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/unlink' 3 | 4 | describe "File.delete" do 5 | it_behaves_like :file_unlink, :delete 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/empty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/zero' 3 | 4 | describe "File.empty?" do 5 | it_behaves_like :file_zero, :empty?, File 6 | it_behaves_like :file_zero_missing, :empty?, File 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/fixtures/do_not_remove: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /spec/core/file/identical_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/identical' 3 | 4 | describe "File.identical?" do 5 | it_behaves_like :file_identical, :identical?, File 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/read_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/read' 3 | 4 | describe "File.read" do 5 | it_behaves_like :file_read_directory, :read, File 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/stat/file_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/file' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#file?" do 6 | it_behaves_like :file_file, :file?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/stat/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | class FileStat 2 | def self.method_missing(meth, file) 3 | File.lstat(file).send(meth) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/file/stat/setgid_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/setgid' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#setgid?" do 6 | it_behaves_like :file_setgid, :setgid?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/stat/setuid_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/setuid' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#setuid?" do 6 | it_behaves_like :file_setuid, :setuid?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/stat/socket_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/socket' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#socket?" do 6 | it_behaves_like :file_socket, :socket?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/stat/sticky_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/sticky' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#sticky?" do 6 | it_behaves_like :file_sticky, :sticky?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/stat/zero_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../../../shared/file/zero' 3 | require_relative 'fixtures/classes' 4 | 5 | describe "File::Stat#zero?" do 6 | it_behaves_like :file_zero, :zero?, FileStat 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/file/to_path_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/path' 3 | 4 | describe "File#to_path" do 5 | it_behaves_like :file_path, :to_path 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/unlink_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/unlink' 3 | 4 | describe "File.unlink" do 5 | it_behaves_like :file_unlink, :unlink 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/utime_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/update_time' 3 | 4 | describe "File.utime" do 5 | it_behaves_like :update_time, :utime 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/file/zero_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/zero' 3 | 4 | describe "File.zero?" do 5 | it_behaves_like :file_zero, :zero?, File 6 | it_behaves_like :file_zero_missing, :zero?, File 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/filetest/blockdev_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/blockdev' 3 | 4 | describe "FileTest.blockdev?" do 5 | it_behaves_like :file_blockdev, :blockdev?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/chardev_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/chardev' 3 | 4 | describe "FileTest.chardev?" do 5 | it_behaves_like :file_chardev, :chardev?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/identical_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/identical' 3 | 4 | describe "FileTest.identical?" do 5 | it_behaves_like :file_identical, :identical?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/owned_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/owned' 3 | 4 | describe "FileTest.owned?" do 5 | it_behaves_like :file_owned, :owned?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/pipe_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/pipe' 3 | 4 | describe "FileTest.pipe?" do 5 | it_behaves_like :file_pipe, :pipe?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/setgid_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/setgid' 3 | 4 | describe "FileTest.setgid?" do 5 | it_behaves_like :file_setgid, :setgid?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/setuid_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/setuid' 3 | 4 | describe "FileTest.setuid?" do 5 | it_behaves_like :file_setuid, :setuid?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/socket_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/socket' 3 | 4 | describe "FileTest.socket?" do 5 | it_behaves_like :file_socket, :socket?, FileTest 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/filetest/world_readable_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "FileTest.world_readable?" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/filetest/world_writable_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "FileTest.world_writable?" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/filetest/zero_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/file/zero' 3 | 4 | describe "FileTest.zero?" do 5 | it_behaves_like :file_zero, :zero?, FileTest 6 | it_behaves_like :file_zero_missing, :zero?, FileTest 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/float/abs_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Float#abs" do 5 | it_behaves_like :float_abs, :abs 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/angle_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Float#angle" do 5 | it_behaves_like :float_arg, :angle 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/arg_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Float#arg" do 5 | it_behaves_like :float_arg, :arg 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/case_compare_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Float#===" do 5 | it_behaves_like :float_equal, :=== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/dup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Float#dup" do 4 | it "returns self" do 5 | float = 2.4 6 | float.dup.should equal(float) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/float/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Float#==" do 5 | it_behaves_like :float_equal, :== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/fdiv_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/quo' 3 | 4 | describe "Float#fdiv" do 5 | it_behaves_like :float_quo, :fdiv 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module FloatSpecs 2 | class CoerceError < StandardError 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /spec/core/float/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Float#inspect" do 5 | it_behaves_like :float_to_s, :inspect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/magnitude_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/abs' 3 | 4 | describe "Float#magnitude" do 5 | it_behaves_like :float_abs, :magnitude 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/phase_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Float#phase" do 5 | it_behaves_like :float_arg, :phase 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/quo_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/quo' 3 | 4 | describe "Float#quo" do 5 | it_behaves_like :float_quo, :quo 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/to_f_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Float#to_f" do 4 | it "returns self" do 5 | -500.3.to_f.should == -500.3 6 | 267.51.to_f.should == 267.51 7 | 1.1412.to_f.should == 1.1412 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/float/to_i_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Float#to_i" do 5 | it_behaves_like :float_to_i, :to_i 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/to_int_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Float#to_int" do 5 | it_behaves_like :float_to_i, :to_int 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/to_r_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Float#to_r" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/float/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Float#to_s" do 5 | it_behaves_like :float_to_s, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/float/zero_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Float#zero?" do 4 | it "returns true if self is 0.0" do 5 | 0.0.should.zero? 6 | 1.0.should_not.zero? 7 | -1.0.should_not.zero? 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/hash/element_set_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/store' 4 | 5 | describe "Hash#[]=" do 6 | it_behaves_like :hash_store, :[]= 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/has_key_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/key' 4 | 5 | describe "Hash#has_key?" do 6 | it_behaves_like :hash_key_p, :has_key? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/has_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/value' 4 | 5 | describe "Hash#has_value?" do 6 | it_behaves_like :hash_value_p, :has_value? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/include_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/key' 4 | 5 | describe "Hash#include?" do 6 | it_behaves_like :hash_key_p, :include? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_s' 4 | 5 | describe "Hash#inspect" do 6 | it_behaves_like :hash_to_s, :inspect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "Hash#length" do 6 | it_behaves_like :hash_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/member_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/key' 4 | 5 | describe "Hash#member?" do 6 | it_behaves_like :hash_key_p, :member? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "Hash#size" do 6 | it_behaves_like :hash_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/store_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/store' 4 | 5 | describe "Hash#store" do 6 | it_behaves_like :hash_store, :store 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_s' 4 | 5 | describe "Hash#to_s" do 6 | it_behaves_like :hash_to_s, :to_s 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/update' 4 | 5 | describe "Hash#update" do 6 | it_behaves_like :hash_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/value' 4 | 5 | describe "Hash#value?" do 6 | it_behaves_like :hash_value_p, :value? 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/hash/values_at_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/values_at' 4 | 5 | describe "Hash#values_at" do 6 | it_behaves_like :hash_values_at, :values_at 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/integer/abs_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Integer#abs" do 5 | it_behaves_like :integer_abs, :abs 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/case_compare_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Integer#===" do 5 | it_behaves_like :integer_equal, :=== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Integer#==" do 5 | it_behaves_like :integer_equal, :== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/exponent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/exponent' 4 | 5 | describe "Integer#**" do 6 | it_behaves_like :integer_exponent, :** 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/integer/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module IntegerSpecs 2 | class CoerceError < StandardError 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /spec/core/integer/magnitude_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Integer#magnitude" do 5 | it_behaves_like :integer_abs, :magnitude 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/next_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/next' 3 | 4 | describe "Integer#next" do 5 | it_behaves_like :integer_next, :next 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/succ_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/next' 3 | 4 | describe "Integer#succ" do 5 | it_behaves_like :integer_next, :succ 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/to_i_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Integer#to_i" do 5 | it_behaves_like :integer_to_i, :to_i 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/integer/to_int_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Integer#to_int" do 5 | it_behaves_like :integer_to_i, :to_int 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/io/binwrite_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/binwrite' 3 | 4 | describe "IO.binwrite" do 5 | it_behaves_like :io_binwrite, :binwrite 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/io/fcntl_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "IO#fcntl" do 5 | it "raises IOError on closed stream" do 6 | -> { IOSpecs.closed_io.fcntl(5, 5) }.should raise_error(IOError) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/io/fdatasync_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "IO#fdatasync" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/io/fixtures/bom_UTF-16BE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/bom_UTF-16BE.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/bom_UTF-16LE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/bom_UTF-16LE.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/bom_UTF-32BE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/bom_UTF-32BE.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/bom_UTF-32LE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/bom_UTF-32LE.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/bom_UTF-8.txt: -------------------------------------------------------------------------------- 1 | UTF-8 2 | -------------------------------------------------------------------------------- /spec/core/io/fixtures/copy_stream.txt: -------------------------------------------------------------------------------- 1 | Line one 2 | 3 | Line three 4 | Line four 5 | 6 | Line last 7 | -------------------------------------------------------------------------------- /spec/core/io/fixtures/empty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/empty.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/lines.txt: -------------------------------------------------------------------------------- 1 | Voici la ligne une. 2 | Qui è la linea due. 3 | 4 | 5 | Aquí está la línea tres. 6 | Hier ist Zeile vier. 7 | 8 | Está aqui a linha cinco. 9 | Here is line six. 10 | -------------------------------------------------------------------------------- /spec/core/io/fixtures/no_bom_UTF-8.txt: -------------------------------------------------------------------------------- 1 | UTF-8 2 | -------------------------------------------------------------------------------- /spec/core/io/fixtures/one_byte.txt: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /spec/core/io/fixtures/read_binary.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/read_binary.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/read_euc_jp.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/io/fixtures/read_euc_jp.txt -------------------------------------------------------------------------------- /spec/core/io/fixtures/read_text.txt: -------------------------------------------------------------------------------- 1 | abcâdef 2 | -------------------------------------------------------------------------------- /spec/core/io/isatty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/tty' 3 | 4 | describe "IO#isatty" do 5 | it_behaves_like :io_tty, :isatty 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/io/tell_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/pos' 4 | 5 | describe "IO#tell" do 6 | it_behaves_like :io_pos, :tell 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/io/tty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/tty' 3 | 4 | describe "IO#tty?" do 5 | it_behaves_like :io_tty, :tty? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/Complex.rb: -------------------------------------------------------------------------------- 1 | module KernelSpecs 2 | def self.Complex_method(string) 3 | Complex(string) 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/__dir__.rb: -------------------------------------------------------------------------------- 1 | puts __FILE__ 2 | puts __dir__ 3 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/autoload_b.rb: -------------------------------------------------------------------------------- 1 | module KSAutoloadB 2 | def self.loaded 3 | :ksautoload_b 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/autoload_d.rb: -------------------------------------------------------------------------------- 1 | module KSAutoloadD 2 | def self.loaded 3 | :ksautoload_d 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/autoload_from_included_module.rb: -------------------------------------------------------------------------------- 1 | module KernelSpecs 2 | module AutoloadMethod 3 | module AutoloadFromIncludedModule 4 | def self.loaded 5 | :autoload_from_included_module 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/autoload_from_included_module2.rb: -------------------------------------------------------------------------------- 1 | module KernelSpecs 2 | module AutoloadMethod2 3 | module AutoloadFromIncludedModule2 4 | def self.loaded 5 | :autoload_from_included_module2 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/autoload_frozen.rb: -------------------------------------------------------------------------------- 1 | Object.freeze 2 | 3 | begin 4 | autoload :ANY_CONSTANT, "no_autoload.rb" 5 | rescue Exception => e 6 | print e.class, " - ", defined?(ANY_CONSTANT).inspect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/caller.rb: -------------------------------------------------------------------------------- 1 | module KernelSpecs 2 | class CallerTest 3 | def self.locations(*args) 4 | caller(*args) 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/caller_at_exit.rb: -------------------------------------------------------------------------------- 1 | at_exit { 2 | foo 3 | } 4 | 5 | def foo 6 | puts caller(0) 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/caller_locations.rb: -------------------------------------------------------------------------------- 1 | module KernelSpecs 2 | class CallerLocationsTest 3 | def self.locations(*args) 4 | caller_locations(*args) 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/chomp.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | $_ = "あれ\r\n" 4 | print Kernel.chomp 5 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/chomp_f.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | $_ = "あれ\r\n" 4 | print chomp 5 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/chop.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | $_ = "あれ" 4 | print Kernel.chop 5 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/chop_f.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | $_ = "あれ" 4 | print chop 5 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/eval_locals.rb: -------------------------------------------------------------------------------- 1 | begin 2 | eval("a = 2") 3 | eval("p a") 4 | rescue Object => e 5 | puts e.class 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/eval_return_with_lambda.rb: -------------------------------------------------------------------------------- 1 | print "a," 2 | x = -> do 3 | print "b," 4 | Proc.new do 5 | print "c," 6 | eval("return :eval") 7 | print "d," 8 | end.call 9 | print "e," 10 | end.call 11 | print x, "," 12 | print "f" 13 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/warn_require.rb: -------------------------------------------------------------------------------- 1 | warn 'warn-require-warning', uplevel: 1 2 | -------------------------------------------------------------------------------- /spec/core/kernel/fixtures/warn_require_caller.rb: -------------------------------------------------------------------------------- 1 | # Use a different line than just 1 2 | require "#{__dir__}/warn_require" 3 | -------------------------------------------------------------------------------- /spec/core/kernel/is_a_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/kind_of' 3 | 4 | describe "Kernel#is_a?" do 5 | it_behaves_like :kernel_kind_of, :is_a? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/kind_of_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/kind_of' 3 | 4 | describe "Kernel#kind_of?" do 5 | it_behaves_like :kernel_kind_of, :kind_of? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/match_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Kernel#=~" do 4 | it "is no longer defined" do 5 | Object.new.should_not.respond_to?(:=~) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/kernel/object_id_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/kernel/object_id' 3 | 4 | describe "Kernel#object_id" do 5 | it_behaves_like :object_id, :object_id, Object 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/taint_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#taint" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:taint) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/tainted_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#tainted?" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:tainted?) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/then_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/then' 3 | 4 | describe "Kernel#then" do 5 | it_behaves_like :kernel_then, :then 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/kernel/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#to_s" do 5 | it "returns a String containing the name of self's class" do 6 | Object.new.to_s.should =~ /Object/ 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/trust_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#trust" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:trust) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/untaint_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#untaint" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:untaint) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/untrust_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#untrust" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:untrust) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/untrusted_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Kernel#untrusted?" do 5 | it "has been removed" do 6 | Object.new.should_not.respond_to?(:untrusted?) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/kernel/yield_self_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/then' 3 | 4 | describe "Kernel#yield_self" do 5 | it_behaves_like :kernel_then, :yield_self 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/main/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "main#to_s" do 4 | it "returns 'main'" do 5 | eval('to_s', TOPLEVEL_BINDING).should == "main" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/marshal/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module MarshalSpec 2 | # empty modules 3 | module M1 end 4 | end 5 | -------------------------------------------------------------------------------- /spec/core/marshal/fixtures/marshal_multibyte_data.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | module MarshalSpec 4 | class MultibyteぁあぃいClass 5 | end 6 | 7 | module MultibyteけげこごModule 8 | end 9 | 10 | class MultibyteぁあぃいTime < Time 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /spec/core/marshal/load_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/load' 3 | 4 | describe "Marshal.load" do 5 | it_behaves_like :marshal_load, :load 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/marshal/major_version_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Marshal::MAJOR_VERSION" do 4 | it "is 4" do 5 | Marshal::MAJOR_VERSION.should == 4 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/marshal/minor_version_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Marshal::MINOR_VERSION" do 4 | it "is 8" do 5 | Marshal::MINOR_VERSION.should == 8 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/marshal/restore_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/load' 3 | 4 | describe "Marshal.restore" do 5 | it_behaves_like :marshal_load, :restore 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/captures_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/captures' 3 | 4 | describe "MatchData#captures" do 5 | it_behaves_like :matchdata_captures, :captures 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/deconstruct_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/captures' 3 | 4 | describe "MatchData#deconstruct" do 5 | it_behaves_like :matchdata_captures, :deconstruct 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/eql_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/eql' 3 | 4 | describe "MatchData#eql?" do 5 | it_behaves_like :matchdata_eql, :eql? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/eql' 3 | 4 | describe "MatchData#==" do 5 | it_behaves_like :matchdata_eql, :== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module MatchDataSpecs 2 | class MyString < String; end 3 | end 4 | -------------------------------------------------------------------------------- /spec/core/matchdata/hash_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "MatchData#hash" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/matchdata/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "MatchData#length" do 5 | it_behaves_like :matchdata_length, :length 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/matchdata/shared/length.rb: -------------------------------------------------------------------------------- 1 | describe :matchdata_length, shared: true do 2 | it "length should return the number of elements in the match array" do 3 | /(.)(.)(\d+)(\d)/.match("THX1138.").send(@method).should == 5 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/matchdata/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "MatchData#size" do 5 | it_behaves_like :matchdata_length, :size 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/math/fixtures/common.rb: -------------------------------------------------------------------------------- 1 | class IncludesMath 2 | include Math 3 | end 4 | -------------------------------------------------------------------------------- /spec/core/method/call_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/call' 4 | 5 | describe "Method#call" do 6 | it_behaves_like :method_call, :call 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/method/case_compare_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/call' 4 | 5 | describe "Method#===" do 6 | it_behaves_like :method_call, :=== 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/method/element_reference_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/call' 4 | 5 | describe "Method#[]" do 6 | it_behaves_like :method_call, :[] 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/module/class_exec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/class_exec' 4 | 5 | describe "Module#class_exec" do 6 | it_behaves_like :module_class_exec, :class_exec 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/autoload_abc.rb: -------------------------------------------------------------------------------- 1 | module ModuleSpecs::Autoload::FromThread 2 | module A 3 | class B 4 | class C 5 | def self.foo 6 | :foo 7 | end 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/autoload_empty.rb: -------------------------------------------------------------------------------- 1 | # This file is left empty on purpose 2 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/constant_unicode.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | module ConstantUnicodeSpecs 4 | CS_CONSTλ = :const_unicode 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/constants_autoload_a.rb: -------------------------------------------------------------------------------- 1 | module CSAutoloadA 2 | end 3 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/constants_autoload_b.rb: -------------------------------------------------------------------------------- 1 | module CSAutoloadB 2 | end 3 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/constants_autoload_c.rb: -------------------------------------------------------------------------------- 1 | module CSAutoloadC 2 | CONST = 7 3 | end 4 | -------------------------------------------------------------------------------- /spec/core/module/fixtures/constants_autoload_d.rb: -------------------------------------------------------------------------------- 1 | module CSAutoloadD 2 | module InnerModule 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /spec/core/module/module_exec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/class_exec' 4 | 5 | describe "Module#module_exec" do 6 | it_behaves_like :module_class_exec, :module_exec 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/dup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#dup" do 4 | it "returns self" do 5 | nil.dup.should equal(nil) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#inspect" do 4 | it "returns the string 'nil'" do 5 | nil.inspect.should == "nil" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/nil_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#nil?" do 4 | it "returns true" do 5 | nil.should.nil? 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/to_a_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#to_a" do 4 | it "returns an empty array" do 5 | nil.to_a.should == [] 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/to_c_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#to_c" do 4 | it "returns Complex(0, 0)" do 5 | nil.to_c.should eql(Complex(0, 0)) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/nil/to_h_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#to_h" do 4 | it "returns an empty hash" do 5 | nil.to_h.should == {} 6 | nil.to_h.default.should == nil 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/nil/to_r_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "NilClass#to_r" do 4 | it "returns 0/1" do 5 | nil.to_r.should == Rational(0, 1) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/numeric/abs_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/abs' 3 | 4 | describe "Numeric#abs" do 5 | it_behaves_like :numeric_abs, :abs 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/angle_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Numeric#angle" do 5 | it_behaves_like :numeric_arg, :angle 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/arg_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Numeric#arg" do 5 | it_behaves_like :numeric_arg, :arg 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/conj_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conj' 3 | 4 | describe "Numeric#conj" do 5 | it_behaves_like :numeric_conj, :conj 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/conjugate_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conj' 3 | 4 | describe "Numeric#conjugate" do 5 | it_behaves_like :numeric_conj, :conjugate 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/finite_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Numeric#finite?" do 4 | it "returns true by default" do 5 | o = mock_numeric("finite") 6 | o.finite?.should be_true 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/numeric/imag_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/imag' 3 | 4 | describe "Numeric#imag" do 5 | it_behaves_like :numeric_imag, :imag 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/imaginary_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/imag' 3 | 4 | describe "Numeric#imaginary" do 5 | it_behaves_like :numeric_imag, :imaginary 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/infinite_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Numeric#infinite?" do 4 | it "returns nil by default" do 5 | o = mock_numeric("infinite") 6 | o.infinite?.should == nil 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/numeric/integer_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Numeric#integer?" do 5 | it "returns false" do 6 | NumericSpecs::Subclass.new.should_not.integer? 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/numeric/magnitude_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/abs' 3 | 4 | describe "Numeric#magnitude" do 5 | it_behaves_like :numeric_abs, :magnitude 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/numeric_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Numeric" do 4 | it "includes Comparable" do 5 | Numeric.include?(Comparable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/numeric/phase_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/arg' 3 | 4 | describe "Numeric#phase" do 5 | it_behaves_like :numeric_arg, :phase 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/rect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/rect' 3 | 4 | describe "Numeric#rect" do 5 | it_behaves_like :numeric_rect, :rect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/rectangular_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/rect' 3 | 4 | describe "Numeric#rectangular" do 5 | it_behaves_like :numeric_rect, :rectangular 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/numeric/uplus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Numeric#+@" do 5 | it "returns self" do 6 | obj = NumericSpecs::Subclass.new 7 | obj.send(:+@).should == obj 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/proc/allocate_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Proc.allocate" do 4 | it "raises a TypeError" do 5 | -> { 6 | Proc.allocate 7 | }.should raise_error(TypeError) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/proc/eql_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Proc#eql?" do 5 | it_behaves_like :proc_equal, :eql? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/proc/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal' 3 | 4 | describe "Proc#==" do 5 | it_behaves_like :proc_equal, :== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/proc/fixtures/proc_aref.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: false 2 | module ProcArefSpecs 3 | def self.aref 4 | proc {|a| a }["sometext"] 5 | end 6 | 7 | def self.aref_freeze 8 | proc {|a| a }["sometext".freeze] 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /spec/core/proc/fixtures/proc_aref_frozen.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | module ProcArefFrozenSpecs 3 | def self.aref 4 | proc {|a| a }["sometext"] 5 | end 6 | 7 | def self.aref_freeze 8 | proc {|a| a }["sometext".freeze] 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /spec/core/proc/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Proc#inspect" do 5 | it_behaves_like :proc_to_s, :inspect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/proc/to_proc_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Proc#to_proc" do 4 | it "returns self" do 5 | [Proc.new {}, -> {}, proc {}].each { |p| 6 | p.to_proc.should equal(p) 7 | } 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/proc/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Proc#to_s" do 5 | it_behaves_like :proc_to_s, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/process/abort_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/process/abort' 3 | 4 | describe "Process.abort" do 5 | it_behaves_like :process_abort, :abort, Process 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/process/fixtures/in.txt: -------------------------------------------------------------------------------- 1 | stdin 2 | -------------------------------------------------------------------------------- /spec/core/process/fork_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/process/fork' 3 | 4 | describe "Process.fork" do 5 | it_behaves_like :process_fork, :fork, Process 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/enque' 3 | 4 | describe "Queue#<<" do 5 | it_behaves_like :queue_enq, :<<, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/clear_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/clear' 3 | 4 | describe "Queue#clear" do 5 | it_behaves_like :queue_clear, :clear, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/close_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/close' 3 | 4 | describe "Queue#close" do 5 | it_behaves_like :queue_close, :close, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/closed_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/closed' 3 | 4 | describe "Queue#closed?" do 5 | it_behaves_like :queue_closed?, :closed?, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/empty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/empty' 3 | 4 | describe "Queue#empty?" do 5 | it_behaves_like :queue_empty?, :empty?, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/enq_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/enque' 3 | 4 | describe "Queue#enq" do 5 | it_behaves_like :queue_enq, :enq, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/freeze_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/freeze' 3 | 4 | describe "Queue#freeze" do 5 | it_behaves_like :queue_freeze, :freeze, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/length' 3 | 4 | describe "Queue#length" do 5 | it_behaves_like :queue_length, :length, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/num_waiting_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/num_waiting' 3 | 4 | describe "Queue#num_waiting" do 5 | it_behaves_like :queue_num_waiting, :num_waiting, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/push_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/enque' 3 | 4 | describe "Queue#push" do 5 | it_behaves_like :queue_enq, :push, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/queue/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative '../../shared/queue/length' 3 | 4 | describe "Queue#size" do 5 | it_behaves_like :queue_length, :size, -> { Queue.new } 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/range/begin_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/begin' 3 | 4 | describe "Range#begin" do 5 | it_behaves_like :range_begin, :begin 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/range/end_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/end' 3 | 4 | describe "Range#end" do 5 | it_behaves_like :range_end, :end 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/range/range_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Range" do 4 | it "includes Enumerable" do 5 | Range.include?(Enumerable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/rational/abs_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/abs' 3 | 4 | describe "Rational#abs" do 5 | it_behaves_like :rational_abs, :abs 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/rational/fdiv_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | 3 | describe "Rational#fdiv" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/rational/magnitude_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | require_relative 'shared/abs' 3 | 4 | describe "Rational#abs" do 5 | it_behaves_like :rational_abs, :magnitude 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/rational/remainder_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../spec_helper" 2 | 3 | describe "Rational#remainder" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/regexp/casefold_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Regexp#casefold?" do 4 | it "returns the value of the case-insensitive flag" do 5 | /abc/i.should.casefold? 6 | /xyz/.should_not.casefold? 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/regexp/eql_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal_value' 3 | 4 | describe "Regexp#eql?" do 5 | it_behaves_like :regexp_eql, :eql? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/regexp/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/equal_value' 3 | 4 | describe "Regexp#==" do 5 | it_behaves_like :regexp_eql, :== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/regexp/escape_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/quote' 3 | 4 | describe "Regexp.escape" do 5 | it_behaves_like :regexp_quote, :escape 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/regexp/quote_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/quote' 3 | 4 | describe "Regexp.quote" do 5 | it_behaves_like :regexp_quote, :quote 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/regexp/shared/new.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/regexp/shared/new.rb -------------------------------------------------------------------------------- /spec/core/set/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/add' 3 | 4 | describe "Set#<<" do 5 | it_behaves_like :set_add, :<< 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/case_equality_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "Set#===" do 5 | it_behaves_like :set_include, :=== 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/collect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/collect' 3 | 4 | describe "Set#collect!" do 5 | it_behaves_like :set_collect_bang, :collect! 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/difference_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/difference' 3 | 4 | describe "Set#difference" do 5 | it_behaves_like :set_difference, :difference 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/filter_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/select' 3 | 4 | describe "Set#filter!" do 5 | it_behaves_like :set_select_bang, :filter! 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/include_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "Set#include?" do 5 | it_behaves_like :set_include, :include? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/inspect' 3 | 4 | describe "Set#inspect" do 5 | it_behaves_like :set_inspect, :inspect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "Set#length" do 5 | it_behaves_like :set_length, :length 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/map_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/collect' 3 | 4 | describe "Set#map!" do 5 | it_behaves_like :set_collect_bang, :map! 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/member_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/include' 3 | 4 | describe "Set#member?" do 5 | it_behaves_like :set_include, :member? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/minus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/difference' 3 | 4 | describe "Set#-" do 5 | it_behaves_like :set_difference, :- 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/plus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/union' 3 | 4 | describe "Set#+" do 5 | it_behaves_like :set_union, :+ 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/select_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/select' 3 | 4 | describe "Set#select!" do 5 | it_behaves_like :set_select_bang, :select! 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/shared/length.rb: -------------------------------------------------------------------------------- 1 | describe :set_length, shared: true do 2 | it "returns the number of elements in the set" do 3 | set = Set[:a, :b, :c] 4 | set.send(@method).should == 3 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "Set#size" do 5 | it_behaves_like :set_length, :size 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/set/to_a_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Set#to_a" do 4 | it "returns an array containing elements of self" do 5 | Set[1, 2, 3].to_a.sort.should == [1, 2, 3] 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/set/union_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/union' 3 | 4 | describe "Set#union" do 5 | it_behaves_like :set_union, :union 6 | end 7 | 8 | describe "Set#|" do 9 | it_behaves_like :set_union, :| 10 | end 11 | -------------------------------------------------------------------------------- /spec/core/string/dedup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/dedup' 3 | 4 | describe 'String#dedup' do 5 | it_behaves_like :string_dedup, :dedup 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/string/fixtures/freeze_magic_comment.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | print (+ 'frozen string').frozen? ? 'immutable' : 'mutable' 4 | -------------------------------------------------------------------------------- /spec/core/string/fixtures/iso-8859-9-encoding.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/spec/core/string/fixtures/iso-8859-9-encoding.rb -------------------------------------------------------------------------------- /spec/core/string/fixtures/to_c.rb: -------------------------------------------------------------------------------- 1 | module StringSpecs 2 | def self.to_c_method(string) 3 | string.to_c 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/string/intern_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_sym' 4 | 5 | describe "String#intern" do 6 | it_behaves_like :string_to_sym, :intern 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "String#length" do 6 | it_behaves_like :string_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/multiply_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative '../../shared/string/times' 4 | 5 | describe "String#*" do 6 | it_behaves_like :string_times, :*, -> str, times { str * times } 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/replace_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/replace' 4 | 5 | describe "String#replace" do 6 | it_behaves_like :string_replace, :replace 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "String#size" do 6 | it_behaves_like :string_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/string_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "String" do 4 | it "includes Comparable" do 5 | String.include?(Comparable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_s' 4 | 5 | describe "String#to_s" do 6 | it_behaves_like :string_to_s, :to_s 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/to_str_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_s' 4 | 5 | describe "String#to_str" do 6 | it_behaves_like :string_to_s, :to_str 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/to_sym_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_sym' 4 | 5 | describe "String#to_sym" do 6 | it_behaves_like :string_to_sym, :to_sym 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/uminus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/dedup' 3 | 4 | describe 'String#-@' do 5 | it_behaves_like :string_dedup, :-@ 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/string/unpack/percent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | 3 | describe "String#unpack with format '%'" do 4 | it "raises an Argument Error" do 5 | -> { "abc".unpack("%") }.should raise_error(ArgumentError) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/string/unpack/shared/taint.rb: -------------------------------------------------------------------------------- 1 | describe :string_unpack_taint, shared: true do 2 | end 3 | -------------------------------------------------------------------------------- /spec/core/struct/clone_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/dup' 4 | 5 | describe "Struct-based class#clone" do 6 | it_behaves_like :struct_dup, :clone 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/struct/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/equal_value' 4 | 5 | describe "Struct#==" do 6 | it_behaves_like :struct_equal_value, :== 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/struct/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/inspect' 4 | 5 | describe "Struct#inspect" do 6 | it_behaves_like :struct_inspect, :inspect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/symbol/dup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Symbol#dup" do 4 | it "returns self" do 5 | :a_symbol.dup.should equal(:a_symbol) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/symbol/element_reference_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/slice' 3 | 4 | describe "Symbol#[]" do 5 | it_behaves_like :symbol_slice, :[] 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/end_with_spec.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | require_relative '../../spec_helper' 4 | require_relative '../../shared/string/end_with' 5 | 6 | describe "Symbol#end_with?" do 7 | it_behaves_like :end_with, :to_sym 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/symbol/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module SymbolSpecs 2 | class MyRange < Range; end 3 | end 4 | -------------------------------------------------------------------------------- /spec/core/symbol/id2name_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/id2name' 3 | 4 | describe "Symbol#id2name" do 5 | it_behaves_like :symbol_id2name, :id2name 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "Symbol#length" do 5 | it_behaves_like :symbol_length, :length 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/next_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/succ' 3 | 4 | describe "Symbol#next" do 5 | it_behaves_like :symbol_succ, :next 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | 4 | describe "Symbol#size" do 5 | it_behaves_like :symbol_length, :size 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/slice_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/slice' 3 | 4 | describe "Symbol#slice" do 5 | it_behaves_like :symbol_slice, :slice 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/succ_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/succ' 3 | 4 | describe "Symbol#succ" do 5 | it_behaves_like :symbol_succ, :succ 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/id2name' 3 | 4 | describe "Symbol#to_s" do 5 | it_behaves_like :symbol_id2name, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/symbol/to_sym_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Symbol#to_sym" do 4 | it "returns self" do 5 | [:rubinius, :squash, :[], :@ruby, :@@ruby].each do |sym| 6 | sym.to_sym.should == sym 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/core/thread/backtrace/location/fixtures/main.rb: -------------------------------------------------------------------------------- 1 | def backtrace_location_example 2 | caller_locations[0].path 3 | end 4 | 5 | print backtrace_location_example 6 | -------------------------------------------------------------------------------- /spec/core/thread/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Thread#inspect" do 5 | it_behaves_like :thread_to_s, :inspect 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/thread/pass_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "Thread.pass" do 5 | it "returns nil" do 6 | Thread.pass.should == nil 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/thread/run_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | require_relative 'shared/wakeup' 5 | 6 | describe "Thread#run" do 7 | it_behaves_like :thread_wakeup, :run 8 | end 9 | -------------------------------------------------------------------------------- /spec/core/thread/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_s' 3 | 4 | describe "Thread#to_s" do 5 | it_behaves_like :thread_to_s, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/thread/wakeup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/wakeup' 4 | 5 | describe "Thread#wakeup" do 6 | it_behaves_like :thread_wakeup, :wakeup 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/time/asctime_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/asctime' 3 | 4 | describe "Time#asctime" do 5 | it_behaves_like :time_asctime, :asctime 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/ctime_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/asctime' 3 | 4 | describe "Time#ctime" do 5 | it_behaves_like :time_asctime, :ctime 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/day_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/day' 3 | 4 | describe "Time#day" do 5 | it_behaves_like :time_day, :day 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/dst_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/isdst' 3 | 4 | describe "Time#dst?" do 5 | it_behaves_like :time_isdst, :dst? 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/getgm_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/getgm' 3 | 4 | describe "Time#getgm" do 5 | it_behaves_like :time_getgm, :getgm 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/getutc_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/getgm' 3 | 4 | describe "Time#getutc" do 5 | it_behaves_like :time_getgm, :getutc 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/gmt_offset_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/gmt_offset' 3 | 4 | describe "Time#gmt_offset" do 5 | it_behaves_like :time_gmt_offset, :gmt_offset 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/gmtoff_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/gmt_offset' 3 | 4 | describe "Time#gmtoff" do 5 | it_behaves_like :time_gmt_offset, :gmtoff 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/isdst_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/isdst' 3 | 4 | describe "Time#isdst" do 5 | it_behaves_like :time_isdst, :isdst 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/mday_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/day' 3 | 4 | describe "Time#mday" do 5 | it_behaves_like :time_day, :mday 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/mon_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/month' 3 | 4 | describe "Time#mon" do 5 | it_behaves_like :time_month, :mon 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/month_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/month' 3 | 4 | describe "Time#month" do 5 | it_behaves_like :time_month, :month 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/sec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Time#sec" do 4 | it "returns the second of the minute(0..60) for time" do 5 | Time.at(0).sec.should == 0 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/time/shared/asctime.rb: -------------------------------------------------------------------------------- 1 | describe :time_asctime, shared: true do 2 | it "returns a canonical string representation of time" do 3 | t = Time.now 4 | t.send(@method).should == t.strftime("%a %b %e %H:%M:%S %Y") 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/time_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Time" do 4 | it "includes Comparable" do 5 | Time.include?(Comparable).should == true 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/time/to_f_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Time#to_f" do 4 | it "returns the float number of seconds + usecs since the epoch" do 5 | Time.at(100, 100).to_f.should == 100.0001 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/time/to_i_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Time#to_i" do 5 | it_behaves_like :time_to_i, :to_i 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/inspect' 3 | 4 | describe "Time#to_s" do 5 | it_behaves_like :inspect, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/tv_nsec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Time#tv_nsec" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/time/tv_sec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/to_i' 3 | 4 | describe "Time#tv_sec" do 5 | it_behaves_like :time_to_i, :tv_sec 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/time/tv_usec_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Time#tv_usec" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/time/utc_offset_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/gmt_offset' 3 | 4 | describe "Time#utc_offset" do 5 | it_behaves_like :time_gmt_offset, :utc_offset 6 | end 7 | -------------------------------------------------------------------------------- /spec/core/true/dup_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "TrueClass#dup" do 4 | it "returns self" do 5 | true.dup.should equal(true) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/true/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "TrueClass#inspect" do 4 | it "returns the string 'true'" do 5 | true.inspect.should == "true" 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/unboundmethod/eql_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "UnboundMethod#eql?" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/core/unboundmethod/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/to_s' 4 | 5 | describe "UnboundMethod#inspect" do 6 | it_behaves_like :unboundmethod_to_s, :inspect 7 | end 8 | -------------------------------------------------------------------------------- /spec/core/unboundmethod/parameters_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "UnboundMethod#parameters" do 4 | it "needs to be reviewed for spec completeness" 5 | end 6 | -------------------------------------------------------------------------------- /spec/language/fixtures/argv_encoding.rb: -------------------------------------------------------------------------------- 1 | p ARGV.map { |a| a.encoding.name } 2 | -------------------------------------------------------------------------------- /spec/language/fixtures/binary_symbol.rb: -------------------------------------------------------------------------------- 1 | # encoding: binary 2 | 3 | p :il_était.to_s.bytes 4 | puts :il_était.encoding.name 5 | -------------------------------------------------------------------------------- /spec/language/fixtures/break_lambda_toplevel.rb: -------------------------------------------------------------------------------- 1 | print "a," 2 | 3 | print -> { 4 | print "b," 5 | break "break," 6 | print "c," 7 | }.call 8 | 9 | puts "d" 10 | -------------------------------------------------------------------------------- /spec/language/fixtures/break_lambda_toplevel_method.rb: -------------------------------------------------------------------------------- 1 | print "a," 2 | 3 | l = -> { 4 | print "b," 5 | break "break," 6 | print "c," 7 | } 8 | 9 | def a(l) 10 | print "d," 11 | print l.call 12 | print "e," 13 | end 14 | 15 | a(l) 16 | 17 | puts "f" 18 | -------------------------------------------------------------------------------- /spec/language/fixtures/class_with_class_variable.rb: -------------------------------------------------------------------------------- 1 | module StringSpecs 2 | class ClassWithClassVariable 3 | @@a = "xxx" 4 | 5 | def foo 6 | "#@@a" 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/language/fixtures/coding_us_ascii.rb: -------------------------------------------------------------------------------- 1 | # encoding: us-ascii 2 | 3 | module CodingUS_ASCII 4 | def self.encoding 5 | __ENCODING__ 6 | end 7 | 8 | def self.string_literal 9 | "string literal" 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /spec/language/fixtures/coding_utf_8.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | module CodingUTF_8 4 | def self.encoding 5 | __ENCODING__ 6 | end 7 | 8 | def self.string_literal 9 | "string literal" 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /spec/language/fixtures/delegation.rb: -------------------------------------------------------------------------------- 1 | module DelegationSpecs 2 | class Target 3 | def target(*args, **kwargs) 4 | [args, kwargs] 5 | end 6 | 7 | def target_block(*args, **kwargs) 8 | yield [kwargs, args] 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /spec/language/fixtures/dollar_zero.rb: -------------------------------------------------------------------------------- 1 | puts $0 2 | puts __FILE__ 3 | 4 | if $0 == __FILE__ 5 | print "OK" 6 | end 7 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_across_files.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative 'freeze_magic_comment_required' 4 | 5 | p "abc".object_id == $second_literal_id 6 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_across_files_diff_enc.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative 'freeze_magic_comment_required_diff_enc' 4 | 5 | p "abc".object_id != $second_literal_id 6 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_across_files_no_comment.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative 'freeze_magic_comment_required_no_comment' 4 | 5 | p "abc".object_id != $second_literal_id 6 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_one_literal.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | ids = Array.new(2) { "abc".object_id } 4 | p ids.first == ids.last 5 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_required.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | $second_literal_id = "abc".object_id 4 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_required_diff_enc.rb: -------------------------------------------------------------------------------- 1 | # encoding: euc-jp # built-in for old regexp option 2 | # frozen_string_literal: true 3 | 4 | $second_literal_id = "abc".object_id 5 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_required_no_comment.rb: -------------------------------------------------------------------------------- 1 | $second_literal_id = "abc".object_id 2 | -------------------------------------------------------------------------------- /spec/language/fixtures/freeze_magic_comment_two_literals.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | p "abc".equal?("abc") 4 | -------------------------------------------------------------------------------- /spec/language/fixtures/hash_strings_binary.rb: -------------------------------------------------------------------------------- 1 | # encoding: binary 2 | 3 | module HashStringsBinary 4 | def self.literal_hash 5 | {"foo" => "bar"} 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/language/fixtures/hash_strings_usascii.rb: -------------------------------------------------------------------------------- 1 | # encoding: us-ascii 2 | 3 | module HashStringsUSASCII 4 | def self.literal_hash 5 | {"foo" => "bar"} 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/language/fixtures/hash_strings_utf8.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | module HashStringsUTF8 4 | def self.literal_hash 5 | {"foo" => "bar"} 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/language/fixtures/match_operators.rb: -------------------------------------------------------------------------------- 1 | class OperatorImplementor 2 | def =~(val) 3 | return val 4 | end 5 | 6 | def !~(val) 7 | return val 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/language/fixtures/rescue/top_level.rb: -------------------------------------------------------------------------------- 1 | # capturing in local variable at top-level 2 | 3 | begin 4 | raise "message" 5 | rescue => e 6 | ScratchPad << e.message 7 | end 8 | -------------------------------------------------------------------------------- /spec/language/fixtures/utf16-be-nobom.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-16be 2 | puts 'hello' 3 | -------------------------------------------------------------------------------- /spec/language/fixtures/utf16-le-nobom.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-16le 2 | puts 'hello' 3 | 4 | -------------------------------------------------------------------------------- /spec/language/fixtures/utf8-bom.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | puts 'hello' 3 | -------------------------------------------------------------------------------- /spec/language/fixtures/utf8-nobom.rb: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | puts 'hello' 3 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data1.rb: -------------------------------------------------------------------------------- 1 | puts Object.const_defined?(:DATA) 2 | 3 | __END__ 4 | data1 5 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data2.rb: -------------------------------------------------------------------------------- 1 | require_relative 'data4' 2 | 3 | p Object.const_defined?(:DATA) 4 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data3.rb: -------------------------------------------------------------------------------- 1 | require_relative 'data4' 2 | 3 | puts DATA.read 4 | 5 | __END__ 6 | data 3 7 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data4.rb: -------------------------------------------------------------------------------- 1 | # nothing 2 | 3 | __END__ 4 | data 4 5 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data5.rb: -------------------------------------------------------------------------------- 1 | DATA.rewind 2 | puts DATA.gets 3 | 4 | __END__ 5 | data 5 6 | -------------------------------------------------------------------------------- /spec/language/predefined/fixtures/data_offset.rb: -------------------------------------------------------------------------------- 1 | # some comment 2 | 3 | foo = < year, month, day { Date.new(year, month, day).yday } 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/date/year_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'date' 3 | 4 | describe "Date#year" do 5 | it "returns the year" do 6 | y = Date.new(2000, 7, 1).year 7 | y.should == 2000 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /spec/library/delegate/delegator/taint_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../fixtures/classes' 3 | 4 | describe "Delegator#taint" do 5 | before :each do 6 | @delegate = DelegateSpecs::Delegator.new("") 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/delegate/delegator/trust_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../fixtures/classes' 3 | 4 | describe "Delegator#trust" do 5 | before :each do 6 | @delegate = DelegateSpecs::Delegator.new([]) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/delegate/delegator/untrust_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../fixtures/classes' 3 | 4 | describe "Delegator#untrust" do 5 | before :each do 6 | @delegate = DelegateSpecs::Delegator.new("") 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/digest/instance/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'digest' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::Instance#<<" do 6 | it_behaves_like :digest_instance_update, :<< 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/instance/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'digest' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::Instance#update" do 6 | it_behaves_like :digest_instance_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/md5/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::MD5#<<" do 6 | it_behaves_like :md5_update, :<< 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/md5/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::MD5#length" do 6 | it_behaves_like :md5_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/md5/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::MD5#size" do 6 | it_behaves_like :md5_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/md5/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::MD5#update" do 6 | it_behaves_like :md5_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha256/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA256#<<" do 6 | it_behaves_like :sha256_update, :<< 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha256/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA256#length" do 6 | it_behaves_like :sha256_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha256/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA256#size" do 6 | it_behaves_like :sha256_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha256/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA256#update" do 6 | it_behaves_like :sha256_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha384/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA384#<<" do 6 | it_behaves_like :sha384_update, :<< 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha384/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA384#length" do 6 | it_behaves_like :sha384_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha384/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA384#size" do 6 | it_behaves_like :sha384_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha384/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA384#update" do 6 | it_behaves_like :sha384_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha512/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA512#<<" do 6 | it_behaves_like :sha512_update, :<< 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha512/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA512#length" do 6 | it_behaves_like :sha512_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha512/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/length' 4 | 5 | describe "Digest::SHA512#size" do 6 | it_behaves_like :sha512_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/digest/sha512/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/constants' 3 | require_relative 'shared/update' 4 | 5 | describe "Digest::SHA512#update" do 6 | it_behaves_like :sha512_update, :update 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/erb/util/h_spec.rb: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | require_relative '../../../spec_helper' 3 | require_relative 'shared/html_escape' 4 | 5 | describe "ERB::Util.h" do 6 | it_behaves_like :erb_util_html_escape, :h 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/erb/util/html_escape_spec.rb: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | require_relative '../../../spec_helper' 3 | require_relative 'shared/html_escape' 4 | 5 | describe "ERB::Util.html_escape" do 6 | it_behaves_like :erb_util_html_escape, :html_escape 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/erb/util/u_spec.rb: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | require_relative '../../../spec_helper' 3 | require_relative 'shared/url_encode' 4 | 5 | describe "ERB::Util.u" do 6 | it_behaves_like :erb_util_url_encode, :u 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/erb/util/url_encode_spec.rb: -------------------------------------------------------------------------------- 1 | require 'erb' 2 | require_relative '../../../spec_helper' 3 | require_relative 'shared/url_encode' 4 | 5 | describe "ERB::Util.url_encode" do 6 | it_behaves_like :erb_util_url_encode, :url_encode 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/endgrent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/windows' 3 | require 'etc' 4 | 5 | describe "Etc.endgrent" do 6 | it_behaves_like :etc_on_windows, :endgrent 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/endpwent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/windows' 3 | require 'etc' 4 | 5 | describe "Etc.endpwent" do 6 | it_behaves_like :etc_on_windows, :endpwent 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/getgrent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/windows' 3 | require 'etc' 4 | 5 | describe "Etc.getgrent" do 6 | it_behaves_like :etc_on_windows, :getgrent 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/getpwent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/windows' 3 | require 'etc' 4 | 5 | describe "Etc.getpwent" do 6 | it_behaves_like :etc_on_windows, :getpwent 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/shared/windows.rb: -------------------------------------------------------------------------------- 1 | describe :etc_on_windows, shared: true do 2 | platform_is :windows do 3 | it "returns nil" do 4 | Etc.send(@method).should == nil 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/etc/systmpdir_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'etc' 3 | 4 | describe "Etc.systmpdir" do 5 | it "returns a String" do 6 | Etc.systmpdir.should be_an_instance_of(String) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/matrix/I_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/identity' 3 | 4 | describe "Matrix.I" do 5 | it_behaves_like :matrix_identity, :I 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/coerce_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix#coerce" do 5 | it "allows the division of integer by a Matrix " do 6 | (1/Matrix[[0,1],[-1,0]]).should == Matrix[[0,-1],[1,0]] 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/matrix/collect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/collect' 3 | 4 | describe "Matrix#collect" do 5 | it_behaves_like :collect, :collect 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/conj_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conjugate' 3 | 4 | describe "Matrix#conj" do 5 | it_behaves_like :matrix_conjugate, :conj 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/conjugate_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/conjugate' 3 | 4 | describe "Matrix#conjugate" do 5 | it_behaves_like :matrix_conjugate, :conjugate 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/det_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/determinant' 3 | require 'matrix' 4 | 5 | describe "Matrix#det" do 6 | it_behaves_like :determinant, :det 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/determinant_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/determinant' 3 | require 'matrix' 4 | 5 | describe "Matrix#determinant" do 6 | it_behaves_like :determinant, :determinant 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | require 'matrix' 2 | 3 | class MatrixSub < Matrix 4 | def self.ins 5 | rows([[1, 0], [0, 1]]) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/identity_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/identity' 3 | 4 | describe "Matrix.identity" do 5 | it_behaves_like :matrix_identity, :identity 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/imag_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/imaginary' 3 | 4 | describe "Matrix#imag" do 5 | it_behaves_like :matrix_imaginary, :imag 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/imaginary_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/imaginary' 3 | 4 | describe "Matrix#imaginary" do 5 | it_behaves_like :matrix_imaginary, :imaginary 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/inv_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'spec_helper' 3 | require_relative 'shared/inverse' 4 | 5 | describe "Matrix#inv" do 6 | it_behaves_like :inverse, :inv 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/inverse_from_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix#inverse_from" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/inverse_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'spec_helper' 3 | require_relative 'shared/inverse' 4 | 5 | describe "Matrix#inverse" do 6 | it_behaves_like :inverse, :inverse 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/map_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/collect' 3 | 4 | describe "Matrix#map" do 5 | it_behaves_like :collect, :map 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/new_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix.new" do 5 | it "is private" do 6 | Matrix.should have_private_method(:new) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/matrix/rect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/rectangular' 3 | 4 | describe "Matrix#rect" do 5 | it_behaves_like :matrix_rectangular, :rect 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/rectangular_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/rectangular' 3 | 4 | describe "Matrix#rectangular" do 5 | it_behaves_like :matrix_rectangular, :rectangular 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/Fail_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#Fail" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/Raise_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#Raise" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/divide_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#/" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/exponent_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#**" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/included_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar.included" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/initialize_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#initialize" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/minus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#-" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/multiply_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#*" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/scalar/plus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix::Scalar#+" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/t_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/transpose' 3 | 4 | describe "Matrix#transpose" do 5 | it_behaves_like :matrix_transpose, :t 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'matrix' 3 | 4 | describe "Matrix#to_s" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/tr_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/trace' 3 | require 'matrix' 4 | 5 | describe "Matrix#tr" do 6 | it_behaves_like :trace, :tr 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/trace_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/trace' 3 | require 'matrix' 4 | 5 | describe "Matrix#trace" do 6 | it_behaves_like :trace, :trace 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/matrix/transpose_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/transpose' 3 | 4 | describe "Matrix#transpose" do 5 | it_behaves_like :matrix_transpose, :transpose 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/matrix/unit_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/identity' 3 | 4 | describe "Matrix.unit" do 5 | it_behaves_like :matrix_identity, :unit 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/openssl/digest/append_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/update' 3 | 4 | describe "OpenSSL::Digest#<<" do 5 | it_behaves_like :openssl_digest_update, :<< 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/openssl/digest/update_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/update' 3 | 4 | describe "OpenSSL::Digest#update" do 5 | it_behaves_like :openssl_digest_update, :update 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/openssl/random/random_bytes_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative 'shared/random_bytes' 3 | 4 | describe "OpenSSL::Random.random_bytes" do 5 | it_behaves_like :openssl_random_bytes, :random_bytes 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/openstruct/fixtures/classes.rb: -------------------------------------------------------------------------------- 1 | module OpenStructSpecs 2 | class OpenStructSub < OpenStruct 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /spec/library/openstruct/initialize_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'ostruct' 3 | 4 | describe "OpenStruct#initialize" do 5 | it "is private" do 6 | OpenStruct.should have_private_instance_method(:initialize) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/openstruct/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'ostruct' 3 | require_relative 'fixtures/classes' 4 | require_relative 'shared/inspect' 5 | 6 | describe "OpenStruct#to_s" do 7 | it_behaves_like :ostruct_inspect, :to_s 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/pathname/divide_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/plus' 3 | 4 | describe "Pathname#/" do 5 | it_behaves_like :pathname_plus, :/ 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/pathname/plus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/plus' 3 | 4 | describe "Pathname#+" do 5 | it_behaves_like :pathname_plus, :+ 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/socket/addrinfo/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../spec_helper' 2 | require_relative 'shared/to_sockaddr' 3 | 4 | describe "Addrinfo#to_s" do 5 | it_behaves_like :socket_addrinfo_to_sockaddr, :to_s 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/socket/addrinfo/to_sockaddr_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../spec_helper' 2 | require_relative 'shared/to_sockaddr' 3 | 4 | describe "Addrinfo#to_sockaddr" do 5 | it_behaves_like :socket_addrinfo_to_sockaddr, :to_sockaddr 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/socket/fixtures/send_io.txt: -------------------------------------------------------------------------------- 1 | This data is magic. 2 | -------------------------------------------------------------------------------- /spec/library/socket/socket/pair_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../spec_helper' 2 | require_relative '../fixtures/classes' 3 | require_relative '../shared/socketpair' 4 | 5 | describe "Socket.pair" do 6 | it_behaves_like :socket_socketpair, :pair 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/socket/socket/socketpair_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../spec_helper' 2 | require_relative '../fixtures/classes' 3 | require_relative '../shared/socketpair' 4 | 5 | describe "Socket.socketpair" do 6 | it_behaves_like :socket_socketpair, :socketpair 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/socket/tcpsocket/open_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative "../../../spec_helper" 2 | require_relative 'shared/new' 3 | 4 | describe "TCPSocket.open" do 5 | it_behaves_like :tcpsocket_new, :open 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/stringio/fileno_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'stringio' 3 | 4 | describe "StringIO#fileno" do 5 | it "returns nil" do 6 | StringIO.new("nuffin").fileno.should be_nil 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/stringio/isatty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/isatty' 4 | 5 | describe "StringIO#isatty" do 6 | it_behaves_like :stringio_isatty, :isatty 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringio/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "StringIO#length" do 6 | it_behaves_like :stringio_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringio/pid_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | 4 | describe "StringIO#pid" do 5 | it "returns nil" do 6 | StringIO.new("pid").pid.should be_nil 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/stringio/shared/isatty.rb: -------------------------------------------------------------------------------- 1 | describe :stringio_isatty, shared: true do 2 | it "returns false" do 3 | StringIO.new("tty").send(@method).should be_false 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/library/stringio/shared/length.rb: -------------------------------------------------------------------------------- 1 | describe :stringio_length, shared: true do 2 | it "returns the length of the wrapped string" do 3 | StringIO.new("example").send(@method).should == 7 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/library/stringio/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/length' 4 | 5 | describe "StringIO#size" do 6 | it_behaves_like :stringio_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringio/stringio_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require "stringio" 3 | 4 | describe "StringIO" do 5 | it "includes the Enumerable module" do 6 | StringIO.should include(Enumerable) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/stringio/tell_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/tell' 4 | 5 | describe "StringIO#tell" do 6 | it_behaves_like :stringio_tell, :tell 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringio/tty_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'fixtures/classes' 3 | require_relative 'shared/isatty' 4 | 5 | describe "StringIO#tty?" do 6 | it_behaves_like :stringio_isatty, :tty? 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/beginning_of_line_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/bol' 3 | require 'strscan' 4 | 5 | describe "StringScanner#beginning_of_line?" do 6 | it_behaves_like :strscan_bol, :beginning_of_line? 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/bol_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/bol' 3 | require 'strscan' 4 | 5 | describe "StringScanner#bol?" do 6 | it_behaves_like :strscan_bol, :bol? 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/eos_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/eos' 3 | require 'strscan' 4 | 5 | describe "StringScanner#eos?" do 6 | it_behaves_like :strscan_eos, :eos? 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/get_byte_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/get_byte' 3 | require 'strscan' 4 | 5 | describe "StringScanner#get_byte" do 6 | it_behaves_like :strscan_get_byte, :get_byte 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/must_C_version_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'strscan' 3 | 4 | describe "StringScanner.must_C_version" do 5 | it "returns self" do 6 | StringScanner.must_C_version.should == StringScanner 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/stringscanner/peek_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/peek' 3 | require 'strscan' 4 | 5 | describe "StringScanner#peek" do 6 | it_behaves_like :strscan_peek, :peek 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/rest_size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/rest_size' 3 | require 'strscan' 4 | 5 | describe "StringScanner#rest_size" do 6 | it_behaves_like :strscan_rest_size, :rest_size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/stringscanner/terminate_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/terminate' 3 | require 'strscan' 4 | 5 | describe "StringScanner#terminate" do 6 | it_behaves_like :strscan_terminate, :terminate 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/tempfile/delete_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/unlink' 3 | require 'tempfile' 4 | 5 | describe "Tempfile#delete" do 6 | it_behaves_like :tempfile_unlink, :delete 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/tempfile/length_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | require 'tempfile' 4 | 5 | describe "Tempfile#length" do 6 | it_behaves_like :tempfile_length, :length 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/tempfile/size_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/length' 3 | require 'tempfile' 4 | 5 | describe "Tempfile#size" do 6 | it_behaves_like :tempfile_length, :size 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/tempfile/unlink_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require_relative 'shared/unlink' 3 | require 'tempfile' 4 | 5 | describe "Tempfile#unlink" do 6 | it_behaves_like :tempfile_unlink, :unlink 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/thread/queue_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | 3 | describe "Thread::Queue" do 4 | it "is the same class as ::Queue" do 5 | Thread.should have_constant(:Queue) 6 | Thread::Queue.should equal ::Queue 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/library/uri/decode_www_form_component_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI.decode_www_form_component" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/decode_www_form_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI.decode_www_form" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/encode_www_form_component_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI.encode_www_form_component" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/encode_www_form_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI.encode_www_form" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/escape/decode_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Escape#decode" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/escape/encode_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Escape#encode" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/escape/escape_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Escape#escape" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/escape/unescape_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Escape#unescape" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ftp/build_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::FTP.build" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ftp/merge_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::FTP#merge" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ftp/new2_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::FTP.new2" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ftp/set_typecode_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::FTP#set_typecode" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/build2_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic.build2" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/build_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic.build" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/coerce_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#coerce" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/component_ary_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#component_ary" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/eql_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#eql?" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/equal_value_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#==" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/hash_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#hash" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/hierarchical_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#hierarchical?" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#inspect" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/minus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#-" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/plus_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#+" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/relative_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#relative?" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/route_from_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#route_from" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/route_to_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#route_to" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/select_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#select" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_fragment_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_fragment" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_host_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_host" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_opaque_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_opaque" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_password_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_password" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_path_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_path" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_port_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_port" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_query_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_query" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_registry_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_registry" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_scheme_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_scheme" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_user_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_user" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/set_userinfo_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic#set_userinfo" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/generic/use_registry_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Generic.use_registry" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/http/build_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::HTTP.build" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/build_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP.build" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/hierarchical_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#hierarchical?" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/set_attributes_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#set_attributes" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/set_dn_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#set_dn" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/set_extensions_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#set_extensions" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/set_filter_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#set_filter" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/ldap/set_scope_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::LDAP#set_scope" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/mailto/set_headers_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::MailTo#set_headers" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/mailto/set_to_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::MailTo#set_to" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/mailto/to_mailtext_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::MailTo#to_mailtext" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/mailto/to_rfc822text_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::MailTo#to_rfc822text" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/mailto/to_s_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::MailTo#to_s" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/parser/escape_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Parser#escape" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/parser/extract_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../shared/extract' 3 | require 'uri' 4 | 5 | describe "URI::Parser#extract" do 6 | it_behaves_like :uri_extract, :extract, URI::Parser.new 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/uri/parser/inspect_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Parser#split" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/parser/join_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../shared/join' 3 | require 'uri' 4 | 5 | describe "URI::Parser#join" do 6 | it_behaves_like :uri_join, :join, URI::Parser.new 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/uri/parser/make_regexp_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Parser#make_regexp" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/parser/parse_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require_relative '../fixtures/classes' 3 | require_relative '../shared/parse' 4 | 5 | describe "URI::Parser#parse" do 6 | it_behaves_like :uri_parse, :parse, URI::Parser.new 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/uri/parser/split_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Parser#split" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/parser/unescape_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Parser#unescape" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/split_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI.split" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/uri/util/make_components_hash_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../../spec_helper' 2 | require 'uri' 3 | 4 | describe "URI::Util.make_components_hash" do 5 | it "needs to be reviewed for spec completeness" 6 | end 7 | -------------------------------------------------------------------------------- /spec/library/yaml/fixtures/example_class.rb: -------------------------------------------------------------------------------- 1 | module YAMLSpecs 2 | class Example 3 | def initialize(name) 4 | @name = name 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/library/zlib/zlib_version_spec.rb: -------------------------------------------------------------------------------- 1 | require_relative '../../spec_helper' 2 | require 'zlib' 3 | 4 | describe "Zlib.zlib_version" do 5 | it "returns the version of the libz library" do 6 | Zlib.zlib_version.should be_an_instance_of(String) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/shared/file/owned.rb: -------------------------------------------------------------------------------- 1 | describe :file_owned, shared: true do 2 | it "accepts an object that has a #to_path method" 3 | end 4 | -------------------------------------------------------------------------------- /spec/shared/file/pipe.rb: -------------------------------------------------------------------------------- 1 | describe :file_pipe, shared: true do 2 | it "accepts an object that has a #to_path method" 3 | end 4 | -------------------------------------------------------------------------------- /spec/shared/file/setgid.rb: -------------------------------------------------------------------------------- 1 | describe :file_setgid, shared: true do 2 | end 3 | -------------------------------------------------------------------------------- /spec/shared/file/setuid.rb: -------------------------------------------------------------------------------- 1 | describe :file_setuid, shared: true do 2 | end 3 | -------------------------------------------------------------------------------- /spec/shared/file/socket.rb: -------------------------------------------------------------------------------- 1 | describe :file_socket, shared: true do 2 | it "accepts an object that has a #to_path method" 3 | end 4 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require_relative 'support/spec' 2 | -------------------------------------------------------------------------------- /spec/support/spec.rb: -------------------------------------------------------------------------------- 1 | # some day we'll be able to use mspec, but for now... 2 | require_relative '../../test/support/spec' 3 | -------------------------------------------------------------------------------- /src/complex_object.cpp: -------------------------------------------------------------------------------- 1 | #include "natalie.hpp" 2 | 3 | namespace Natalie { 4 | 5 | Value ComplexObject::inspect(Env *env) { 6 | return StringObject::format("({}+{}i)", m_real.inspected(env), m_imaginary.inspected(env)); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/gc.rb: -------------------------------------------------------------------------------- 1 | module GC 2 | def garbage_collect(...) = GC.start(...) 3 | end 4 | -------------------------------------------------------------------------------- /src/method_info.cpp: -------------------------------------------------------------------------------- 1 | #include "natalie.hpp" 2 | 3 | namespace Natalie { 4 | 5 | void MethodInfo::visit_children(Cell::Visitor &visitor) const { 6 | visitor.visit(m_method); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/obj_unit_template.cpp: -------------------------------------------------------------------------------- 1 | #include "natalie.hpp" 2 | 3 | using namespace Natalie; 4 | 5 | /*NAT_DECLARATIONS*/ 6 | 7 | Value init_OBJ_NAME(Env *env, Value self) { 8 | /*NAT_EVAL_INIT*/ 9 | /*NAT_EVAL_BODY*/ 10 | return Value::nil(); 11 | } 12 | -------------------------------------------------------------------------------- /src/proc.rb: -------------------------------------------------------------------------------- 1 | class Proc 2 | public :binding 3 | end 4 | -------------------------------------------------------------------------------- /src/struct/process_tms.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | # 3 | # Can't define this in process.rb, that file is compiled before struct.rb. 4 | 5 | module Process 6 | Tms = Struct.new(:utime, :stime, :cutime, :cstime) 7 | end 8 | -------------------------------------------------------------------------------- /test/ruby/fixtures/error.rb: -------------------------------------------------------------------------------- 1 | def method_with_error 2 | puts something_non_existent 3 | end 4 | 5 | def method2 6 | [1, 2].each { |i| method_with_error } 7 | end 8 | 9 | def method1 10 | method2 11 | end 12 | 13 | method1 14 | -------------------------------------------------------------------------------- /test/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require_relative 'support/spec' 2 | require_relative 'support/nat_binary' 3 | -------------------------------------------------------------------------------- /test/support/autoload/missing.rb: -------------------------------------------------------------------------------- 1 | $missing_loaded = true 2 | -------------------------------------------------------------------------------- /test/support/autoload/nested.rb: -------------------------------------------------------------------------------- 1 | module Foo 2 | class Nested 3 | class A < UpALevel # superclass Foo::UpALevel 4 | end 5 | end 6 | end 7 | 8 | $foo_nested_loaded = true 9 | -------------------------------------------------------------------------------- /test/support/autoload/query.rb: -------------------------------------------------------------------------------- 1 | module Foo 2 | class Query 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /test/support/autoload/same_file.rb: -------------------------------------------------------------------------------- 1 | module Foo 2 | class SameFile1 3 | end 4 | 5 | class SameFile2 6 | end 7 | end 8 | 9 | $same_file_loaded ||= 0 10 | $same_file_loaded += 1 11 | -------------------------------------------------------------------------------- /test/support/autoload/simple.rb: -------------------------------------------------------------------------------- 1 | module Foo 2 | class Simple 3 | end 4 | end 5 | 6 | $foo_simple_loaded = true 7 | -------------------------------------------------------------------------------- /test/support/autoload/up_a_level.rb: -------------------------------------------------------------------------------- 1 | module Foo 2 | class UpALevel 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /test/support/dir_test/bar.txt: -------------------------------------------------------------------------------- 1 | this file is used by dir_test.rb 2 | -------------------------------------------------------------------------------- /test/support/dir_test/foo.txt: -------------------------------------------------------------------------------- 1 | this file is used by dir_test.rb 2 | -------------------------------------------------------------------------------- /test/support/dollar_exe.rb: -------------------------------------------------------------------------------- 1 | p $exe 2 | -------------------------------------------------------------------------------- /test/support/dollar_zero.rb: -------------------------------------------------------------------------------- 1 | p $0 2 | -------------------------------------------------------------------------------- /test/support/encoding_magic_comment_eucjp.rb: -------------------------------------------------------------------------------- 1 | # encoding: euc-jp 2 | 3 | def encoding_magic_comment_eucjp 4 | 'foo'.encoding 5 | end 6 | -------------------------------------------------------------------------------- /test/support/file.txt: -------------------------------------------------------------------------------- 1 | foo bar baz 2 | -------------------------------------------------------------------------------- /test/support/large_zlib_input.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natalie-lang/natalie/fa9df8dae07dd42bcd1d154815686303efa15dc6/test/support/large_zlib_input.txt -------------------------------------------------------------------------------- /test/support/load_path/from_another_file/from_another_file_works.rb: -------------------------------------------------------------------------------- 1 | module LoadPath 2 | class FromAnotherFileWorks 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /test/support/load_path/long_name/long_name_works.rb: -------------------------------------------------------------------------------- 1 | $LOAD_PATH << File.expand_path('../from_another_file', __dir__) 2 | require 'from_another_file_works' 3 | 4 | module LoadPath 5 | class LongNameWorks 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /test/support/load_path/short_name/short_name_works.rb: -------------------------------------------------------------------------------- 1 | module LoadPath 2 | class ShortNameWorks 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /test/support/load_path/unshift/unshift_works.rb: -------------------------------------------------------------------------------- 1 | module LoadPath 2 | class UnshiftWorks 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /test/support/mspec.rb: -------------------------------------------------------------------------------- 1 | class MSpec 2 | def self.features 3 | @features || {} 4 | end 5 | 6 | def self.enable_feature(name) 7 | @features ||= {} 8 | @features[name] = true 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /test/support/mspecscript.rb: -------------------------------------------------------------------------------- 1 | class MSpecScript 2 | end 3 | -------------------------------------------------------------------------------- /test/support/nat_binary.rb: -------------------------------------------------------------------------------- 1 | ENV['NAT_BINARY'] ||= 'bin/natalie' 2 | ENV['NAT_BINARY'] = File.join(__dir__, '../..', ENV['NAT_BINARY']) unless File.absolute_path?(ENV['NAT_BINARY']) 3 | NAT_BINARY = ENV['NAT_BINARY'] 4 | -------------------------------------------------------------------------------- /test/support/print_args.rb: -------------------------------------------------------------------------------- 1 | p ARGV 2 | -------------------------------------------------------------------------------- /test/support/require/circular1.rb: -------------------------------------------------------------------------------- 1 | require_relative './circular2' 2 | -------------------------------------------------------------------------------- /test/support/require/circular2.rb: -------------------------------------------------------------------------------- 1 | require_relative './circular1' 2 | -------------------------------------------------------------------------------- /test/support/require/loaded.rb: -------------------------------------------------------------------------------- 1 | def loaded 2 | 'loaded' 3 | end 4 | -------------------------------------------------------------------------------- /test/support/require/relative.rb: -------------------------------------------------------------------------------- 1 | def relative 2 | 'relative' 3 | end 4 | -------------------------------------------------------------------------------- /test/support/require/simple.rb: -------------------------------------------------------------------------------- 1 | class Foo1 2 | require_relative './simple/relative' 3 | end 4 | 5 | def simple 6 | 'simple' 7 | end 8 | 9 | top_level_var = 1 10 | -------------------------------------------------------------------------------- /test/support/require/simple/relative.rb: -------------------------------------------------------------------------------- 1 | class Foo1 2 | class Bar1 3 | end 4 | end 5 | 6 | def simple_relative 7 | 'simple_relative' 8 | end 9 | -------------------------------------------------------------------------------- /test/support/require/simple_again.rb: -------------------------------------------------------------------------------- 1 | def simple_again 2 | 'simple_again' 3 | end 4 | 5 | $simple_again_loaded ||= 0 6 | $simple_again_loaded += 1 7 | -------------------------------------------------------------------------------- /test/support/require/with_fake_ext.ext: -------------------------------------------------------------------------------- 1 | raise 'This file should not be loaded because there is a sibling file with a .rb extension.' 2 | -------------------------------------------------------------------------------- /test/support/require/with_fake_ext.ext.rb: -------------------------------------------------------------------------------- 1 | def foo4 2 | 'foo4' 3 | end 4 | --------------------------------------------------------------------------------