summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/ruby/.travis.yml3
-rw-r--r--spec/ruby/CHANGES.before-2008-05-1017796
-rw-r--r--spec/ruby/README.md3
-rw-r--r--spec/ruby/core/array/difference_spec.rb2
-rw-r--r--spec/ruby/core/array/to_h_spec.rb39
-rw-r--r--spec/ruby/core/binding/fixtures/location.rb6
-rw-r--r--spec/ruby/core/binding/source_location_spec.rb11
-rw-r--r--spec/ruby/core/dir/children_spec.rb66
-rw-r--r--spec/ruby/core/dir/each_child_spec.rb52
-rw-r--r--spec/ruby/core/enumerable/chain_spec.rb22
-rw-r--r--spec/ruby/core/enumerable/to_h_spec.rb44
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb11
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb19
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb11
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb20
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb19
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb11
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb22
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb22
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb11
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb19
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb19
-rw-r--r--spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb15
-rw-r--r--spec/ruby/core/enumerator/chain/each_spec.rb17
-rw-r--r--spec/ruby/core/enumerator/chain/initialize_spec.rb33
-rw-r--r--spec/ruby/core/enumerator/chain/inspect_spec.rb16
-rw-r--r--spec/ruby/core/enumerator/chain/rewind_spec.rb53
-rw-r--r--spec/ruby/core/enumerator/chain/size_spec.rb24
-rw-r--r--spec/ruby/core/enumerator/each_spec.rb88
-rw-r--r--spec/ruby/core/enumerator/inject_spec.rb15
-rw-r--r--spec/ruby/core/enumerator/lazy/filter_spec.rb8
-rw-r--r--spec/ruby/core/enumerator/new_spec.rb39
-rw-r--r--spec/ruby/core/enumerator/next_spec.rb25
-rw-r--r--spec/ruby/core/enumerator/plus_spec.rb35
-rw-r--r--spec/ruby/core/enumerator/rewind_spec.rb36
-rw-r--r--spec/ruby/core/env/filter_spec.rb15
-rw-r--r--spec/ruby/core/env/select_spec.rb32
-rw-r--r--spec/ruby/core/env/shared/select.rb32
-rw-r--r--spec/ruby/core/env/to_h_spec.rb54
-rw-r--r--spec/ruby/core/exception/full_message_spec.rb37
-rw-r--r--spec/ruby/core/exception/key_error_spec.rb15
-rw-r--r--spec/ruby/core/exception/name_error_spec.rb11
-rw-r--r--spec/ruby/core/exception/no_method_error_spec.rb13
-rw-r--r--spec/ruby/core/file/open_spec.rb27
-rw-r--r--spec/ruby/core/hash/merge_spec.rb11
-rw-r--r--spec/ruby/core/hash/shared/update.rb12
-rw-r--r--spec/ruby/core/hash/to_h_spec.rb46
-rw-r--r--spec/ruby/core/io/ungetbyte_spec.rb9
-rw-r--r--spec/ruby/core/kernel/Complex_spec.rb48
-rw-r--r--spec/ruby/core/kernel/Float_spec.rb25
-rw-r--r--spec/ruby/core/kernel/Integer_spec.rb105
-rw-r--r--spec/ruby/core/kernel/match_spec.rb8
-rw-r--r--spec/ruby/core/kernel/shared/load.rb3
-rw-r--r--spec/ruby/core/kernel/shared/require.rb3
-rw-r--r--spec/ruby/core/method/compose_spec.rb101
-rw-r--r--spec/ruby/core/method/fixtures/classes.rb25
-rw-r--r--spec/ruby/core/module/attr_spec.rb3
-rw-r--r--spec/ruby/core/module/autoload_spec.rb3
-rw-r--r--spec/ruby/core/module/method_defined_spec.rb51
-rw-r--r--spec/ruby/core/module/private_method_defined_spec.rb50
-rw-r--r--spec/ruby/core/module/protected_method_defined_spec.rb50
-rw-r--r--spec/ruby/core/module/refine_spec.rb57
-rw-r--r--spec/ruby/core/nil/match_spec.rb19
-rw-r--r--spec/ruby/core/numeric/step_spec.rb14
-rw-r--r--spec/ruby/core/proc/compose_spec.rb94
-rw-r--r--spec/ruby/core/proc/shared/compose.rb47
-rw-r--r--spec/ruby/core/process/fixtures/in.txt1
-rw-r--r--spec/ruby/core/process/spawn_spec.rb34
-rw-r--r--spec/ruby/core/range/case_compare_spec.rb12
-rw-r--r--spec/ruby/core/range/fixtures/classes.rb22
-rw-r--r--spec/ruby/core/range/new_spec.rb26
-rw-r--r--spec/ruby/core/range/percent_spec.rb18
-rw-r--r--spec/ruby/core/range/shared/cover.rb60
-rw-r--r--spec/ruby/core/range/step_spec.rb35
-rw-r--r--spec/ruby/core/string/split_spec.rb12
-rw-r--r--spec/ruby/core/struct/to_h_spec.rb43
-rw-r--r--spec/ruby/core/tracepoint/eval_script_spec.rb22
-rw-r--r--spec/ruby/core/tracepoint/instruction_sequence_spec.rb23
-rw-r--r--spec/ruby/language/constants_spec.rb32
-rw-r--r--spec/ruby/language/if_spec.rb12
-rw-r--r--spec/ruby/language/range_spec.rb19
-rw-r--r--spec/ruby/language/safe_spec.rb56
-rw-r--r--spec/ruby/language/variables_spec.rb28
-rw-r--r--spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb3
-rw-r--r--spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb3
-rw-r--r--spec/ruby/library/openstruct/to_h_spec.rb40
-rw-r--r--spec/ruby/library/set/disjoint_spec.rb23
-rw-r--r--spec/ruby/library/set/equal_value_spec.rb7
-rw-r--r--spec/ruby/library/set/fixtures/set_like.rb31
-rw-r--r--spec/ruby/library/set/flatten_spec.rb13
-rw-r--r--spec/ruby/library/set/intersect_spec.rb23
-rw-r--r--spec/ruby/library/set/proper_subset_spec.rb7
-rw-r--r--spec/ruby/library/set/proper_superset_spec.rb7
-rw-r--r--spec/ruby/library/set/subset_spec.rb7
-rw-r--r--spec/ruby/library/set/superset_spec.rb7
-rw-r--r--spec/ruby/library/stringscanner/clear_spec.rb6
-rw-r--r--spec/ruby/library/stringscanner/empty_spec.rb6
-rw-r--r--spec/ruby/library/stringscanner/getbyte_spec.rb6
-rw-r--r--spec/ruby/library/stringscanner/peep_spec.rb6
-rw-r--r--spec/ruby/library/stringscanner/restsize_spec.rb6
-rw-r--r--spec/ruby/optional/capi/class_spec.rb10
-rw-r--r--spec/ruby/optional/capi/ext/array_spec.c183
-rw-r--r--spec/ruby/optional/capi/ext/bignum_spec.c50
-rw-r--r--spec/ruby/optional/capi/ext/boolean_spec.c3
-rw-r--r--spec/ruby/optional/capi/ext/class_spec.c123
-rw-r--r--spec/ruby/optional/capi/ext/complex_spec.c33
-rw-r--r--spec/ruby/optional/capi/ext/constants_spec.c317
-rw-r--r--spec/ruby/optional/capi/ext/data_spec.c9
-rw-r--r--spec/ruby/optional/capi/ext/encoding_spec.c174
-rw-r--r--spec/ruby/optional/capi/ext/enumerator_spec.c12
-rw-r--r--spec/ruby/optional/capi/ext/exception_spec.c28
-rw-r--r--spec/ruby/optional/capi/ext/file_spec.c15
-rw-r--r--spec/ruby/optional/capi/ext/fixnum_spec.c28
-rw-r--r--spec/ruby/optional/capi/ext/float_spec.c18
-rw-r--r--spec/ruby/optional/capi/ext/gc_spec.c24
-rw-r--r--spec/ruby/optional/capi/ext/globals_spec.c83
-rw-r--r--spec/ruby/optional/capi/ext/hash_spec.c83
-rw-r--r--spec/ruby/optional/capi/ext/integer_spec.c8
-rw-r--r--spec/ruby/optional/capi/ext/io_spec.c106
-rw-r--r--spec/ruby/optional/capi/ext/kernel_spec.c143
-rw-r--r--spec/ruby/optional/capi/ext/marshal_spec.c14
-rw-r--r--spec/ruby/optional/capi/ext/module_spec.c109
-rw-r--r--spec/ruby/optional/capi/ext/mutex_spec.c38
-rw-r--r--spec/ruby/optional/capi/ext/numeric_spec.c130
-rw-r--r--spec/ruby/optional/capi/ext/object_spec.c241
-rw-r--r--spec/ruby/optional/capi/ext/proc_spec.c19
-rw-r--r--spec/ruby/optional/capi/ext/range_spec.c18
-rw-r--r--spec/ruby/optional/capi/ext/rational_spec.c43
-rw-r--r--spec/ruby/optional/capi/ext/regexp_spec.c31
-rw-r--r--spec/ruby/optional/capi/ext/rubyspec.h591
-rw-r--r--spec/ruby/optional/capi/ext/st_spec.c12
-rw-r--r--spec/ruby/optional/capi/ext/string_spec.c302
-rw-r--r--spec/ruby/optional/capi/ext/struct_spec.c48
-rw-r--r--spec/ruby/optional/capi/ext/symbol_spec.c50
-rw-r--r--spec/ruby/optional/capi/ext/thread_spec.c45
-rw-r--r--spec/ruby/optional/capi/ext/time_spec.c48
-rw-r--r--spec/ruby/optional/capi/ext/typed_data_spec.c9
-rw-r--r--spec/ruby/optional/capi/ext/util_spec.c30
-rw-r--r--spec/ruby/optional/capi/fixnum_spec.rb111
-rw-r--r--spec/ruby/optional/capi/numeric_spec.rb214
-rw-r--r--spec/ruby/optional/capi/string_spec.rb75
-rw-r--r--spec/ruby/shared/enumerator/each.rb89
-rw-r--r--spec/ruby/shared/enumerator/enum_cons.rb12
-rw-r--r--spec/ruby/shared/enumerator/new.rb42
-rw-r--r--spec/ruby/shared/enumerator/next.rb28
-rw-r--r--spec/ruby/shared/enumerator/rewind.rb39
-rw-r--r--spec/ruby/shared/rational/Rational.rb42
147 files changed, 2697 insertions, 21491 deletions
diff --git a/spec/ruby/.travis.yml b/spec/ruby/.travis.yml
index a66b393d4c..7de1865e9e 100644
--- a/spec/ruby/.travis.yml
+++ b/spec/ruby/.travis.yml
@@ -15,14 +15,11 @@ matrix:
env: CHECK_LEAKS=true
- rvm: 2.6.0
env: CHECK_LEAKS=true
- - rvm: ruby-head
- env: RUBOCOP=true
rvm: 2.4.5
script:
- gem install rubocop:0.61.0
- rubocop
- allow_failures:
- - rvm: ruby-head
branches:
only:
- master
diff --git a/spec/ruby/CHANGES.before-2008-05-10 b/spec/ruby/CHANGES.before-2008-05-10
deleted file mode 100644
index 18778bc146..0000000000
--- a/spec/ruby/CHANGES.before-2008-05-10
+++ /dev/null
@@ -1,17796 +0,0 @@
- Changelog
-===========
-
-This file contains the entire revision history of the specs from
-December 2006 onwards, when the spec project got started more or
-less officially by converting the remaining Test::Unit style tests
-in Rubinius to the spec style. The history is not preserved in the
-git repository history itself, so this data is here for reference.
-All the commit hashes are from the Rubinius repository.
-
-It still misses quite a few of the earlier, disparate specs and
-tests because up to that point the organisation was much looser
-and gathering an exhaustive accounting of the entire history of
-TDD/BDD would be time-consuming, particularly with the few full
-directory moves in there and such. All of the data is preserved
-in the Rubinius repository if someone is interested in that bit
-of history.
-
-Be aware that the history contains some Rubinius-specific specs
-by necessity. If you find any commits listed that were _solely_
-for Rubinius, feel free to strip them out.
-
-Thanks to everyone committing up to this point--over 2600 commits
-in just this incomplete version. Keep it up.
-
-
-
- Revision History
-------------------
-
-
-commit 2b24a1e84c350810817885eeb6532f43c698a95c
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Fri May 9 16:45:07 2008 -0700
-
- Fixed up pack for base64 and uuencode to be MUCH MUCH cleaner and 2x faster
-
-commit 022bc5dbfafcf1f9fd5e25820104718bd4d45661
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 9 23:51:47 2008 +0200
-
- Share common specs for BigDecimal's #mult and #*.
-
-commit 414e7eedce9d0cea982e24f1031c407daccc648b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 9 23:19:38 2008 +0200
-
- New rubyspecs for BigDecimal#mult
-
- * Verifies that proper signs are calculated when
- zero is involved.
-
-commit 6883d7d0c67f7be84e7ea1703912452eaecaac6c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 9 22:54:49 2008 +0200
-
- New rubyspec for Module#new with block.
-
-commit f8bd3e34014a7351470685676b6b168abd787794
-Author: Phil Hagelberg <technomancy@gmail.com>
-Date: Fri May 9 12:53:00 2008 -0700
-
- Added specs for OpenSSL::HMAC.hexdigest and .digest
-
-commit 686c28493d42b9c798aa791823395d1000423225
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 9 20:20:13 2008 +0200
-
- Some more rubyspecs for BigDecimal's #floor and #ceil.
-
-commit aba022a6620ec8d3a09067e9677f0f9c5d8078ee
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 9 17:51:35 2008 +0200
-
- New rubyspecs for BigDecimal's #floor and #ceil.
-
-commit e4d844ba5851a798b7acb684cf68fdcef353d13c
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu May 8 22:13:58 2008 -0700
-
- Excluded stdlib specs from default CI run. Added spec/full.mspec.
-
-commit 6a133574617cb435ad1684f208430112ff6839f6
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu May 8 16:19:50 2008 -0700
-
- String#unpack overhaul. NO extra methods littered through Fixnum/Integer/String. NO procs. More readable, but still messy.
-
-commit 11dd3ae2c4e0dd81304e85ba662db41196f1ce4c
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed May 7 23:59:31 2008 -0700
-
- Fixed constant type clash for ModuleSpecs modules.
-
-commit 4e702d10b32fdba62cdeae476b8217019839c3b0
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed May 7 21:42:11 2008 -0700
-
- Some specs for Kernel#__add_method__ and Module.__add_method__.
-
-commit 819649f24f59819be185b0562b94f9089f8c000c
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed May 7 14:48:01 2008 -0700
-
- Added spec for Kernel#eval with binding from method defined by #eval.
-
-commit d73b17b88b6084fdf7cab764b0fbdd3b3882dd81
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed May 7 10:06:26 2008 -0700
-
- Use literals in Bignum#to_f specs (alternate fix for #535).
-
-commit ee211770eb8792b3f58f78ff60eec6d5289caa20
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed May 7 02:38:00 2008 -0700
-
- Added specs for big uncovered areas, still not 100%
-
-commit 7ce9bc2d7edc64f6886c3d34836bc0394414ed66
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue May 6 03:56:19 2008 -0700
-
- Fixed typo
-
-commit af3407251ee0f287ec80232c354153af169636e4
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue May 6 22:01:23 2008 +1000
-
- Fix bug in Debugger::Output.wrap
-
-commit d9322306ea70f2b847b0f806bdb13ea02f2d6b4d
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon May 5 13:09:32 2008 -0400
-
- Fix some bugs in BigDecimal#/. More may yet lurk.
-
-commit 2f3a4cc14433858b13caa932c8a50c31e024c7e8
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon May 5 12:04:26 2008 -0500
-
- Adding more specs for REXML::Element
-
- * Covers REXML::Element#{add_attribute, add_attributes, add_namespace, add_text, clone, comments}
-
-commit 7db8c2b563ea474cf2db5fa14bb2a6345c8c469f
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon May 5 10:54:00 2008 -0500
-
- One more case for YAML.load specs
-
-commit 098decdf510b05f82ff9a6cc6769cf478a3236ab
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun May 4 22:29:35 2008 -0400
-
- Define BigDecimal#ver.
-
-commit f6f1fe6a667570e4c1521649b964dca1352d1c32
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun May 4 22:12:08 2008 -0400
-
- BigDecimal#new: Make space between '-' and 'Infinity' unparsable, as per spec.
-
-commit 503aae7cdbb208da8f25080762e17f0866845c4d
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon May 5 06:19:40 2008 -0400
-
- Method call parsing spec from Jim Kingdon with minor addition.
-
- * Moved the SyntaxError producing code into an #eval because the file
- cannot be compiled to run otherwise.
-
-commit 398d5de0a0ffaf746e39e5f6a6ded02483fd1842
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon May 5 02:26:39 2008 -0400
-
- Spec for :match node, implicit Regexp matches against $_.
-
- * Compiler and Language specs.
-
-commit 206cea31c6a93fe434948dcb79321e2c119edf21
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat May 3 11:40:17 2008 -0400
-
- Implement BigDecimal#power and #**, fix some bugs in #mult.
-
-commit a197099d9be6e48ad32480ae323302c83146147b
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat May 3 02:18:35 2008 -0400
-
- Fixed a logic and syntax error in BigDecimal#mult specs.
-
- * Removed some parentheses too.
-
-commit 081afd58a29ccd5025b806f53e9d7679b9296a7f
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat May 3 02:25:45 2008 -0400
-
- Make sure subclasses that implement their own Hash#default work (Merb)
-
-commit 203ca288175416fadb110b2aa9cdf8cfbf13215d
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat May 3 01:49:35 2008 -0400
-
- Specs and implementation for module include order (fixes abstract.rb)
-
-commit c788a9f2d9c4561a2837bbf78f68a6885d626917
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 18:14:32 2008 -0400
-
- Implement BigDecimal#*, as well as #mult without precision support.
-
-commit 57d78528ff4cf249d906785ffbfdde1fda4aa3cc
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 17:36:15 2008 -0400
-
- Implement BigDecimal#/ and #quo. Not perfect; still relies on #/.
-
-commit c42cc2cacc347d8284650c7046d4dadf94d7d4a5
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 16:13:07 2008 -0400
-
- Fix a typo in specs.
-
-commit ae179b410665da18628f249e6796f1e07ab83763
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 16:10:43 2008 -0400
-
- Get BigDecimal#floor basically working.
- * The failing specs depend on #/, which isn't implemented yet.
-
-commit f8221117d174b91affe406c8089ed25e887232b3
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 16:06:32 2008 -0400
-
- Fix bugs in BigDecimal#add and #+. This also affects #sub, #-, and #ceil.
-
-commit cdd196daf7643e846b7f3582b1e441b883e02aba
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 15:41:29 2008 -0400
-
- More specs to fix bugs in BigDecimal#add and #+.
-
-commit c1c52a2a531b570fa1025d99e464d93c570cf59e
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 15:22:33 2008 -0400
-
- Write another spec for BigDecimal#ceil.
-
-commit 71b65cdbfa5aae461fc52c997df9fca3bee9c8d5
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri May 2 14:47:34 2008 -0400
-
- Write tests for a bug in BigDecimal#add and #+ where 0 + 1 = 0.1.
-
-commit 55988ef53879c1c489c570b3f37717365c7f8e2b
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat May 3 01:04:11 2008 -0400
-
- Fix use of alias keyword inside instance_eval
-
-commit d4011595a0077e91665f85410d458c57367cf50b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 2 20:38:15 2008 +0200
-
- Added news specs for BigDecimal#mult.
-
-commit b6771644d35b6b8f3c87f7f4461bcaba99cd976f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 2 19:41:09 2008 +0200
-
- More BigDecimal#divmod rubyspecs.
-
- MRI-specific bug is hidden behind ruby-bug guard.
-
-commit 854a011324ce717cfd47ddec6389a9e9abb0db18
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 2 18:45:29 2008 +0200
-
- New BigDecimal#divmod specs.
-
-commit b9806e0efb2a8e51d70f6d51733df7bed88152d9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 2 16:45:10 2008 +0200
-
- A couple of test cases for BigDecimal's #quo, #div, #/.
-
-commit 3cf6c1e03001ba1dda966e3392b665f5b08a1b9d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri May 2 15:03:37 2008 +0200
-
- More tests for BigDecimal#floor.
-
-commit b70023978562af89cf4349e14e9443adb37ecbbe
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu May 1 21:15:29 2008 -0400
-
- Improved a spec description for String#index.
-
- * The description looks exactly like we had the wrong implementation
- relying on % 256 and someone wrote a spec to make sure that did not
- happen. However, the description was more or less meaningless to
- what was actually being specced.
-
-commit 6e6aa411ff4c7a837d5d4adb9ab893719cf9e122
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu May 1 10:48:20 2008 -0700
-
- Fix a number of things to pass all def specs
-
- This is the result of ping-pong between Evan and Wilson. It refactors
- out enclosing_class from being used, and instead information is always
- pulled directly from the StaticScope object. This lets us inject proper
- scoping changes in ruby.
-
-commit 2db27aef88e2ca7752beba846d172ede276275e0
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu May 1 19:03:50 2008 +0200
-
- Implemented Socket.unpack_sockaddr_un
-
-commit d515221698e02b52ed4661113d659744fbfae36f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu May 1 18:18:32 2008 +0200
-
- Forgot to update spec tags for TCPSocket.gethostbyname
-
-commit bf839a99c3a5b773b6b96c6d5a1fcc5056511e7a
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu May 1 14:03:30 2008 +0200
-
- Implement File#mtime specs
-
-commit b8c713e6b972b464788c740b4283a5b4226c123c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu May 1 13:55:36 2008 +0200
-
- Implemented File.lchmod and initial specs
-
-commit 059c926d7280c2e7c9f8bf710c5aef70cde3e777
-Author: Adam Wiggins <adam@heroku.com>
-Date: Sun Apr 27 15:03:31 2008 -0700
-
- IO.popen read/write pipes
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit d9a050aa45efd00a40395b7ac7ac069f4be1fd1c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu May 1 16:25:18 2008 +1000
-
- Spec fixes for Tuple#to_a
-
-commit 0b610359fbfe8137fdba95d90b659238168d6788
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 30 17:45:51 2008 -0400
-
- Update spectags.
-
-commit 024ebfdf3fa9c54b8a81134edb52fe10b09e4b91
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 30 22:56:44 2008 +0200
-
- Added BigDecimal#divmod excludes.
-
-commit e12d21a90760df723c0f48265cb49a9c4463db7c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 30 20:51:06 2008 +0200
-
- More tests for BigDecimal#divmod.
-
-commit 68cfef604f9b5411ca9e0349883bac4f59541f0d
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 30 16:47:31 2008 -0400
-
- Make BigDecimal#finite? handle NaN correctly, and refactor accordingly.
-
-commit 5066bcb8881241caf6d13be625b32633bda6567e
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 30 15:01:12 2008 -0400
-
- Make BigDecimal#<= and #>= pass Vladimir's new specs.
-
-commit 49601aff01c394fe2168f5f221a987be63a9ebc7
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 30 20:20:18 2008 +0200
-
- Various improvements to BigDecimal rubyspecs.
-
- * Corrected comparison specs (properly add arrays there)
- * New reminder specs
- * New modulo and % specs
- * Tagged rbx failures
-
-commit dd1700b747ba26b27eff0b249623aca559db06e1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 30 17:48:20 2008 +0200
-
- More test cases for BigDecimal#modulo and #%.
-
-commit 8eb9dc1b0aee3587f4da8b9cbe306fd431159d79
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 30 16:57:16 2008 +0200
-
- New specs for BigDecimal#modulo and #%.
-
-commit 4a846f807fe2c4c12d8719bc5c9ccb4ab696aff9
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Tue Apr 29 15:29:34 2008 -0500
-
- Fixes REXML::Element#namespaces specs
-
- * Use sort on the arrays to make sure the specs pass on JRuby too.
-
-commit 823683a864072ef6a81e808dbf792dee45d29c52
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Tue Apr 29 14:54:08 2008 -0500
-
- Adds more specs for REXML.
-
- * Specs for REXML#{inspect, namespace, namespaces, prefixes, text and text=}.
-
-commit a11a10760ce92ee373e04a5445234521a27874cc
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 17:55:55 2008 -0400
-
- Committing so we can bisect.
-
-commit df94214b1d132b02e3dd5b166d1c7c5cd5d50a21
-Author: Drew Olson <olsonas@gmail.com>
-Date: Mon Apr 28 19:21:07 2008 -0700
-
- Added spec for Array#remove_outer_arrays
-
-commit ec4ece9c06b42c257b4ffce2cf319f0ad23f65e8
-Author: Drew Olson <olsonas@gmail.com>
-Date: Sun Apr 27 20:15:47 2008 -0500
-
- Added more edge cases for recursive arrays to spec for File#join
- * an empty array containing an empty array which contains a recursive array should return
- '[...]' when File#join is called on it.
-
-commit 698a5d291cf63e56e9a3508a8850c77fa2c23430
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 16:17:05 2008 -0400
-
- Implement BigDecimal#=== as alias of #eql?.
-
-commit 18f515e735eecc519be55a6e3253db7135a137ad
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 16:09:43 2008 -0400
-
- Implement BigDecimal#sub.
-
-commit b331faa567dc1d98163c6447897221877cf756eb
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 16:04:06 2008 -0400
-
- Implement BigDecimal#add.
-
-commit f3f94c9b53045ddde335981897e2f6087dab7ef2
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Apr 28 12:01:41 2008 -0500
-
- hack to fix DRb.start_service spec to at least test start_service
-
-commit 4c8d6d90c69615386e26c71633e242f4e1f19342
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Apr 28 11:56:47 2008 -0500
-
- spec for DRb.stop_service to see if it clears the socket correctly
-
-commit 03cb539f42f0b558fa29911c1dfc71ec5f2b183f
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Apr 28 11:20:17 2008 -0500
-
- Revert "Revert "Made DRb spec depend partially on PID so multiple runs don't clash.""
-
- Apparently this is a supposed fix for concurrent spec runs, not for the spec failure
-
- This reverts commit 08695d9a6940ab74f6eb8965e449a417002a42a6.
-
-commit 2172e2ac20b69a97c2ad66551b3620a43bfda700
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 02:14:18 2008 -0400
-
- Make BigDecimal#exponent return Bignums as necessary, not just Fixnums.
-
-commit dc93d06163e80cdf89a67532654a850828119287
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 28 01:23:19 2008 -0400
-
- Correct implementation of BigDecimal#+ and #-. There's still a lot of repetition to be factored out, but this algorithm is more correct than the last try.
-
-commit 1da58bb7f0afbba4f8412e06983304dc7d887ac9
-Author: Luis Lavena <luislavena@gmail.com>
-Date: Thu Apr 24 16:37:59 2008 -0300
-
- Corrected small typo on File#join specs under Windows.
-
-commit b287619579ad11535722a2374b6f849d88fe9931
-Author: Drew Olson <olsonas@gmail.com>
-Date: Thu Apr 24 14:24:10 2008 -0700
-
- Spec for File#join now describes correct behavior for arrays with recursive sub-arrays.
-
-commit 5830380895c0bec16c6af39d0f29d8d70268028d
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Sun Apr 27 14:53:47 2008 -0500
-
- DRb.start_service spec fails because of a timing bug in DRb
-
- See http://jira.codehaus.org/browse/JRUBY-2347
-
-commit 08695d9a6940ab74f6eb8965e449a417002a42a6
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Sun Apr 27 14:51:16 2008 -0500
-
- Revert "Made DRb spec depend partially on PID so multiple runs don't clash."
-
- The spec is designed for sane behavior, if Rubinius or the
- implementation of DRb is causing problems then they should be
- fixed, not the spec in this case. Fixing the spec will only
- hide the bug.
-
- See http://jira.codehaus.org/browse/JRUBY-2347 for more commentary on the problem.
-
- This reverts commit f89bd8c6c425c9d9bcc3e589b8d3b05ce3ccbced.
-
-commit 94ba0884c8e7f398b6fe8d6736834f62f6a49815
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Apr 27 21:23:47 2008 +0200
-
- More checks for BigDecimal#abs specs.
-
-commit 80932d25ca95e2e8c803d244a7636e3004525ade
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Apr 27 21:10:26 2008 +0200
-
- More test cases for BigDecimal#finite? specs.
-
-commit 4b541ed23ccac65f6f4b2ef8aad56e9aa7a69e12
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Apr 27 21:04:08 2008 +0200
-
- Added testcase for BigDecimal#infinite? for NaN.
-
-commit 4a1f39426fc60ae7c2ed0470259fa0752a46d030
-Author: Adam Wiggins <adam@heroku.com>
-Date: Sat Apr 26 22:57:09 2008 -0700
-
- IO#write returns 0 when writing a blank string, to match behavior of MRI
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 56c0088f9b075769933c8c87e3c2d256cff3a3e8
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun Apr 27 00:28:47 2008 -0400
-
- Typo.
-
-commit c11410654b9046cdb58dba1d116f58ce74f4c263
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun Apr 27 00:24:32 2008 -0400
-
- Finish implementing #@- and #infinite?. Update spectags, of course
-
-commit dc9f427ecb9d55559d800af70f9c1a3f2f2123b5
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun Apr 27 00:07:31 2008 -0400
-
- Amplify a comment.
-
-commit b9776b953ae67f2088e44b640145af464a1cf942
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sun Apr 27 00:02:48 2008 -0400
-
- Get BigDecimal#+ working. I hate this algorithm, but it works without running out of memory.
- * Update spec tags.
-
-commit b87ff5c22891f19ad0b956e7e02cc3a3d1adcc93
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 14:27:00 2008 -0400
-
- Implement BigDecimal#coerce.
- * Update spectags.
- * Rewrite one spec so it doesn't depend on BigDecimal#-, which is not yet implemented.
-
-commit f89bd8c6c425c9d9bcc3e589b8d3b05ce3ccbced
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Apr 26 15:52:49 2008 -0700
-
- Made DRb spec depend partially on PID so multiple runs don't clash.
-
-commit 3c49a1d16f20726c4ee2d7eb5f5c671537aa59d5
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Apr 26 15:13:47 2008 -0700
-
- Added wordsize guard for BigDecimal#exponent spec.
-
-commit 3aac5f6d64f4cbbca70ecf01b7ed9be596fa5b76
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Apr 26 15:09:40 2008 -0700
-
- Updated spec_helper and renamed CaptureOutput to IOStub.
-
-commit 94322a6a95770a030d28925cc7213a38c5687ea1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Apr 26 23:16:59 2008 +0200
-
- A bit more test cases for BigDecimal#-@.
-
-commit 9919c5e3be59562532c967b479c959cf6270046e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Apr 26 21:01:44 2008 +0200
-
- New specs for BigDecimal#uminus.
-
-commit c3e74531f1ca1e70671f529671c0fa474968dc87
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Sat Apr 26 13:08:04 2008 +0200
-
- FreeBSD seems to work like the rest, not darwin
-
- Tested on FreeBSD/i386 7-STABLE
-
-commit c06a091b285f388f09b11037975921662759eea2
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 12:14:33 2008 -0400
-
- Implement BigDecimal#exponent, update spectags. Looks like parts of #** have accidentally stopped failing too. :)
-
-commit e5b753b7e659b29f5ed4aa57018f922111b238f5
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 11:53:55 2008 -0400
-
- Specify return type of BigDecimal#ceil as BigDecimal, as per library documentation.
-
-commit 0ca3b9ceb6ef5ca1898250b89f75c0194b5da481
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 11:50:24 2008 -0400
-
- Fix BigDecimal#inspect output, update spectags.
-
-commit ca99aa062afe9106ec614e2d8969d3491803c9a2
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 11:48:00 2008 -0400
-
- Specify return type of BigDecimal#ceil as BigDecimal, as per library documentation.
-
-commit 587a5cdbbfa4cccdbfe98339ca999f1d63bd66cf
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Apr 26 15:02:33 2008 +0200
-
- Corrected one Array#hash test case.
-
- Now Array#hash pass MRI 1.8.6, 1.8.7, 1.9 and JRuby.
-
-commit f86bdb98b8b9f5ea878c5d142f3a694e5278db77
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Apr 26 14:19:14 2008 +0200
-
- Quarantined couple of specs that fail on *ALL* implmenetations.
-
- Probably, we need a better way to do that, but quarantine
- is a quick and simple way, easily detectable later on.
-
-commit 7ca928211180c66b9879afbc382c376a7649e1b0
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 00:51:39 2008 -0400
-
- Implement BigDecimal#to_f, update tags. Will this need more work?
-
-commit 69dec41f6b5b532c5de7f46e97f97c9e102305c7
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 00:44:40 2008 -0400
-
- Implement BigDecimal#truncate.
- * Update spec tags.
- * Reorganize variables slightly to remove duplication.
-
-commit c823e62c3a6776b62f65c34b16bdca5748d1add9
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 00:36:43 2008 -0400
-
- Implement BigDecimal#truncate.
- * Update spec tags.
- * Reorganize variables slightly to remove duplication.
-
-commit 3f4e5dc78de5bf3e81ae1ce7a0d14852a32aeade
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Sat Apr 26 00:16:38 2008 -0400
-
- Rewrite spec description to bring it in line with what the spec actually does. :)
-
-commit 15d87e8a983d08d99fc3ec6bfbb7f36ed0cd4c4e
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 25 18:09:33 2008 -0400
-
- Implement BigDecimal#to_i, update spec tags.
-
-commit 59873b144ea836e2f9bbef7d5186a1287155e76a
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Apr 25 20:46:17 2008 -0400
-
- Specs for autoload path normalization
-
-commit 71fe2d45d147fe2c41937ae5ef6dbb8814f491c4
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Apr 25 17:05:17 2008 -0400
-
- Use a separate class in Singleton 'new' specs to avoid contamination
-
-commit 2dc8f9eb9c6db014bd6cc132d987fdb4612816f8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Apr 25 16:45:28 2008 -0400
-
- Handle more nightmare Autoload edge cases by hooking into Kernel#require
-
-commit 5c1a375a15adbe20a9bf3d1b95e1f2d30feaa90e
-Author: Michael Fellinger <m.fellinger@gmail.com>
-Date: Sat Apr 26 04:26:52 2008 +0900
-
- Spec for Module#autoload when the load path has already been required
-
- Signed-off-by: Wilson Bilkovich <wilson@supremetyrant.com>
-
-commit ee47a0cc0da787599479fc8dd085b7481b591176
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Fri Apr 25 15:41:19 2008 -0500
-
- Enabled another $_ spec and added a proc dispatch scoping test to $~ and $_
-
-commit eabc4609758dc99727c77493c58f187782ea957f
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Fri Apr 25 15:32:03 2008 -0500
-
- Added some basic specs for $_: implicit assign, explicit assign, scoping
-
-commit 61194dec429a9f288791156639f058e45a4e72e9
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Fri Apr 25 14:49:53 2008 -0500
-
- Add some specs for $~ scoping and assignment.
-
-commit 4c5cec4f6e10864c68b140e71cc2559e7a7d636b
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 24 18:28:08 2008 -0700
-
- Added incomplete tags for CSV spec stubs.
-
-commit 6e231caef62e678413e86317881aaab200d0802e
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 24 18:15:06 2008 -0700
-
- Reprocessed library CSV specs with new mkspec.
-
-commit 4cdc61a76cce73b52f05f53f820838cc7e3c2823
-Author: Michael Fellinger <m.fellinger@gmail.com>
-Date: Fri Apr 25 08:46:32 2008 +0900
-
- Updating specs for the module #included calling #extend issue.
-
- Signed-off-by: Brian Ford <bford@engineyard.com>
-
-commit 40e775bf036aa59e69268708f8c78b8a56e0f9ce
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 24 17:10:55 2008 -0700
-
- Moved #bignum_value helper to MSpec.
-
-commit 9b52edbb14ff2fc18faa429daf4ceaff5b87db11
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 24 14:37:53 2008 -0400
-
- Implement BigDecimal#fix, make #frac trap for a few common cases without running out of memory for big numbers.
-
- * Update spec tags.
-
-commit 6a604c0a9863073cfd7540ff755e7ca035a7dff5
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Thu Apr 24 19:32:14 2008 +0200
-
- Don't run Process.setpriority spec on FreeBSD
-
-commit 0ab639af500d947c5b5feb1d8f00f5fbc97a0edc
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 13:37:23 2008 +0200
-
- Adjusted IO specs to supply blocks for each-like methods.
-
- See [ruby-core:16557] for more details.
-
-commit a7b603a9ce6bfb570785e803bdb89ae36bb6253d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 13:14:40 2008 +0200
-
- Fixed IO, Process, Regexp specs ('should' was missing).
-
-commit 26de6c05c050d0dbcb073c407abda47f964bfd29
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:50:46 2008 +0200
-
- Fixed File specs ('should' is misspelled)
-
-commit 99a2b23d8fb42cb377cb3fb9ab2569c555aec8bf
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:47:57 2008 +0200
-
- Fixed Array specs ('should' was missing).
-
-commit 67b301a03fd6f7f0fa38ce106ab05825f2cbb15c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:43:39 2008 +0200
-
- Fixed specs ('should' was missing), some new test cases for BigDecimal.
-
-commit aecbea57de7ee1b50bd4b06871dd08e762a6ccb8
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:35:54 2008 +0200
-
- More test cases for BigDecimal#nan?
-
-commit 7aaf8fa137b8961ca122eb92e7447936ad7a44cc
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:26:20 2008 +0200
-
- More test cases for BigDecimal#zero?
-
-commit 58ecee694f191aa05e7867544cf8d63129558447
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:19:11 2008 +0200
-
- A bit more test cases for BigDecimas#-.
-
-commit e946dd03d590e29a1d344e7579d5ff047df4a76b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 24 12:17:16 2008 +0200
-
- New and updated specs for BigDecimal#-.
-
-commit 01d82db424b4e447b98e5f2eb3e162b991dece8a
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 24 01:25:20 2008 -0700
-
- Tag for new private setter method spec.
-
-commit c0ee2e133a4e5fc179b96329ffd3934dd9263c2b
-Merge: 374ab81... e9826b9...
-Author: Tony Arcieri <tony@medioh.com>
-Date: Thu Apr 24 02:19:00 2008 -0600
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 374ab81e2c01ea5ac48cda2004ae92a989d7f3d7
-Author: Tony Arcieri <tony@medioh.com>
-Date: Thu Apr 24 02:18:26 2008 -0600
-
- Specs for calling a private setter method on self
-
- * Not presently working under rbx, works under MRI
- * I don't entirely know the process for this, but this is expected to break
-
-commit 39505393f330b5f622788f1d98ea8ff3781499c7
-Author: Luis Lavena <luislavena@gmail.com>
-Date: Thu Apr 24 04:04:32 2008 -0300
-
- Fixes Dir fixtures and specs for Windows.
-
- Usage of special characters *, ?, | and : is not allowed under Windows
- * and ? represent wildcards, | is pipe tunelling and : is drive letter
- separator.
-
- Files or Directories cannot contain slashes (\/), wildcards, double-
- quotes, pipe tunelling or stream redirectors (<>).
-
-commit 2ecc076e488ed1a519fc5b6876c68a3d91d55c87
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 23 22:55:44 2008 -0700
-
- Update tags for newly passing File.join specs.
-
-commit ff3756e179920b84d5a55fc7bbc2688706df044f
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Apr 24 01:09:17 2008 -0400
-
- Add specs for nested method definitions and other complex scenarios
-
-commit 24785f7c28cde09ce0400e5d80f832ae11cddefa
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Apr 23 20:56:55 2008 -0400
-
- Spec for using ||= to initialize a class variable
-
-commit 98b0c44057cb827107cae0f0174b5e81ac2064fd
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Apr 23 19:49:21 2008 -0400
-
- Rewrite descriptions of language/def specs
-
-commit 598c287cc36179644a1bbf2a303a56fc85bb1b12
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 23 12:39:04 2008 -0700
-
- Replaced use of :mswin with :windows in platform_is[_not] guards.
-
-commit 01fe417f27ad43495327a522ece2f02769064df7
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 23 21:30:34 2008 +0200
-
- Added excludes for BigDecimal#div specs.
-
-commit 46f022d49c394b027491295e7fd5cb305af33404
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 23 21:27:42 2008 +0200
-
- More specs for BigDecimal#div
-
-commit 72433091c6a845c5f550b27111748e29fb5eac09
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 23 10:56:57 2008 -0700
-
- Added #tmp helper to MSpec for returning a temp file name.
-
-commit f4e975e5255fb36bb8e9be7d310850135ce3515f
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 23 10:54:42 2008 -0400
-
- Implement BigDecimal#frac, update spec tags.
-
-commit b60deba2368a1212d6acd3e49481ba9495de7f2f
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 23 10:49:39 2008 -0400
-
- Correct a spec error.
-
-commit e19cf9401c029f90e117b1c17083c928b0d1c9ca
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 23 10:24:50 2008 -0400
-
- Implement BigDecimal#-@, update spec tags.
-
-commit c3fc05389c75aca3150038814b324266501fdb8f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 23 16:12:24 2008 +0200
-
- A bit more test cases for BigDecimal#sqrt.
-
-commit b2a220f86887bfe6030a34bc8cd1b748c88cc2b8
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Wed Apr 23 01:43:16 2008 -0400
-
- Get BigDecimal#to_s working according to spec.
-
- * Implement #to_s.
- * Update spec tags.
-
-commit 82638601be12e410413047779f01840d6d0db3d8
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Apr 23 09:56:48 2008 +1000
-
- Refactor Debugger to remove dependencies on Debugger::Interface
-
- Also:
- - Add List#inspect to show number of items in list
- - Fix decode output to show original instructions in place of
- yield_debugger
- - Improve regex used to match method names to handle more
- operators
-
-commit 41c64f2825d347fbe2ef9edc33dd8f1e84773251
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Apr 22 18:12:06 2008 -0400
-
- Spec and implementation for NilClass#dup
-
-commit d3e313ed38a847e29225ba814a956d0929ea6460
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Apr 22 22:03:47 2008 +0200
-
- New and updated specs for Bigdecimal's #abs and #sqrt.
-
-commit 2013e106181879b886f2e1cb78e81f52cd284666
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Apr 22 15:52:10 2008 -0400
-
- Re-implement Module#autoload and autoload?. Now passing all autoload specs.
-
-commit 9156271e2b12138e2b2b712a76f0110f20a757b7
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Apr 22 15:34:43 2008 -0400
-
- Add (failing) spec for toplevel autoloaded constant access
-
-commit 8eb5451f88a37dc247e42913c1d72d072a9b02ef
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Apr 22 19:06:00 2008 +0200
-
- One more test case, for BigDecimal#sqrt with nil.
-
-commit e7894fb78cf92b53e9bdc6dcf023d8dd2d66b2ed
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Apr 22 18:52:24 2008 +0200
-
- More detailed specs for BigDecimal#sqrt and fixes for old ones.
-
-commit 527a4b663c487cd9222ee2e6917e330ff9a130a1
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Apr 22 12:38:53 2008 -0400
-
- Rename ambiguously-worded autoload spec
-
-commit 3e6f16c41569dbba291bc3cececf137fc8952ee2
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 12:31:17 2008 -0400
-
- Change to a significand-and-exponent implementation.
-
- * Update spec tags.
-
-commit f1b2bf51042ca563ca74a9cf83db0e46a1bfabce
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 09:54:53 2008 -0400
-
- Fix BigDecimal#zero, update spec tags. Also make #precs deal correctly with lowercase exponents.
-
-commit d0171de114e777f07a3e62972663475dd7747b05
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 09:24:06 2008 -0400
-
- Implement BigDecimal#precs.
-
- * Get #precs working. This will be less tortured once I implement a significand-and-exponent format.
- * Update spec tags.
-
-commit e1fc7c6dc4c02c1763947c34d05f894661a84525
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 01:30:10 2008 -0400
-
- Continue implementing bits of #inspect and updating spec tags.
-
-commit e4371f120c9c5c3c88a26d5f24f0d3ab888c954f
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 01:24:14 2008 -0400
-
- Implement BigDecimal#==/eql? and the beginnings of #inspect.
-
- * Find a way of implementing the equality test that satisfies the specs.
- * Don't be so baroque in parsing strings in constructor.
- * Update spec tags.
- * Fix regression in abs_spec.
- * Start implementing #inspect. Not really ready for prime time yet.
-
-commit 0494c1c35582381345194c76f7384eb9044797fc
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Tue Apr 22 00:41:03 2008 -0400
-
- Start implementing BigDecimal#sign and #zero?.
-
- * Clean up specs for #sign.
- * Write some initial code to get these working. Not all there yet.
-
-commit 3c071b5f921898d87437803a500535b639d465ef
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 21 23:43:10 2008 -0400
-
- Get BigDecimal#abs working.
-
- * Implement the function.
- * Improve the spec.
-
-commit 054582f3b89d757f033cd5f09cbf90fa08ad81d6
-Author: MenTaLguY <mental@rydia.net>
-Date: Mon Apr 21 22:32:42 2008 -0400
-
- fix linked actors spec (sort of)
-
-commit d7a7d0c4d0d83d7e69216c96a249c4091fe75323
-Author: MenTaLguY <mental@rydia.net>
-Date: Mon Apr 21 22:28:29 2008 -0400
-
- fix up registration spec
-
-commit 645784c3d39f776f583874e7c9244ff3de64cfe7
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 21 19:56:51 2008 -0400
-
- Update tags on failing specs.
-
-commit 960faf5382d90db376ff14bb836463f1860a4b62
-Merge: 2e2150f... 046ba62...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 21 18:46:45 2008 -0400
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 046ba622836321f487f241c145a3bdf0968f0a67
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Apr 21 18:44:50 2008 -0400
-
- Specs for failing Module#autoload case (replicates a scenario from Merb)
-
-commit 18a2a26fa511d4943a724e27ce09e5855a257e90
-Merge: 1f5f4b5... 991c6e6...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Mon Apr 21 14:15:07 2008 -0400
-
- Merge branch 'master' of git://git.rubini.us/code
-
- Conflicts:
-
- lib/bigdecimal.rb
- spec/ruby/1.8/library/matrix/diagonal_spec.rb
- spec/ruby/1.8/library/matrix/element_reference_spec.rb
- spec/ruby/1.8/library/matrix/shared/identity.rb
- spec/ruby/1.8/library/matrix/shared/transpose.rb
-
-commit edd397c82a924e406eabbcd7e84243d94f8e8067
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sun Apr 20 18:11:23 2008 -0500
-
- Adds MinGW to the IO#popen spec guard
-
-commit 10df9f89189637b2c5a54b01a88eca6c9fbb4601
-Author: Adam Wiggins <adam@heroku.com>
-Date: Sun Apr 20 14:53:41 2008 -0700
-
- IO.popen specs for reading and writing to pipes
-
-commit 3f70eceb3b9415a14f602c5b96121a459dca1e67
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Apr 19 22:32:28 2008 -0700
-
- Fix silly typo in Numeric#quo specs.
-
-commit 6101a4992ddc15c0140f4d7702cf88d2d3a2ac53
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Apr 19 22:23:14 2008 -0700
-
- Guard affected specs with conflicts_with :Rational.
-
-commit 354445f4d20ec66f207d65d1ccceb681bba7fff0
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sat Apr 19 14:23:14 2008 -0500
-
- Clarifying some of the Matrix specs
-
- * Fixes two errors introduced by 28700c5cf7
-
-commit 2f5ca541fc08f0c033bc6541c72962228ea607de
-Author: Eero Saynatkari <projects@kittensoft.org>
-Date: Sat Apr 19 15:07:49 2008 -0400
-
- Compiler specs' TestGenerator relies on broken #=== semantics, comply.
-
-commit 37cc9d4d6eb3442814ecc51845f025f464da64f7
-Author: Eero Saynatkari <projects@kittensoft.org>
-Date: Sat Apr 19 15:05:30 2008 -0400
-
- Specs for default #=== and its relationship with #== and #equal?
-
- * Rubinius deviates to not check object id directly.
-
-commit 28700c5cf7630be59877122e6470c42622b7365a
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sat Apr 19 13:53:33 2008 -0500
-
- Additional specs for Matrix
-
- * Some of the constructors in Matrix keep referencing the original arguments after creation, these specs cover those cases.
-
-commit 12b0bc93e5a6b328ad0968c03c47af71f671aae2
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sat Apr 19 13:06:04 2008 -0500
-
- Replace object_id for equal? in Matrix specs
-
-commit ae377f0e56b8f31356935b3ac0800f561b2d1b2c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Apr 19 14:49:34 2008 +0200
-
- Fix File::Stat#uid specs
-
-commit 2e01a86a3977fe87f4f0734e50598b41f66f29d7
-Author: MenTaLguY <mental@rydia.net>
-Date: Sat Apr 19 03:24:32 2008 -0400
-
- Gutted and reworked Actor, following Erlang more closely.
-
-commit de40303e17e2de1e7980564b43ee162c5080afa6
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sat Apr 19 01:05:43 2008 -0500
-
- Fixes Matrix#clone specs for MRI
-
- * Makes sure the values (not the references) of the original rows are copied.
-
-commit 2b3a44158ae93ab5883da22e5f36df92485f3ad4
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Fri Apr 18 22:47:15 2008 -0500
-
- Fixes a few things inside the Matrix specs.
-
- * Removes some of the "needs to be reviewed for completeness" messages.
- * Changes some of the descriptions
-
-commit 3be265a93a75b6a0267b1770f8cad671c4244671
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:26:29 2008 -0400
-
- Matrix.unit, one more alias for .identity.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 57aa8ba9a1dbdf62e9cf644bbde4603b841ffc76
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:25:55 2008 -0400
-
- Name spec correctly.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 3390dc4c6725d996eeb0c2e4ec73949bc0be2290
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:23:54 2008 -0400
-
- Specs for Matrix.scalar and .identity/I.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 958ca1faa1dc60ce591b4b2f768f22ac7f6cb56f
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:22:09 2008 -0400
-
- Move the "needs to be reviewed" indicator to the right place.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit bf3eab630654eaaca9256850d258343e3024989e
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:03:45 2008 -0400
-
- Use size functions instead of constants.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 3981c931e7f4fde730d51614d40e44b9209347f9
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 11:58:22 2008 -0400
-
- Specs for Matrix#clone and #transpose (alias #t).
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 72e1ea8900a638c796de9e715c5dffcf4ac90546
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:27:06 2008 -0400
-
- Basic specs for Matrix.zero.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit f5d294ad941c477060e9b5d2329790db7e1e5700
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:20:27 2008 -0400
-
- Move before block to a clearer place.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit b6bc5b224ade56ab96f3585b6b1c25e6dd5e1ad5
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:19:27 2008 -0400
-
- Write specs for Matrix.diagonal.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit b4d056baa33a2181ab64c065ad1eb4adebcfaddf
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:11:11 2008 -0400
-
- Some initial specs for Matrix#[] and Matrix.[].
-
- These are in the same file because of coding conventions, but they probably should not be since .[] is a constructor and has very little in common conceptually with #[], which is a subscript operator.
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 5476d836577c0fbdbda097762862cf153ffb5e07
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Apr 18 18:35:34 2008 -0700
-
- Some method profiles of data provided by John Lam.
-
- Run these as follows:
-
- bin/mspec -w rails.yaml spec/ruby
-
- We'll be adding our own trace script, but for now, these
- are snapshots of methods used by Rails loading a simple
- "hello world" controller. The rails.yaml file is core
- methods. The core.yaml file is generated by NameMap from
- mspec/bin/name_map.rb.
-
-commit 24c71675cc63c86832ef8bc55d2f0167dff53073
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 17:24:08 2008 -0400
-
- First stab at BigDecimal.
-
- * A skeleton of a somewhat naïve implementation of BigDecimal.
- * Updated spec tags.
-
-commit 1f5f4b59400b8b11df83b274efc8ce98186220ef
-Merge: 9d21b0e... 968a0ec...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 17:28:02 2008 -0400
-
- Merge branch 'bigdecimal'
-
-commit 9d21b0e890a9394658689af2bdee7e449cd2200b
-Merge: c3f3507... 1a08506...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 17:25:09 2008 -0400
-
- Merge branch 'master' of git://git.rubini.us/code
-
-commit 968a0ecda8477b33ceab2e7d0c7e7d084a105bdb
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 17:24:08 2008 -0400
-
- First stab at BigDecimal.
-
- * A skeleton of a somewhat naïve implementation of BigDecimal.
- * Updated spec tags.
-
-commit 1f410d918a59b9b49e87a407cc8fba4bbf342a79
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Apr 18 22:34:53 2008 +0200
-
- Fix a bunch of specs and minor issues in File::Stat
-
- Specs for File::Stat#<=>, File::Stat#ino, File::Stat#inspect,
- File::Stat#mode, File#Stat.initialize and some minor bugfixes
- such as the fact that File::Stat needs to include Comparable
- (like MRI).
-
-commit d6f2c6995941762878f4b777a39b0c23ea654605
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Apr 17 22:30:36 2008 +0200
-
- Remove specs for non-existent File::Stat#initialize_copy
-
-commit c3f350716a35cb869b3ea0289c0e404d07b8819f
-Merge: 810afff... b861102...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 16:18:34 2008 -0400
-
- Merge branch 'master' of git://git.rubini.us/code
-
-commit 72101783ec6e66a4f9ac3f9c90f7e8f5b67058ec
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 17:05:26 2008 -0700
-
- Reworked masgn specs to evaluate L2R and assign L2R. excluded.
-
-commit 4e4bec628b21938617bdfa5a2ef17aedf02c112c
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 15:17:00 2008 -0700
-
- trailing whitespace is killing me... evan\! fix your editor\!
-
-commit 810afffa2e549048947c07b30d77be255db42d73
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:26:29 2008 -0400
-
- Matrix.unit, one more alias for .identity.
-
-commit 2c84f77535d677a42bee93759c77f79c2cdd4d93
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:25:55 2008 -0400
-
- Name spec correctly.
-
-commit 762f5ee0f7ba4234847c695c92e3ed27dd05e134
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:23:54 2008 -0400
-
- Specs for Matrix.scalar and .identity/I.
-
-commit b68295e0046a2eb1fb911ea891d6e0a29174ea30
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:22:09 2008 -0400
-
- Move the "needs to be reviewed" indicator to the right place.
-
-commit 4b6e1097feafe2247e59d6004a36bb0987734138
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 12:03:45 2008 -0400
-
- Use size functions instead of constants.
-
-commit 2086f0c1f1f899f2e41307a5434a5bb6446e20a2
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 11:58:22 2008 -0400
-
- Specs for Matrix#clone and #transpose (alias #t).
-
-commit 2939c55b2e9f38b5115b98429de97bc4fff6f165
-Merge: a47f2b8... 42d3212...
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 02:09:07 2008 -0400
-
- Merge branch 'master' of git://github.com/evanphx/rubinius
-
-commit a47f2b852ca309a68b687157a6cd973716328887
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:27:06 2008 -0400
-
- Basic specs for Matrix.zero.
-
-commit aa3b2eeef70cb8967ef6c92ee24a226c2d1202c1
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:20:27 2008 -0400
-
- Move before block to a clearer place.
-
-commit ca6ac1e59ddb268b388975a2fb5b11e6026e65c8
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:19:27 2008 -0400
-
- Write specs for Matrix.diagonal.
-
-commit b24216d8b0ecfba6888f909415e2523eaed2aeb2
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Fri Apr 18 01:11:11 2008 -0400
-
- Some initial specs for Matrix#[] and Matrix.[].
-
- These are in the same file because of coding conventions, but they probably should not be since .[] is a constructor and has very little in common conceptually with #[], which is a subscript operator.
-
-commit 9313f29ed952f604e0d124ced38ee930b5780b27
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 17 22:35:43 2008 -0400
-
- New spec tags for Complex#%.
-
-commit 08f316de96c94b7d4865d77873327deddeabb664
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 17 22:32:08 2008 -0400
-
- More specs for Complex.
-
- * Specs for <=>, conj/conjugate, to_s.
-
-commit 973c304cc16fa6b78dba31de11b151da2daae762
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 17 22:09:20 2008 -0400
-
- More specs for Complex
- * Complex#abs, abs2, angle, arg, and %. Not sure that % is correctly specified.
-
-commit e32b26694277065fe28f138dca837b8c0509c735
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 17 21:17:26 2008 -0400
-
- More specs for Complex.
-
- * Write specs for * and /.
- * Rewrite + and - to use alternate constructor syntax.
-
- Signed-off-by: Marnen Laibow-Koser <marnen@marnen.org>
-
-commit 0cbf88a6c61e477f4b9a7758a9fab1258efbf30f
-Author: Marnen Laibow-Koser <marnen@marnen.org>
-Date: Thu Apr 17 20:46:04 2008 -0400
-
- Write some specs for Complex.
-
- * Basic specs for Complex.new, Complex.new!, Complex#+, and Complex#-.
-
- Signed-off-by: Marnen Laibow-Koser <marnen@marnen.org>
-
-commit 71909e78b8d77f7e48d306e30f51fbc21b5fbefb
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 17 15:26:53 2008 -0700
-
- Reorganize and fix Matrix specs.
-
-commit 5a9325457696dfba3c410c0adcbdec706ecda3bf
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 17 12:49:45 2008 -0700
-
- Added spec templates and incomplete tags for CGI.
-
-commit d62de6b4096a9b3bd3fda197b70d6e603596e865
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 17 21:12:08 2008 +0200
-
- More detailed speecs for BigDecimal#new
-
-commit ebd6fb8f879f94ff51b74cb4e76080fad7b66cb5
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 17 19:55:31 2008 +0200
-
- More detailed specs for BigDecimal's <, <=, >, >=, <=>.
-
-commit 8caef40cbe873dc2825bc0ba1e66f983b8219cca
-Author: MenTaLguY <mental@rydia.net>
-Date: Thu Apr 17 01:16:25 2008 -0400
-
- add tag object argument to send_in_*
-
-commit 0596b1aca45a85de5f3d727632585da924fd3eb0
-Author: Matthias Reitinger <m.reitinger@mytum.de>
-Date: Sat Apr 12 10:11:13 2008 +0200
-
- New specs for BigDecimal.new.
-
- Signed-off-by: Marius Nuennerich <marius@nuenneri.ch>
-
-commit 5c176e50fe962de1095a75221b4d63e75acc505f
-Author: Benjamin Stiglitz <ben@tanjero.com>
-Date: Wed Apr 16 11:32:18 2008 -0700
-
- Cleaned up Numeric#div spec
-
- The spec names are no longer quite as atrocious; the spec output is now fairly
- readable. The different Integer-Float quotient permutations are now correctly
- specified as well.
-
- Signed-off-by: Brian Ford <bford@engineyard.com>
-
-commit e1406b19c51bfca5f6936d143087043316c68c13
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 15 20:07:48 2008 -0400
-
- Specs for Kernel#p behaviour.
-
- * Args vs. no args.
- * Record separator is not taken into account.
-
-commit 30c717e1736b65a852df501f71e320599fc17786
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Apr 15 21:32:13 2008 +0200
-
- Fix typo in File.grpowned? spec
-
-commit 1bc17a0b4c8f19b84ffdd0b17ec24243a1df6092
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Apr 15 21:31:02 2008 +0200
-
- Fix File.grpowned? and it's spec
-
-commit f49cf4d0319b5772ede7bcddd763c691d5253b18
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Apr 15 20:44:18 2008 +0200
-
- Update tags for implemented File.grpowned? specs
-
-commit ea19fb07cb7b789165aec5da0f571345b96f1f0f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Apr 15 20:41:02 2008 +0200
-
- Spec File::Stat#grpowned? and implement File.grpowned?
-
-commit c411b15b9f94fec21b02a9208cbae4b42452431d
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Apr 15 20:19:24 2008 +0200
-
- Properly rename File::Stat#dev_major and File::Stat#dev_minor specs
-
-commit 26ba3ad30cd726b058cd76f23dc7a79555be724e
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Tue Apr 15 10:25:44 2008 -0700
-
- Quarantine the cvar-related instance_eval spec for now; it's not clean.
-
-commit d72c609ce4567d7a7fdfd2ee4713ac07033c81db
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Mon Apr 14 20:13:38 2008 +0200
-
- Use EnvSpecs where possible
-
-commit 8ccdf2d612f15515837095e2e4a570861024294c
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Mon Apr 14 17:42:36 2008 +0200
-
- Use EnvSpecs module for platform dependent stuff
-
-commit 130e4bdb1d9fa9512dfe45d4ff4d718096683cdb
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Apr 14 19:45:24 2008 +0200
-
- Fix specs for a bunch of File::Stat methods and implement File::Stat#<=>
-
- Created specs for atime, blksize, blocks, ctime, mtime and <=>
-
-commit e5aa89ff13128afb9b43ad77678792aeae4d48ea
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Apr 12 17:54:57 2008 +0200
-
- Remove tag for fixed File#lstat
-
-commit 21cd4a10833ef3bdda1593423faccb334de16536
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Apr 12 17:52:33 2008 +0200
-
- Remove unneccary spec placeholders for File#stat / File#lstat
-
- The shared spec already tests this behavior. With the new added spec
- for the difference between the two, File.stat / File.lstat is pretty
- well covered for now.
-
-commit eacb4f8a4d0ba606458a5756ddd6f2ce723a3dfa
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Apr 12 17:45:55 2008 +0200
-
- Specced different behavior between File.stat and File.lstat
-
-commit 4ae163810074effc068babf538f004e9ff117156
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Apr 14 16:49:04 2008 +1000
-
- Refactor Debugger interface into a CmdLineInterface class
-
-commit e61241498f6ca63b7d5e50e94a70456bc40e929b
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Apr 14 14:17:03 2008 +1000
-
- Breakpoint clean-up
-
-commit ae738f21979edf727437438b992629dd0b59a42e
-Author: MenTaLguY <mental@rydia.net>
-Date: Sun Apr 13 16:14:34 2008 -0400
-
- elminate Mailbox#clear; difficult to implement with sane semanitics
-
-commit 76385484049e47f53b840ddf3c0dfe9e365ca8cf
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Sat Apr 12 16:39:19 2008 -0500
-
- More specs for REXML::Element
-
-commit 00547bc562c359ddac13d04a5c955ee25171bcb4
-Author: Matthias Reitinger <m.reitinger@mytum.de>
-Date: Sat Apr 12 11:15:12 2008 +0200
-
- Fixed incorrect check for object equality in BigDecimal#nonzero? spec
-
- One should not use == to check if the method returns self, but equal?
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit e8403792167c86f120ce7bdcd1e2c7ce1bc31fea
-Author: Matthias Reitinger <m.reitinger@mytum.de>
-Date: Sat Apr 12 11:31:25 2008 +0200
-
- Eliminated use of to_s to check for NaN in BigDecimal specs
-
- Changed "to_s.should == 'NaN'" to "nan?.should == true"
-
- Signed-off-by: Federico Builes <federico.builes@gmail.com>
-
-commit 5883dd78ad92031c920bb9ee2b703702969a5854
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Sat Apr 12 09:42:11 2008 -0500
-
- A few more instance_eval specs, for non-immediate numerics and cvars.
-
-commit e8fd8e696d5487fa698a9a8b1bab2fb54b420133
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Sat Apr 12 08:28:41 2008 -0500
-
- Added instance_eval spec for defining methods under immediates.
-
-commit c23b365a95862cd438e6228929a3a4e935d60de9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 22:09:06 2008 +0200
-
- New rubypsecs for BigDecimal#fix and #frac.
-
-commit 6b6b63ebedb61466b4f04f510bf859574efec7d9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 20:07:07 2008 +0200
-
- New rubyspecs for Bigdecimal#floor and #ceil.
-
-commit 75e9118aea32baaeec82efedb5106c63bb0eef44
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 17:50:36 2008 +0200
-
- Corrected Bigdecimal specs since they were missing "should" statements. :)
-
- Also, added some more cases.
-
-commit 18fafb2e1f653887fdd3cdef693448d9b2bea29e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 17:21:02 2008 +0200
-
- New rubyspecs for BigDecimal's #power, #** and #exponent.
-
-commit 35e32daa38c7df385aac99f7b709a4038141faaa
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 13:41:13 2008 +0200
-
- New and updated rubyspecs for BigDecimal#precs.
-
-commit e0172d4eee7a775ab53562477997855ed66615a7
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 12:31:22 2008 +0200
-
- More rubyspecs for BigDecimal#split and some corrections for older ones.
-
-commit 37d312770700da5eb124fdce7a7b1687c2d9b839
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Apr 11 13:55:00 2008 +1000
-
- Get breakpoint handling working properly
-
-commit 498b95a720e98b70b56af9dfd2c1ba20c0bf89c3
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Apr 9 17:23:56 2008 +1000
-
- Make ISeq#decode return symbols rather than objects by default
-
-commit b8bda0546cdb9ac04ae629f13ccfce5f474e6f2c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Mar 17 14:33:45 2008 +1100
-
- Ensure breakpoint original instruction is correct
-
- When multiple breakpoints are set at the same location,
- only the first breakpoint sees the original instruction.
- This commit ensures the BreakpointTracker detects such
- situations, and updates the breakpoint to set the correct
- oringinal instruction to use.
-
-commit 2700924f23e0283a059583f9e92188b1c3c4f220
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Mar 13 17:20:49 2008 +1100
-
- Reorganize Breakpoint class hierarchy
-
- Refactor Breakpoint class hierarchy in preparation for
- adding PersistentBreakpoint and BreakpointRestorer classes.
-
-commit bfa69d930c38897df18b656d7b86f0b549bed57f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 03:01:37 2008 +0200
-
- Some more test cases for BigDecimas#finite? and #nonzero?.
-
-commit 71a4b0a51ea4da0c41d7b096aa7b88deb8d0d049
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 02:42:33 2008 +0200
-
- A bit more rubyspecs for BigDecimal#sub and #to_s.
-
-commit 8ff9ae455c6c7f4b38f3b4dcbdc6c677759f13e2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Apr 11 01:35:16 2008 +0200
-
- New rubyspecs for BigDecimal#truncate.
-
-commit f0a5c13f218d1e2187dfff09bd27cbd6dde544ca
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 15:09:55 2008 -0700
-
- Converted VMActor specs to dir/files. Added incomplete tags.
-
-commit df74b0fd98597b51d4c1d51ae09706d51e1a5d3c
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 15:01:08 2008 -0700
-
- Converted Mailbox specs to dir/files. Added incomplete tags.
-
-commit 29d223d8bfcc36edc16db58d50f8186905df773a
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 14:49:52 2008 -0700
-
- Converted Actor specs to dir/files. Added incomplete tags.
-
-commit 08ab8db440cfdaa7e06b19a0d88750678d4fccbf
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 10 22:09:39 2008 +0200
-
- New rubyspecs for bigdecimal, and excludes.
-
-commit b76a9e964899348d667181d288c5d4ec0e422c9f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 10 19:33:03 2008 +0200
-
- One rubyspec for the class definition: def nil:Foo; end
-
-commit c526f5744ece40e312340556991ee54e4504ebcd
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 00:53:06 2008 -0700
-
- Processed Rational, Complex, Matrix with mkspec.
-
-commit 3de6f530c42bdca8c9b1202e60d0d14850024d15
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 00:27:40 2008 -0700
-
- Processed IO with mkspec. Added incomplete tags.
-
-commit faaf8bdb8893f71234d7e2fab07aa11d6c556384
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 00:17:35 2008 -0700
-
- Clean up especially bad whitespace in File specs.
-
-commit fedda8f6865c6cdb07c7599606204f0700042574
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 10 00:09:56 2008 -0700
-
- Processed File specs with mkspec. Added incomplete tags.
-
-commit 09f6f1b5138b7ca1d276a8c68ee6bf1cba7691b7
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 9 23:42:40 2008 -0700
-
- Processed Kernel specs with mkspec. Added incomplete tags.
-
-commit e3ca2e3e077c0e026b96e1e68808b95d44233cf5
-Merge: cf0c855... 4d0d1f6...
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Thu Apr 10 02:48:31 2008 +0200
-
- Merge branch 'master' into bigdecimal_specs
-
-commit cf0c8552f31cfd856822c8aa43a5d9d265481ac0
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Thu Apr 10 02:40:22 2008 +0200
-
- Next bunch of specs for Bigdecimal.
-
-commit 4d0d1f6b98ac2dafa487ece31512443a07bbc928
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Wed Apr 9 23:42:10 2008 +0200
-
- Fix ENV specs
-
- * Try to avoid `env`
-
-commit dfcc69ea8bd78e9e463defdef3b4529a5af40bb5
-Merge: 75e6ccd... 6a50f0d...
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Wed Apr 9 22:26:26 2008 +0200
-
- Merge branch 'master' of git://git.rubini.us/code
-
-commit 75e6ccd48bce9e0e939a0ff1d484f14a029969f9
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Wed Apr 9 22:26:11 2008 +0200
-
- Fixes for ENV
-
- * Add specs
- * Add some missing methods to ENV
-
-commit 6a50f0d2f5146901fe96fe86802df155c9266a21
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Wed Apr 9 21:11:05 2008 +0200
-
- Fixed failures for BigDecimal#specs.
-
-commit 09bc62e39a8b92c25aeb6287f9fbf4e9cd2b9a6f
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Wed Apr 9 19:55:45 2008 +0200
-
- Bunch of specs for BigDecimal.
-
-commit c281add79d621f6327740109895c624dd25a2e1b
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Wed Apr 9 09:13:29 2008 -0500
-
- Cleaning up UPSocket#send specs
-
- * Got rid of the weird exception catching
- * DRY things up a bit with before :each
-
-commit 8ebefe3c0a61b7aab8ac3d0ae9768c35b657cdb6
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Wed Apr 9 09:11:43 2008 -0500
-
- Adding spec helpers to REXML specs
-
-commit e3064084efbbac1147d477435010d933ce101413
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 8 22:20:43 2008 -0400
-
- Amended spec wording for Singleton._load slightly. Updated exclude.
-
-commit 23e621625b95e0db82bd406a5eb8fa7324e41a6e
-Author: Chris Shea <chris@tie-rack.org>
-Date: Tue Apr 8 15:49:11 2008 -0600
-
- Create spec for Marshal.load of Singleton instance
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit eec07baa07d591059c64f32c0ddef169cfcccaef
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 8 20:20:02 2008 -0500
-
- Thread#wakeup deadlock for MRI marked as ruby_bug
-
-commit dbb744d9692c2432d7aebecac17365125efe9087
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 8 20:02:08 2008 -0500
-
- spec for wakeup which causes MRI to deadlock when it shouldn't
-
-commit 208a7df6ec2d3c8f550a7ac24db849e593cdc9f3
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 8 17:58:15 2008 -0500
-
- specs for Thread::list
-
-commit f6f307e75e49cdf597b0b3755ab214c6fc1950dd
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Wed Apr 9 00:54:34 2008 +0200
-
- specs for BigDecimal.new and BigDecimal#zero? (plus tag files).
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 5b1f2043f70b0088f1c32be79eeaa8179c2210a6
-Author: Jeff Rose <jeff@rosejn.net>
-Date: Wed Apr 9 00:44:27 2008 +0200
-
- Specs for Actor linking and registration, and Mailbox timeouts.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 4eea149d3d503c121fb7c65115e374838fff8c8a
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 14:55:18 2008 -0700
-
- Added extra Array subclass dup spec
-
-commit 783a884931b718b8fa65dd9768fbebd8a0d1ac0c
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 14:18:45 2008 -0700
-
- minor cleanup
-
-commit 0e047cc97aa6a5acd7193bdde1139f6a89f108b8
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 14:18:27 2008 -0700
-
- minor cleanup
-
-commit f4797827393e0d9d0e5df5aa5184ecebb066d766
-Author: Matthias Reitinger <m.reitinger@mytum.de>
-Date: Tue Apr 8 17:08:32 2008 +0200
-
- Extended Symbol#inspect spec and reworked Symbol#inspect to fulfill them
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit b3c3a5f60177f9c52725b6cacf019412d2c747ea
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 8 17:29:58 2008 -0400
-
- Excludes for BigDecimal specs.
-
-commit b7cd3c38d146a7833ef1d426ea8acd4ee4cb09bf
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 8 17:13:48 2008 -0400
-
- Switched #requires around to have access to #pretty_inspect.
-
-commit aba428095e09ead8ed66895b175e5f3673c4310e
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Tue Apr 8 17:45:13 2008 +0200
-
- Spec for BigDecimal#to_f.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 20a5789f9dc4e6d30dffb594476b354e4aeee201
-Author: Thomas Lachmann <thomas_lachmann@gmx.de>
-Date: Tue Apr 8 17:21:39 2008 +0200
-
- Spec for BigDecimal#finite?
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 896609e7ae8ee12c72e4e3ce86897c1f8b98f3fb
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 02:03:22 2008 -0700
-
- overlooked 2 specs
-
-commit 77774ed4300d5245c58dbcc686cd72dc48f08a1f
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Apr 8 02:00:24 2008 -0700
-
- Added a bunch of specs to String#to_f
-
-commit 1b91113c3e8fb46a0d355cae9000ee4c82f95ac3
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon Apr 7 21:46:17 2008 -0500
-
- More specs for REXML
-
-commit 2460839e3fbe2967b9df70db3de33b2a102b9a44
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Apr 7 12:19:40 2008 -0700
-
- Reworked how MSpec handles config files. Use 'set :sym, value' now.
-
-commit 67d3869e9b3fef6d47727206d02814da410e02fc
-Author: Jeff <rosejn@warp.(none)>
-Date: Mon Apr 7 15:04:09 2008 +0200
-
- Adding specs for Mailbox and Actor, and renaming the VMActor describe to match the standard scheme.
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit 7391c1fbc02966165de03724c42fc1d5243ac99f
-Author: Marius Nuennerich <marius@nuenneri.ch>
-Date: Sun Apr 6 22:29:22 2008 +0200
-
- repair UDPSocket spec
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 5a205207faad0a85271bfcb459390793702c4143
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Apr 5 04:54:21 2008 -0400
-
- Partially revert "Add spec files for cgi.rb."
-
- This partially reverts commit e2714f2fd2d8825ac8af761a5a4545e4d0731735.
-
- Conflicts, left these files:
-
- spec/ruby/1.8/library/cgi/escapeHTML_spec.rb
- spec/ruby/1.8/library/cgi/escape_spec.rb
- spec/ruby/1.8/library/cgi/rfc1123_date_spec.rb
- spec/ruby/1.8/library/cgi/unescapeHTML_spec.rb
- spec/ruby/1.8/library/cgi/unescape_spec.rb
-
-commit 22f3042377731cb6ff963b9e322b24014b286895
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Apr 5 03:18:15 2008 -0400
-
- Added excludes for the CGI specs.
-
-commit 7b9f5a213c971636b663e992fcb8578888d27f52
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Sat Apr 5 13:03:59 2008 +0900
-
- Add spec file for CGI::rfc1123_date().
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 31edbd64bba7f352930ac04d51b63e72553796a9
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Sat Apr 5 13:03:14 2008 +0900
-
- Add spec files for CGI::escapeHTML() and CGI::unescapeHTML().
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit fc321869d73f58dcfbb55ba374646c1568528004
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Sat Apr 5 13:01:33 2008 +0900
-
- Add spec files for CGI::escape() and CGI::unescape().
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit e2714f2fd2d8825ac8af761a5a4545e4d0731735
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Sat Apr 5 12:44:57 2008 +0900
-
- Add spec files for cgi.rb.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 2a1d0ad7e51ba52a918111d53be6a641c41a0445
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Apr 4 22:21:47 2008 -0400
-
- Improved the *rest argument count spec a bit.
-
-commit e8053e4bb108cf877ac8fdafc104eb34bad671f0
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Apr 4 20:38:23 2008 -0400
-
- Specs for unlimited argument count for *rest defns.
-
-commit 03e092e45015f8115f806e11460121c560e60b4b
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Fri Apr 4 17:54:25 2008 -0700
-
- Converted symbol spec to be generative, allowing easier pattern detection
-
-commit bbda617127a8ac319a58fa190d43b3a0d960d309
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Apr 4 14:07:50 2008 -0500
-
- updated File#inspect tags
-
-commit 38eb679d6b6c5aef8bccb2139e681c926b3290c7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Apr 4 06:00:37 2008 -0400
-
- Specs for ~/ expansion in #require, #load. It has broken at some point.
-
-commit 2d600c01205fbb7ccd98e7f7a88ebcbd0e1d1d43
-Author: Paul Thornthwaite <tokengeek@gmail.com>
-Date: Fri Apr 4 08:43:42 2008 +0100
-
- Updated specs for Set library
-
- * Added specs for Set#subset and Set#proper_subset
- * Added specs covering empty sets and comparisons
- * Corrected spec string to include ? on superset method names
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 3a547c2b82434c64b72967ebd917fc063ff1317d
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Apr 3 23:16:18 2008 -0700
-
- Fixed GetoptLong specs to not depend on value of ARGV.
-
-commit 5dd9b0ecdddfd990d6387a0a7c70173ea0cededa
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 2 23:27:04 2008 -0700
-
- Add config file for and rework MSpec runners.
-
-commit 773a13ed9005628e48ed146180041caa035f4072
-Author: David Yip <yipdw@member.fsf.org>
-Date: Thu Apr 3 03:18:48 2008 -0400
-
- Added spec: full contents of StringIO stream should be accessible after rewind.
-
- Spec tested against Ruby 1.8.6p111 and Ruby 1.8.6p114 on OS X 10.4.11.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit ba2ca41cb29ac08c94231a2383940464e6fd1c9d
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Thu Apr 3 08:45:49 2008 -0500
-
- Updated tags for REXML specs
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 09c080bf33092b9d147d1b0a5de920fce8527fdc
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Thu Apr 3 08:45:26 2008 -0500
-
- Fixes whitespace in REXML::Element specs
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 3a997bc18f589b91b4cd518448644171f3054abf
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Thu Apr 3 08:29:23 2008 -0500
-
- More specs for REXML::Element
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit d250939060a4a91a6fee59bd4bfa4e86eb271373
-Author: Paul Thornthwaite <tokengeek@gmail.com>
-Date: Thu Apr 3 14:36:42 2008 +0100
-
- Specs for Set#superset and Set#proper_superset added
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 01399738d5ad0136ef205b8501b12012c7e42230
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Apr 3 18:09:20 2008 -0400
-
- Removed excludes for Object#kind_of?, #is_a?.
-
-commit 0e7d1c6e02e5617bb251366e0d60760edb29377e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Apr 3 20:04:34 2008 +0200
-
- Fixed copy-paste error in Object#is_a? specs.
-
- Adjusted the Object#is_a? exclude.
-
-commit 4a9cb7cc0c734b4280c3a65906c85e1c1e2f4990
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Apr 3 19:02:05 2008 +0200
-
- Add specs for #kind_of? / #is_a? behaviour that are failing in Rubinius.
-
-commit e88fdb6cbd9fa829a81e6c7664e88f6956ddae64
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Apr 3 07:18:56 2008 -0400
-
- Spec to check `A = 12; class A; end` raises TypeError. Works as is.
-
-commit 3c0db09626333405bdcb72e62ddb8fb2ea176ff5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Apr 3 06:44:32 2008 -0400
-
- Spec for const lookup: `A = 12; class A::B; end` should raise TypeError.
-
- * Currently crashes due to a lookup problem.
- * VVSiz discovered and reported.
-
-commit edda5994c293e4d26b4a741e90e0ab61513e8dec
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Apr 2 16:39:09 2008 +1100
-
- Do not strip leading spaces in debugger output
-
-commit eecc2bca5045921368378abfccafcf70339441f9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 2 21:34:52 2008 +0200
-
- Enabled File#truncate testcase for JRuby.
-
-commit 4d555cf50dfe6a8e9cb2f24a6a636a9df3f03768
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Apr 2 20:03:02 2008 +0200
-
- Added test case to File.open rubyspecs.
-
- Courtesy of David Yip.
-
-commit 42f0b52cd9fbac4a39fc1e5c2a241462bee5bf3b
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Apr 2 01:11:38 2008 -0700
-
- Use kind_of instruction since #kind_of? is not available at all times.
-
-commit 9ee52514eee820b9af7c9e6d2eaaca8d2bca363b
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 1 17:16:47 2008 -0500
-
- IO#reopen should return self
-
-commit f1481283091fcbe662fd01d409f5a2d2d7e3aa59
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 1 18:57:06 2008 -0500
-
- added primitive io_close_ng and tagged IO#close spec failures
-
-commit 3861e75e01af9319e2af879e2644fc8509947903
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 1 16:07:27 2008 -0500
-
- IO#close should return nil and refactored TCPServer.accept specs
-
-commit d6dfbd3b0bab57453e67991c3320744b08346979
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Apr 1 15:04:18 2008 -0500
-
- DRb specs now attempt to check if server is up/down prior to each call to start_server
-
- note that there is something wrong with the way stop_server works in rubinius as it appears that the TCPServer is still binding the port. Spec is tagged to deal with this but technically it's probably a bug in TCPServer
-
-commit 4119fe8baab45be6b1d1370b8a9537e710b1a60a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 1 12:40:47 2008 -0400
-
- Sanity changes to #load specs to bring them up to date.
-
- * Please change the specs if you change the implementation, sheesh.
-
-commit 3b58cb35abeba31f7ac72e3ab37b2630949406a7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 1 10:59:58 2008 -0400
-
- Spec for forced recompiling through second parameter of Kernel#load.
-
-commit 5d7a73ae15a4c40e31486a60cbb66f3de1ac4697
-Author: David Whittington <djwhitt@gmail.com>
-Date: Wed Apr 2 02:57:35 2008 +0000
-
- Add tags for failing private keyword specs
-
-commit 1b2f118be7ff9b6adfea736ecbbb8f3fd8dd0f49
-Author: David Whittington <djwhitt@gmail.com>
-Date: Wed Apr 2 02:53:43 2008 +0000
-
- Added a couple evil private keyword tests
-
-commit f58c67e33a99f751c3520ab65c96e28a91c45900
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 1 09:59:22 2008 -0400
-
- Conditional compilation. Rubinius.compile_if($DEBUG) { p somevariable }.
-
- * Hacky and probably fragile but it seems to work. Whenever the gvar
- given as condition evaluates to false, the entire block is omitted
- from the produced bytecode. If it evaluates to true, then the extra
- block itself is stripped and only the block contents remain.
- * Do NOT use indiscriminately until we have played around with it for
- a bit to avoid problems.
- * Manipulates the sexp, not the AST to avoid worrying about locals
- and scopes and whatnot.
- * Enabled by default; for example -d will work out of the box (you
- do need to have the file recompiled obviously.)
-
-commit 4f78ee2b0bebb9170a483927af9c7520ca67f912
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Apr 1 09:58:53 2008 -0400
-
- Specs to verify conditional compilation in the compiler.
-
-commit 8dfece35e3bc83e14e92bfee9ea0ebabb795da70
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Apr 1 01:07:14 2008 -0700
-
- Fix up language symbol specs.
-
-commit 29cc22f2c1f7ce2ce15a7f339d1159cf93510daa
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Apr 1 00:40:34 2008 -0700
-
- Constant lookup only searches class or module (#457).
-
-commit 538611f2aa06a1cf1c3958583bd6a8487deee994
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Mar 31 18:03:41 2008 -0400
-
- Spec for empty loop body.
-
-commit fd0d1079671d7664de3a6a836c5e5624d487a4e1
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Mar 31 23:47:40 2008 +0200
-
- Spec for constant lookup on non Module or Class objects
-
- This exposes the bug also described in ticket \#457
-
-commit 3b7cf550c70db2dd53cb58ef3efd2651ee352134
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 31 21:53:40 2008 +0200
-
- Added a couple of Dir.glob/Dir[] rubyspecs.
- (Courtesy of Roland Swingler)
-
-commit bbfa77a8517390bdc807f41bfe6d101791980d8f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 31 19:04:09 2008 +0200
-
- Fixed DRb rubyspecs (proper spec name, removed invalid file, better cleanup).
-
-commit d8a4fb0b16dc4c722cf148ff83bcad05fbb4af1e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 31 14:29:54 2008 +0200
-
- Make sure Marshall#load rubyspec closes the file.
-
-commit 4082a7663eaef50000be46d909c22fbb97a1a3e8
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 31 13:57:35 2008 +0200
-
- Reverted new Range#step rubyspecs, since they fail on MRI and JRuby.
-
- Partial revert "Fixes for Range#step."
- This (PARTIALLY) reverts commit a6b06a67207c40ffa9ccf191c051fdf2fa0f5359.
-
- The specs are reverted since they fail on:
- MRI 1.8.6 pl 36 (Ubuntu default)
- MRI 1.8.6 pl 114 (Current compatibility target)
- MRI 1.8.6 from 1_8 branch
- MRI 1.9 from Ruby trunk
- JRuby 1.1 from trunk
-
- The specs expect that to_f is invoked, but MRI and JRuby don't behave
- that way. Furthermore, Float is not a special case. There are other
- cases, like Rational. Take a look into MRI code, there is no special
- handling for Float.
-
- Please, test your spec updates at least against the current
- compatibility target (MRI 1.8.6 patchlevel 114) to avoid problems.
-
-commit 6d9680ecaaa2a9aadd35699c8064bf6481acc107
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 31 13:23:20 2008 +0200
-
- Added new rubyspecs for IndexError out of String#[]=
-
-commit c8a52bb7cf191bb35efc89c560bdeced4241f015
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Mar 31 04:38:49 2008 -0400
-
- Split Regexp#=~, #match specs; they behave differently on match.
-
- * #=~ Returns index, #match returns MatchData.
- * Grammar fixes.
-
-commit 6c2727e928991cdf9f809cb5941c3afedb5171ff
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Mar 31 04:07:17 2008 -0400
-
- Fix Regexp#match, #=~ spec to actually be shared. Exposes #454.
-
-commit e258a2bccafffba57ab86d1c1a104839bda424da
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Mar 31 03:30:48 2008 -0400
-
- Spec to verify IO behaviour with an altered BufferSize from Le Huy.
-
- * Moved spec to spec/core/io/ and simply used the first one.
- * This problem seems to have been largely corrected.
-
-commit 7a39be8bea055464838ff24c70e170a91f8df68c
-Author: Ben Burkert <ben@benburkert.com>
-Date: Sat Mar 29 19:39:11 2008 -0500
-
- Added spec for Module#define_method
-
- Methods defined by define_method with a proc should have the
- same scope for local variables as the proc.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 12c639d90ff3d14f8010ca7c782612bd7c1777ab
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Mar 29 23:58:13 2008 -0400
-
- Tony Arcieri's specs for inter-VM Actors.
-
- * VMActor implements the Actor interface to work in Rubinius' Multi-VM
- context: VMActors can reside on any VM instance.
-
-commit a0d0884aa3c9e7a6fa949cbde1cdf2392bc4ff23
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Mar 29 15:59:42 2008 -0400
-
- Module#attach_foreign allows using a symbol to give the function name.
-
- * Specs for the same.
-
-commit a5f397f38d6c9eafcac163c2cf678d5c55a6b79b
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Mar 28 23:40:04 2008 -0400
-
- Specs for FFI in general and Module#attach_foreign in particular.
-
- * Very basic specs to verify that FFI in fact works correctly.
- * We need to define what the behaviour should be in the case of e.g. an
- incorrect function signature. Currently it may or may not cause SEGVs
- depending on the exact usage. Remainder specs are in but quarantined.
-
-commit 3dc5c635b56bc599a718a94f990976b67ab52b6c
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Mar 26 02:01:12 2008 -0400
-
- Specs for Module#attach_foreign.
-
- * The method is a replacement for #attach_function but allows
- giving the library name as well to access external libs.
- * This acts a higher-level interface to FFI.create_function. The
- "real" FFI specs will be written for that method instead.
-
-commit 677412353409ba4e5d67f19a3d095c62d009c88f
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 28 18:04:40 2008 -0700
-
- Added CType#isctrl, #toprint. Rework String#inspect, #dump.
-
-commit 87ba991b9b488b808ebf729b9e41765df76cc602
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 28 15:09:11 2008 -0700
-
- Reworked String#each and #sum. Added String#modified? and specs.
-
-commit 204d8ce1a792a61882e549953b5b878139ac9cda
-Author: Hongli Lai <hongli@plan99.net>
-Date: Fri Mar 28 23:32:18 2008 +0100
-
- Spec: Marshal raises EOFError on loading an empty file
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit f6e698f96ce9e2a8c8abe856322add02931df8b7
-Author: Michael S. Klishin <michael@novemberain.com>
-Date: Sat Mar 29 02:20:23 2008 +0200
-
- Tag new spec for ensure as failing
-
-commit ef7e4436389a0f4346b3a3bc5c275b653f46d6bb
-Author: Hongli Lai <hongli@plan99.net>
-Date: Fri Mar 28 23:22:44 2008 +0100
-
- Add spec for exception handling inside ensure block.
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit f54c91f6cb7498fe44b1b05a1372d9f6ed3ea1ee
-Author: Stuart Halloway <stu@thinkrelevance.com>
-Date: Fri Mar 28 10:11:05 2008 -0400
-
- Fixes Pathname#absolute? and #relative?.
-
- * specs now pass
- * underlying cause was corner case in File#basename
- * new passing spec for corner case
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit 0d4606d53d8fc0bcb2370bd648546abffd402673
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Mar 28 16:45:47 2008 -0500
-
- fixed CSV::Reader.parse spec to use local fixtures
-
-commit 35a15c6c85ebb6eabaec16e03aa88399061844e9
-Author: Alister Lee <rubinius@dev.shortepic.com>
-Date: Sat Mar 8 18:11:24 2008 +1100
-
- Beginning of specs for CVS::Reader.parse
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit d4161a379eab621e338a8c82f088b834756082e9
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Mar 28 16:39:50 2008 -0500
-
- removed csv/reader/parse_spec to commit alister lee's spec
-
-commit 534806c10a95435873efcb0d215732d7da4f2fd6
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Mar 28 16:38:03 2008 -0500
-
- mkspec generated specs for csv.rb
-
-commit a6b06a67207c40ffa9ccf191c051fdf2fa0f5359
-Author: Stuart Halloway <stu@thinkrelevance.com>
-Date: Fri Mar 28 06:09:34 2008 -0400
-
- Fixes for Range#step.
-
- * previously failing specs pass
- * new spec added to cover float/int difference
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit 6886ec5851783c5364ff5bc464ee94071fc8535e
-Author: Michael S. Klishin <michael@novemberain.com>
-Date: Fri Mar 28 00:06:56 2008 +0200
-
- Update stdlib and specs for REXML from 1.8.6 patchlevel 114 (see details!)
-
- * Update stdlib/rexml to use REXML from Ruby 1.8.6 p114.
- * REXML in p114 is screwed up: call sites were not updated
- after REXML::Formatters::Transient#initialize arity
- change. Ruby 1.8.x branch in SVN though has
- completely different REXML layout and organization
- (rev. 15833) so there's no way to fix it until we know
- where REXML changes are headed in 1.8.x branch.
- * Update REXML spec and tags for it.
-
-commit 3145a74a85d72f6ef8a93384a74d96a589bfb5eb
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Mar 26 22:27:41 2008 -0700
-
- Rework and cleanup of various String methods.
-
- Also, ensure that when Strings are converted through FFI
- and passed to C functions, the char array is explicitly
- terminated with \0.
-
-commit 9ba3e515b49729e0cb80181af9e28e3ce4c70e97
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Mar 26 18:40:57 2008 -0700
-
- Shuffle some String methods. Add specs for and rework String#substring.
-
-commit 990d47b84bc6301be2a8bcbaccbae65ef697c417
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Mar 25 16:22:45 2008 -0700
-
- Added String#compare_substring. Reworked String#chop! and #chomp!.
-
- Also, to ensure that ByteArray instances that are accessible in
- Ruby are properly handled by C functions, changed string_equal_p
- to use strncmp instead of strcmp.
-
-commit f47c446daa136e6f31f5c590dd535ba22e89a0b2
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Mar 25 11:36:16 2008 -0700
-
- Fix errors in String#count_table spec descriptions.
-
-commit 9425d0de9a7883c14de6ae9ae5db05ab92141ab9
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Mar 26 22:38:48 2008 +0100
-
- Guarded two failing specs on OpenBSD that also fail on MRI
-
- MRI on OpenBSD also suffers from the 0.0 / -0.0 issue (the
- GCC version on that platform too). The child reaping spec
- also fails on both MRI and Rubinius
-
-commit 288a6e2ca3675a1e60bfd6b8b328c2a4d513c12f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Mar 26 22:15:16 2008 +0100
-
- Fix Socket specs for more strict BSD behavior
-
-commit 63513d23f16ca7919b8605e016a3a941b79c0834
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 25 17:20:53 2008 -0700
-
- oops! extra exclude
-
-commit a36a4bf8cde95c99282e07f46438430588288736
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 25 17:20:19 2008 -0700
-
- really minor changes
-
-commit e9b759812deaf97e7fe5846c116d53f69b63e244
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 25 17:19:41 2008 -0700
-
- Added the sucky parser spec--not passed yet
-
-commit 90eb74998e132373e6b96e3c66bfa909854e3ef0
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 18 17:41:50 2008 -0700
-
- Added spec for 'a [ 42 ]'
-
-commit 2d34643c75b53b832e89d2473d501ab1c8a5df02
-Author: David Whittington <djwhitt@gmail.com>
-Date: Wed Mar 26 08:01:20 2008 +0000
-
- Tagged Generator specs as unstable due to memory consumption
-
- Each spec consumes > 60MB of memory. After looking at the specs there is no way
- they should be consuming that much memory.
-
-commit 52d81e0593dbca8abfecefe2e9c3d2ab504cfe0b
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Mar 25 10:43:17 2008 -0700
-
- Added String#copy_from primitive. Reworked String justify methods.
-
-commit 1aabda50ea82974b96a7032a0ea13865b2332b5d
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Mar 24 21:57:02 2008 -0700
-
- Added Tuple.template and reworked String#tr and friends.
-
-commit bc7d9ccb8b8ca77d8479f325ea314fc09bc34907
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 21 00:51:10 2008 -0700
-
- Rework methods that behave like String#count.
-
-commit 1e5ac9a6818c972882e080aeb723a105108e0c57
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Mar 19 21:25:07 2008 -0700
-
- Rewrite of String#casecmp, approx 2x faster.
-
-commit c39f2cb708169d35c2fbeb969ee3323c704f0566
-Author: Matt Palmer <mpalmer@engineyard.com>
-Date: Tue Mar 25 21:09:37 2008 +1100
-
- Some specs for the timeout library
-
-commit cb69bdadeb10cf6b4b2c71a095562f8d8371d76d
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon Mar 24 17:55:23 2008 -0500
-
- Small fix for Socket.getaddrinfo spec
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit 5c3a61edef3c456b8296e65f8e06026347339a36
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon Mar 24 17:06:36 2008 -0500
-
- Fix for the socket's issue
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit f3fd9ac4eebd0bc2a0a06bbe06921463d03177eb
-Author: Federico Builes <federico.builes@gmail.com>
-Date: Mon Mar 24 14:10:46 2008 -0500
-
- Fixes specs for Socket and adds a gethostname spec
-
- * Changes hardcoded "localhost"s to Socket#gethostname calls.
- * Adds a simple spec for Socket#gethostname
-
- Signed-off-by: Michael S. Klishin <michael@novemberain.com>
-
-commit 7131328bc02057b16071a933fe98f331b27e00bb
-Author: Michael S. Klishin <michael@novemberain.com>
-Date: Tue Mar 25 00:24:01 2008 +0200
-
- Applied slightly modified patch by Federico Builes:
-
- * Add REXML::Document and REXML::Attribute specs
-
-commit cb464295e5accb00e783f7f9e2a0b10c64ad6579
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Mar 23 12:06:07 2008 +0100
-
- Added new Range#step rubyspecs.
-
- Excludes for rbx also updated.
-
-commit 7d181716ac3b92d8a31a20ec30daee455d36fc58
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Sat Mar 22 14:51:30 2008 -0500
-
- Added order-of-evaluation spec and tags for rubinius failures.
-
-commit 5caf94ce6deb5e28c9a3de02e60a9b86cbdaf7ec
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Mar 21 12:37:02 2008 -0500
-
- tagged new specs for pathname
-
-commit 62f88983ee3fa1b09d8f7df56e35cbfdac6d2a06
-Author: Martin Stannard <mstannard@gmail.com>
-Date: Fri Mar 21 12:10:23 2008 +1100
-
- added some specs for pathname library
-
- there are failures in absolute and relative specs
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit 655f61650bb299f38c9fd978594baa483fc0d0cc
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 18 16:22:24 2008 -0700
-
- Reduced parser todos from 113 to 89
-
-commit f97b2fc2ee3310e81871200125bbd7e33c2636bf
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Tue Mar 18 13:51:31 2008 -0700
-
- Moved sexp_expectations.rb to fixtures subdir
-
-commit 0a185e5ac48954cf4addae0c8f09dcb5be259f8e
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Mar 17 17:55:50 2008 -0700
-
- Added f'd up note about the spec failing
-
-commit 978f043e1ed3a2b7cb7d4129e0002be485b0a78c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 18 21:17:32 2008 +0100
-
- Fix Process.groups spec
-
- Process.groups can return an array with the same gid multiple
- times on certain platforms (at least on FreeBSD and OpenBSD).
-
-commit 8812658dde5e317dfebd0ea3c159ad0a1b98e8e8
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 18 21:02:00 2008 +0100
-
- Update spec tags for ERB
-
-commit 47216560d4a980cbaac2855e0c5ee302e0754bf8
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 18 20:53:16 2008 +0100
-
- Update spec tags for IO
-
-commit 7d34f4053023d99c3be4964bfebb3a1c74cd40c9
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 18 20:32:39 2008 +0100
-
- Update spec tags for File
-
-commit 8a66bc6f5e378f49febb80fba37723a7de0d2475
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Mar 17 15:46:51 2008 -0700
-
- Added specs for File.[l]chown/#chown, code for File.lchown.
-
-commit 960872ae163a5615f513c58d727a7fd93664673e
-Author: Glenn Davy <glenn@thor.local>
-Date: Mon Mar 10 10:00:40 2008 +1100
-
- Make File.fnmatch respect case when using square brackets
-
-commit 0e32f8e224543a3c152b0351540eaa36fdfcdb06
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Mar 17 11:04:27 2008 -0700
-
- Added exclude for failing spec added in b635fcf0.
-
-commit 62687753b239984acba4f0e80899ca75a8a08cfe
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Mar 17 10:56:31 2008 -0700
-
- Fixes and specs for Module class_variables methods.
-
-commit b635fcf041707fe55a26b7709aef8dc1b2509161
-Author: Charles Oliver Nutter <charles.nutter@sun.com>
-Date: Mon Mar 17 12:52:13 2008 -0500
-
- Add a simple Module#private spec.
-
-commit 2aa98e1df50bba768b57018f6e90c56fe39206f4
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 17 13:28:17 2008 +0100
-
- Make sure no processes left hanging after IO#close specs.
-
-commit 8f332dde4460c03c378f1d1ecc1fbae54557d8ee
-Author: Matt Palmer <mpalmer@engineyard.com>
-Date: Mon Mar 17 16:44:24 2008 +1100
-
- Raise an Errno exception if a write fails
-
-commit 55c830063115e4455eeda3f8de639a7f7e0624f5
-Author: Matt Palmer <mpalmer@engineyard.com>
-Date: Mon Mar 17 16:42:16 2008 +1100
-
- Raise IOError if we attempt to write to a readonly file
-
-commit ad64c0ea7598b8a4c62ba2dd435f70c976186a50
-Author: David Whittington <djwhitt@gmail.com>
-Date: Sun Mar 16 04:24:54 2008 +0000
-
- Modified file type specs to search for sockets in /var/run instead of /var
-
- Doing a find on /var could take quite a while + might do nasty things like do
- finds on backup files etc. Running a find on /var/run should be faster and
- safer.
-
-commit ff5e9d3b9d7f3e484211b66fff96e665ed13614b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Mar 12 17:44:55 2008 +0100
-
- Revert "Added simple spec for range splatting".
-
- This reverts commit 9b3988436a21f61c86168a7566d472c4dfa22162.
-
- The spec uses '=' instead of '==', and it verifies something
- that is not true for MRI (1.8, 1.9) or JRuby.
-
-commit 004662e54477269a98475f84724972b82885d9cb
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Mar 15 01:09:43 2008 -0700
-
- Exclude failing UNIXServer.new spec.
-
-commit 13340924519f607d9c48da04c3f3ab41a1de3e86
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 14 18:14:06 2008 -0700
-
- Tagged unstable Process.kill specs that cause hangup on linux.
-
-commit c4a4dc19a26db058594c8056933cdab42d4f26fd
-Author: Matt Palmer <mpalmer@engineyard.com>
-Date: Fri Mar 14 21:13:31 2008 +1100
-
- Fix up IO#write spec so it works cross-platform
-
- It looks like the Linux implementation of IO#write and IO#read are a bit
- different from the OS X version, because the spec worked on OS X.
- Presumably this tiny change won't cause any conniptions.
-
-commit 33890d9a77d5a34c15263f84b9b415ffc084815a
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Mar 14 14:42:11 2008 +0800
-
- Remove fail tags from passing ruby/1.8/core specs
-
-commit 4bdd3df099fe627d158f4c6d35e5a7df0a891e86
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Mar 14 12:58:40 2008 +1100
-
- Fix bug where stepping by line would sometimes skip a line
-
-commit 260190092afbcfadd1a6e1d6db1674ecf021b686
-Author: Matt Palmer <mpalmer@hezmatt.org>
-Date: Sat Mar 8 19:26:41 2008 +1100
-
- Put in an explicit IO.new test for single-argument
-
- Assuming that your UDPSocket tests passing will prove that IO.new takes
- one argument might have been, in retrospect, a little retarded.
-
-commit 58216e07f0728415762fe5fbe98e1e984dfea31b
-Author: Matt Palmer <mpalmer@hezmatt.org>
-Date: Sat Mar 8 18:45:17 2008 +1100
-
- Mark changing failures in the CI test suite
-
- Fix up so that the CI doesn't fail as a result of my previous changes to the
- UDPSocket specs.
-
-commit 36f91c5da132f309fbf6d047fd74ebd8aa7cbf22
-Author: Matt Palmer <mpalmer@hezmatt.org>
-Date: Sat Mar 8 17:26:49 2008 +1100
-
- Rearrange the UDPSocket test cases for better separation
-
- * open_specs now only contains a spec that calls UDPSocket.open;
- * send_specs now has separate tests for ad-hoc and connection-oriented
- sends.
-
-commit b40c1cf434bd0879f672ec1dc471f1e1dfaccc1c
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Mar 13 17:07:50 2008 -0700
-
- Add (failing) Symbol#to_yaml spec based on ticket 322
-
-commit c0bcb0151379fe9858d0fafd2ef56cf1b08daff3
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Mar 13 16:23:37 2008 -0700
-
- Apply ticket 351 and resolve ticket 350 (RbYAML bugs)
-
-commit a8d6e8cddfd8bc2dccaa93b25adfb31b39b96dba
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 13 16:25:55 2008 -0700
-
- Removed all should_not raise_error from shared/time_params.rb
-
-commit 01f09f4e5697c4a775ac321a71d3b777196d9001
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 13 15:47:37 2008 -0700
-
- cleaned up spec with new raise_error block form
-
-commit e965fc735311915dd43c47cc4853e163376cc6be
-Author: Lachie Cox <lachie@smartbomb.com.au>
-Date: Sat Mar 8 17:14:37 2008 +1100
-
- enhanced syntax error to give same message as MRI
-
-commit 868b38152ca99189fce85542a9068c0d01ee4a41
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 13 15:07:33 2008 -0700
-
- Added exclude for last patch applied
-
-commit 9b3988436a21f61c86168a7566d472c4dfa22162
-Author: Patrick Hurley <phurley@gmail.com>
-Date: Mon Mar 3 14:04:14 2008 -0500
-
- Added simple spec for range splatting
-
-commit 3c7a017e173945d3f9b18d566bb1c3d6d04e97e4
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Mar 13 17:18:39 2008 -0500
-
- fixed tags for new constant specs
-
-commit a966436b7be78bc063e32bc16496f5cabbb0a152
-Author: Matt Palmer <mpalmer@hezmatt.org>
-Date: Sat Mar 8 14:56:58 2008 +1100
-
- Make sure modules included in Object are found
-
- Add a spec to make sure that constants from modules included in Object are
- found. Evan is committing the fix for this separately.
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit 4e0ddd3e701f68b592cb69972f7d587b90392913
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Mar 13 15:05:54 2008 -0700
-
- Correct a 'defined?' spec added by ticket 388
-
-commit 407095d8ffbf0563fa46e5d4ed6a08423eddb2ad
-Author: Martin Stannard <mstannard@gmail.com>
-Date: Sat Mar 8 15:47:59 2008 +1100
-
- Added tests where defined? method should return string descriptions of objects
-
-commit f366309a8fff28552d7d27101d8b3d7b4352e235
-Author: Gianluigi Spagnuolo <glgspg@gmail.com>
-Date: Fri Feb 29 10:42:42 2008 +0100
-
- Fixed Array set element problem
-
-commit 42c22bf542edc8c8379587507fd9e35ba25b190c
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Mar 13 17:00:31 2008 -0500
-
- updated tags for new read specs
-
-commit 45c43a7ab3310a41b0b3367f4762a1bb55b02405
-Author: Ben Askins <benj@supernova.local>
-Date: Sun Mar 9 11:41:49 2008 +1100
-
- Fix typo in file/open_spec.rb
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit a221ea56325fe082154a629094abb27d40919a39
-Author: Alister Lee <rubinius@dev.shortepic.com>
-Date: Sun Mar 9 15:27:34 2008 +1100
-
- Specs to expose defect in eof treatment in IO.read
-
- Signed-off-by: Charles Comstock <dgtized@gmail.com>
-
-commit 4967adb3d49252aae75b6b57159fb5879ac75db1
-Author: Myles Byrne <myles@ducknewmedia.com.au>
-Date: Sat Mar 8 12:14:20 2008 +1100
-
- Check existence of ArgumentError
-
-commit 45e46234da288052e639bb5c9c122874fd4d4e1c
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Mar 13 10:28:54 2008 -0700
-
- Fix File[Test].size? and specs for it.
-
-commit d467bf21c4037784a21ba964b24c28fc80b34736
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 17:36:56 2008 +0800
-
- Fix IO::foreach when separator is nil
-
-commit 70615e1c15692b8a8149e1616c802db9eb5bad11
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 17:32:40 2008 +0800
-
- Fix IO#flush to raise IOError on closed stream. Remove empty tag files.
-
-commit 9c9e7f422c98bf6add6c9a426ae25e3a6dbced85
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 17:29:31 2008 +0800
-
- Fix IO#fcntl to raise IOError on closed stream
-
-commit 215d600002948efb949422c0163aa9bbe5790507
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 17:27:43 2008 +0800
-
- Fix IO#dup to raise IOError on closed stream
-
-commit 879ee8124a2ad8ce83bcd9c51b2d6df0baecb40d
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 16:29:03 2008 +0800
-
- Fix a bunch more IOError when closed stream
-
-commit 487d9561992eb03c3d12de5128772cd194b37b8b
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 16:26:33 2008 +0800
-
- Implement IO#read_nonblock
-
-commit 15c58fa2c47d2dc61b3dac436ab3b56a727b7dc5
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 15:46:22 2008 +0800
-
- Fix remaining IO.read specs
-
- * Passing nil to length treats it as no length limit
- * Passing nil to offset treats it as 0
-
-commit 9daee4f9c3b62db34b07d74171d1017fa823533c
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 15:32:13 2008 +0800
-
- Fix IO#sync to raise IOError on closed stream
-
-commit 2ac848c09e055b3eacc8bb18f713d56715484063
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 15:24:36 2008 +0800
-
- Fix IO#sync to raise IOError on closed stream
-
-commit 36aa8577603f1d8ca76344fc3e889bb7c991bfe9
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 14:51:13 2008 +0800
-
- Fix IO#sysseek to raise IOError on closed stream
-
-commit 3307f5a4db121c2097b450278bc3cf19550f267b
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 14:48:30 2008 +0800
-
- Fix IO#pos and #IO#tell to raise IOError, move their specs to shared
-
-commit 72890065371f3e1d1cde43618a3da04c900749aa
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 14:39:21 2008 +0800
-
- Implement IO#to_io
-
-commit 4977bd1f22278e19ba69203c2545ad97c297ae23
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 14:33:03 2008 +0800
-
- Remove IO#isatty tag file also, since they are sharing the same specs
-
-commit 5dd3115465852ddb03b7100b21739f9d38f0ee58
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 14:29:13 2008 +0800
-
- Fix IO#tty? should raise IOError on closed stream
-
-commit 063f56b4c402180c2c989a15b75fe7a15d4c5c61
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 13:55:55 2008 +0800
-
- Make IO#syswrite use the shared IO#write specs
-
-commit 22de413f6cccb3eb100fd29da90c2ded84ea19f3
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 12:08:50 2008 +0800
-
- Update IO#write_nonblock's tag
-
-commit 25a5ac7e9123512e87e6460f1fa5ecbcfc7349b5
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 12:07:22 2008 +0800
-
- Pull out 2 differences between IO#write and IO#write_nonblock specs
-
-commit a40dbd0f36f0237bc27c905c399aba1e62bbfa70
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 11:39:03 2008 +0800
-
- Alias IO#write_nonblock IO#write and make IO#write specs shared
-
-commit 1c8eb4bc04405753dd607af1f5d231df01fd2536
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 11:06:09 2008 +0800
-
- Make the mock return a string to prevent a coercion error
-
-commit a85b2105c826a7d39dc45c90cad37faf75baac86
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 10:39:00 2008 +0800
-
- Fix IO#write should raise IOError on closed stream
-
-commit e8c8af1aa888dc3e5600cad64f03c09aebaf6d22
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Mar 13 10:34:08 2008 +0800
-
- Fix IO#to_i should raise IOError on closed stream
-
-commit 49d48c381b7ed0f2576c2c5bff3ac8825a0dd49e
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Mar 12 17:56:26 2008 -0700
-
- Fix the insanity
-
-commit 646136d0f75b165a3a62266791556d3f4f03c835
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Mar 12 17:04:30 2008 -0700
-
- Finally got compiler specs passing
-
-commit 052bbcbe4f51b322ae44dc387320f9b4964d74cd
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Mar 12 16:23:58 2008 -0700
-
- Correctly set Syslog mask in Syslog::open and add crappy spec for it
-
-commit dbabc5bda94a2bd77b2cb777666d286155c75ee0
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Mar 12 14:55:08 2008 -0700
-
- Correct Syslog specs and modify syslog.rb to pass them
-
-commit 5b8bee08f2a19d6f25df98183a24745ed33ed519
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Mar 12 14:54:38 2008 -0700
-
- Modify Kernel#load specs so that they pass on 1.8.6-p111
-
-commit b96974693cee75772b09052f8ec7110a000c2429
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Mar 12 14:00:42 2008 -0700
-
- Fixed specs for wilson's compiler encloser changes
-
-commit 2a21597719bea1ea7db27a552ea6dfb6865963d7
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Mar 12 14:00:06 2008 -0700
-
- half work on pretty_inspect
-
-commit 6e398ca491b67a6c468798fd92a9764f70bc68a8
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Mar 12 15:18:02 2008 +0800
-
- Share String#to_a a specs with String#entries
-
-commit 2ff775cbcf2ade4315fbdbb37fa78ee84a1e645a
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Mar 12 11:59:26 2008 +0800
-
- Add String#to_a specs
-
-commit 4f1204bac224ad28375f06e5fb77156367895156
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Mar 11 19:53:32 2008 -0700
-
- Spec and implement Array#pack 'v' option
-
-commit 91d51783f44c3a9b1adfe03b7b9fa35476494ce1
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Mar 12 12:45:56 2008 +1100
-
- Debugger::Output#wrap should handle width of 0
-
-commit 51c316464ad44cadad7ecd997ce45e8392695f4c
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Mar 11 15:26:52 2008 -0700
-
- Implement support for :postexe nodes (END { some_code })
-
-commit 569dd9f10d5194c22335ce58a678d1f9c73f91d0
-Author: oleg dashevskii <be9@be9.ru>
-Date: Wed Mar 12 03:54:39 2008 +0600
-
- Import matrix lib with specs (#389 and #400)
-
- Original patches by Chris Lloyd and matta.
-
-commit 6beb50b7cc2dd3a0f57f3dee45767bb363082159
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Mar 11 13:20:07 2008 -0700
-
- More Integer#times specs.
-
-commit 746d89d6d55c82f26be08f182301926efd62d362
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Mar 10 15:39:26 2008 -0700
-
- Correctly set the enclosing class for evaled code.
-
-commit 218cc7fbdd1b5d1c52248e65817752b8a50821ad
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 10 04:46:00 2008 +0100
-
- Added JRuby speciifc guard to singleton rubyspecs (JRUBY-2239).
-
-commit 25e3f23e78f2b17e02d2c0a058925f8a0ec0d790
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Mar 10 11:25:38 2008 +0100
-
- Be sure not to close the socket before the Errno.handle call
-
- Also a small fix for a spec that fails on OpenBSD
-
-commit 9e7fdf3b0040971f7b8402b9cf5422efaedb2f4f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Mar 10 09:54:16 2008 +0100
-
- Fix TCPSocket#new spec, BSD systems make a distinction between IPv6/IPv4 localhost
-
-commit e5512b2a7725a67471eba086b107b0f4b1f136b2
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Mar 10 08:35:50 2008 +0100
-
- Fix for failing unpack_sockaddr_in spec on Linux
-
-commit b9eab2266e5d1f073b6f876710dc9e848fe25b0c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 23:37:05 2008 +0100
-
- Remove spec tag for now fixed Hash.allocate
-
-commit b6ba9a757b0531791424df38bce6587a53db6002
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 23:12:16 2008 +0100
-
- Remove tag for now correct Fixnum#[] spec
-
-commit 6785c2b44da90d95ef77e98cba42a953828b622f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 23:11:37 2008 +0100
-
- Fix Fixnum#[] specs
-
-commit 0aa09ce9b7269d54cdef583a2eaf0cb57c32f773
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 23:05:21 2008 +0100
-
- Removed tags for working Socket specs
-
-commit 18b27b0ebdc3713962771ca75c1321cabee08d61
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 22:48:45 2008 +0100
-
- Untag now working IPAddr specs
-
-commit f4c0d08bec8fb2db7d130363b0609de7b7720d7e
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 19:56:25 2008 +0100
-
- Slow IPAddr specs are now fast
-
-commit ff71385a67b2853130e63f9942bcea6ac69d591f
-Author: Eero <ruerue@yawn.kittensoft.org>
-Date: Sun Mar 9 10:35:27 2008 -0400
-
- Specs for #412. Array#sort and #sort block form calls #<=> on elements.
-
- * Block form should not expect anything of the elements, all is
- done through the return value of the block.
-
-commit e6edd1bb4bc52053bdb834d52e31fa185f2a2d62
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 14:51:00 2008 +0100
-
- Updated tags for IPAddr because of fixed bit operations
-
-commit 4f59fa9bd187822cd836aa046bb8fd40e4412c30
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 14:49:02 2008 +0100
-
- Fix Fixnum and Bignum shift operations to match MRI
-
- Added behavior for the edge cases, but took a different
- approach than the LH tickets. I don't think we should
- change coercion functions for this.
-
-commit ad8c630662dcb611cd955db08a6f4d53d1dc0dfd
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Mar 9 13:43:38 2008 +0100
-
- Fix Bignum#& and specs for Fixnum AND, OR and XOR
-
-commit 2529acd5e1cc8e61bd995e00834ee1f6941b1d9d
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sun Mar 9 14:18:04 2008 +1100
-
- Fix require_spec and load_spec.
-
-commit 57c7ded8e4d9567aa3c392e8a8262389387ebbfb
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sun Mar 9 12:25:40 2008 +1100
-
- Don't spec .rba require behavior in spec/ruby/1.8.
-
-commit ac630b23da01dcc3a1de1bfa06bac4d301a5031b
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 8 17:23:34 2008 -0800
-
- Better fix for calling to_proc on BlockPass nodes
-
-commit c17b32d44be8452cd867a8212a0fd8bb49c94821
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 8 16:34:02 2008 -0800
-
- Tag failing Method spec for CI
-
-commit c5d4a3b8f84b7558a5dfedb699a1a3ee4d61f118
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 8 16:26:58 2008 -0800
-
- Call Proc.__from_block__ on block_pass arguments
-
-commit a63f457821e67d138d9cf1c5ac8b0760cb25bfc2
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sun Mar 9 10:42:51 2008 +1100
-
- Remove support for zip rba files, libzip. rake clean required.
-
-commit 142222e41bddd2138d82f349f73dbc0fe2cf3fc2
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Sat Mar 8 16:23:37 2008 -0600
-
- Adding a spec for Method#to_proc proc used in define_method.
-
-commit b748efa9904baf0be26aa5b7297fc8ba76e46a74
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 8 13:09:44 2008 -0800
-
- Fix Module#method_defined? and friends for accessors
-
-commit 9b9d8216014c95eb7b4a925e93d0db8e9f5fd308
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Mar 8 10:46:18 2008 +0100
-
- Adedd a couple of GzipReader#rewind specs.
-
-commit 4612812bde4a2fccbaa72ea54ef76c7d964d216b
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Mar 8 15:49:57 2008 +0100
-
- Fix the Array#pack specs, network order is the same everywhere
-
-commit a720bba1619deb4358b453f58913d30a1a311b07
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Mar 8 15:27:47 2008 +0100
-
- Fix Sprintf for positive non decimal notation
-
- This fix combined with the pack/unpack implementation for
- type n also fix some IPAddr specs.
-
-commit caef838aca82665d4c2f691e4873e339a9c7238d
-Author: Lachie Cox <lachie@smartbomb.com.au>
-Date: Sat Mar 8 12:47:19 2008 +1100
-
- updated Array#pack specs to work on big endian machines
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit e3763469a224b4b3668bc1ddef2d982245787646
-Author: Lachie Cox <lachie@smartbomb.com.au>
-Date: Sat Mar 8 12:42:36 2008 +1100
-
- Added implementation of pack schemes for "n" and added handling of multiple items for "i","s" and "l"
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 41b26c49f5a16377af2c677eb702d665dd062a56
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sat Mar 8 15:35:10 2008 +1100
-
- Fix IO#pos EOF spec. Pair: Lincoln, Evan.
-
-commit 1e039fb5c9bcff987769c8644ec47c30aa250952
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sat Mar 8 14:53:01 2008 +1100
-
- Fix Zlib::GzipWriter#finish. Pair: Lincoln.
-
-commit 8551da47a01ef24eaf31fac55253fb05fe81cfcd
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sat Mar 8 14:21:08 2008 +1100
-
- Add Zlib::GzipReader #eof?, #pos, #read w/length
-
-commit a4dba8317311cc3a51231895b2eaea09daaa61be
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Sat Mar 8 10:41:33 2008 +1100
-
- Ensure #pos clears internal eof flag
-
-commit 407e1a4191da6ecd59c1347198a60be2556e043b
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 7 17:04:09 2008 -0800
-
- Tweaks to LookupTable. Converted Errno::Mapping to use LT.
-
-commit eb937c8f1041884e412e3d074387ca9f14bb03ef
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 7 13:48:45 2008 -0800
-
- Fixed LookupTable#delete. Added LookupTable#entries, #dup.
-
-commit d7d9bfd01180cf2c4fc74d2709f71fc7dd59f2f6
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Mar 7 15:03:14 2008 -0800
-
- Bandaid fix for failing #autoload specs.
-
- These need to be properly scoped. However, changing
- :A to ModuleSpec:A causes a sigbus.
-
-commit aea5cc446cd2c1b0cbd29e606b21b6d5959eb5ee
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Fri Mar 7 16:18:19 2008 -0500
-
- Add rb_gv_get and rb_gv_set, plus specs.
-
- Add rb_set_safe_level, rb_secure, and rb_safe_level methods, and specs.
-
-commit cd0b8969487af84a4f40466714dab2d5a1efc224
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 6 17:11:20 2008 -0800
-
- excluded
-
-commit e40f2bb09d8e3137de2856cb1e9c9438945603dc
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 6 17:11:00 2008 -0800
-
- More specs to test out const scoping with eval
-
-commit 3926add9039d1af4a60b633ef8805d471f28e02f
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Mar 6 17:01:21 2008 -0800
-
- Further clarified StringIO#getc specs.
- They weren't really testing what they were doing.
- Fixed StringIO#getc. now properly pushes single chars and sets @pos so it can be mixed with puts/write as needed
-
-commit d2d3750c4960d4a6f2a5d2b16b8bae3d598fbe36
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Thu Mar 6 19:16:24 2008 -0500
-
- Add rb_define_global_function to subtend, with tests
-
-commit 4ab5cc17b70b6569cf9311142d4b278dedfd0a64
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Mar 6 09:53:20 2008 -0800
-
- Added LookupTable and specs.
-
-commit 1ca8a272137ed7020cb977bf51dd2b7164ccbd7e
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Wed Mar 5 17:28:40 2008 -0600
-
- TCPServer.new coerces non-integer port to string and uses getservbyname logic.
-
-commit f0c03880972c19d1a12367dc51ed77f69d9ce8ca
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Wed Mar 5 16:44:33 2008 -0600
-
- Add a couple specs for killing/raising in a thread blocked on accept.
-
-commit 9f80ef157851671727653f46225b99af5d1a259e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Mar 4 21:26:33 2008 +0100
-
- Proper spec for %u with negative bignums and comments on MRI behavior.
-
-commit 3f9c36081c9b62bcde40206e64afdc2ac088bee8
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 4 19:09:56 2008 +0100
-
- Update tags for fixed File#chmod specs
-
-commit 735e818c38f8cefe0cd90514dac5282845a67dd4
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Mar 4 15:13:23 2008 +0100
-
- Improve testing of coercion in File#chmod specs
-
-commit 77a717f5962b2965ad9146e16cb36bedac891c80
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Mar 3 18:16:04 2008 +0100
-
- Adjusted syslog specs to better handle impls that don't provide syslog.
-
- For example, JRuby does not provide syslog (yet).
-
-commit 605bdc53e9dd4fb95dae6557d9ee6f9e2b8ceb80
-Author: David Whittington <djwhitt@gmail.com>
-Date: Mon Mar 3 08:44:33 2008 +0000
-
- Modified Bignum threshold specs to take into account platform wordsize
-
-commit 0af27d11d7dd68cfe49985dc4588933cc41f4fc8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Mar 2 16:40:15 2008 -0500
-
- Tag headius's new to_proc spec as failing
-
-commit b1caeeac673451a960917bb699a20e74cf488432
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Mar 2 13:30:35 2008 +0100
-
- Adjusted Kernel#catch test a bit, to make it more generic.
-
-commit 60f9544ade9d6e71fe3e423ab82cc87838478032
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Sun Mar 2 04:36:53 2008 -0600
-
- Add a spec for #363, & not coercing using to_proc.
-
-commit 70aa320f7f5bc75ed95362b0fb6d724e64224a88
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 1 17:17:55 2008 -0500
-
- Tweak new Marshal spec to pass on MatzRuby
-
-commit 35476e1bde23de26c01df409b750e91ef981fefc
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 1 17:11:53 2008 -0500
-
- Tag new failing Marshal spec
-
-commit d9f83819f1ed2505740ae0737199fecab29809bb
-Author: Jared Luxenberg <jared@jaredlux.com>
-Date: Sat Mar 1 16:20:18 2008 -0500
-
- Added specs for marshalling subclasses of Hash with init parameters
-
- Test that Marshal.dump gives correct output for such an object (passes)
- Test that Marshal.load is able to deal such an object (fails)
-
-commit 6039a3bd457c5d3dc99f5935999da574d17f1e5d
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Mar 1 16:20:08 2008 -0500
-
- Tweak Process.setrlimit spec for odd Linux platforms
-
-commit 25cfa6a96315ee203d06381ee3ddb76b60023360
-Author: Chuck Remes <cremes.devlist@mac.com>
-Date: Sat Mar 1 10:24:55 2008 -0600
-
- Fixes a race condition on OSX when "find"-ing character devices
-
- - on OSX the spec fixture would return /dev/fd/0 as a character
- device when run from the command line. This always succeeded.
- When run as a subprocess (like from cron or rubuildius'
- IO#popen) then OSX uses /dev/fd/0 and /dev/fd/2 for capturing
- stdin, stdout, stderr and others in that environment. While
- the fixture would "find" /dev/fd/2 as a character device, by
- the time the assertion tested it the underlying OS would change
- it to another device type causing the assertion to fail. This
- is just bad luck. We now grab the #last device found rather
- than the first.
-
-commit b6e95321df023ac989c4e5bb926ec55493260bc9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 29 16:04:10 2008 +0100
-
- New rubyspecs for IO#ungetc.
-
-commit 9bd2f0740c71d426cfa3c3636c2451762f640c14
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 28 21:59:35 2008 -0800
-
- Specs for Hash.allocate. Fix awaits replacing Hash with LookupTable in core.
-
-commit c1d979639bfc19072351211815ffd5c8da772dcd
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 28 21:56:33 2008 -0800
-
- Specs and fixes for Module.allocate.
-
-commit 904fd6136f00bab5fec62e8e702a0508dec44bac
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 28 19:45:39 2008 -0800
-
- Specs and fixes for Array.allocate.
-
-commit 776a24f0d14bbb5127c804cf0579960335c1a049
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 28 19:35:55 2008 -0800
-
- Specs for String.allocate and fixes to make them pass.
-
-commit fa35211f357ff1b9660a318c12b86ca156c5f26d
-Author: Ari Brown <ari@aribrown.com>
-Date: Thu Feb 28 20:27:55 2008 -0500
-
- Moved stdlib/syslog.rb to lib/syslog.rb . it works!
-
- * everything runs! yay!
-
-commit 8f103a6f9d7a168e37d1063e40bee960d64fc609
-Author: Ari Brown <ari@aribrown.com>
-Date: Thu Feb 28 19:42:11 2008 -0500
-
- Added specs and the constant module for stdlib/syslog.rb
-
- * added some specs for that which is testable
- * fixed the constant module so the constants are defined
- * fixed 'undefined method' problem in #write (private)
-
-commit 0c89dc90fdcb7933169e23462197d59f9627f510
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Feb 28 14:31:05 2008 -0800
-
- Added basic throw/catch specs. Fixed raised NameError to contain the name
-
-commit c8f4db4270984b60a087dd423c9e0da3e3760622
-Author: Phil Hagelberg <phil@hagelb.org>
-Date: Thu Feb 28 14:11:30 2008 -0800
-
- tag failing proc spec
-
-commit a1591319696385191f3301516d2f8265cd8fedcb
-Merge: f167f8f... 3f1acce...
-Author: Phil Hagelberg <phil@hagelb.org>
-Date: Thu Feb 28 13:43:52 2008 -0800
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit f167f8f6f7f3a1b8804a5452643236a23c0ce4c4
-Author: Phil Hagelberg <phil@hagelb.org>
-Date: Thu Feb 28 13:43:40 2008 -0800
-
- failing spec for returning from procs
-
-commit 3f1acce781c0dcf43698441036a085a0cef02d29
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Feb 28 16:14:55 2008 -0500
-
- Basic support for UNIXSocket and UNIXServer
- Fix some 'Errno' typos in socket.rb
-
-commit afbf38613364436630933753d99ee94c03b85074
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Feb 28 21:34:10 2008 +0100
-
- Added specs for File.fnmatch with case-sensitive brackets.
-
-commit 28323bda3d1f3295371b6ea99ed8ba6ee15661bb
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Feb 28 20:47:51 2008 +0100
-
- Added specs for File.fnmatch with '**/' patterns.
-
-commit 893ff4729d024198d5b423cc4426153f49cb5ebe
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 28 11:30:49 2008 -0800
-
- Fixed lookup of class variables defined in metaclasses.
-
-commit dee531b18d96199d608d8e2e8e27f54ef500a716
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 27 21:47:13 2008 -0800
-
- Additional Symbol#inspect specs. Another try at making them pass.
-
-commit 3bfb705b709ab35593684a68b35fb0ee8e1e01d7
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 27 21:46:37 2008 -0800
-
- Silence 'woot' echo on ubuntu from #system specs.
-
-commit 7fb76f2c4a9fb0c5695a38b90150ea6f50097237
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Feb 27 18:05:48 2008 -0800
-
- Fixed Symbol#inspect from over quoting
-
-commit 4ac32e4c9d0ff55aad50a00944f1a64931cfd1c6
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Wed Feb 27 17:18:09 2008 -0800
-
- Added some pretty rude specs for Kernel#system and got them to pass.
- Fixed a wierd problem with system/exec not cleaning up the fork process right
-
-commit 73be3b88af1ac96a6d4afabddd2871cfc4691eec
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 27 15:36:17 2008 -0800
-
- Fix String to properly initialize backing store when subclassed.
-
-commit 5ab2f9e594b7e66a04028e60f3517488e345f508
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 27 15:04:09 2008 -0800
-
- Scope classes used in String specs.
-
-commit e45d58100850443fedada905f654bae3f4144790
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Wed Feb 27 17:04:58 2008 -0600
-
- Add /devices to find commands; Solaris uses /devices instead of /dev.
-
-commit 1403477197873d613cfb93d644f78b4067d180d3
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 27 20:21:48 2008 +0100
-
- Adjusted Env spec, to be able to run it on Solaris.
-
- grep is replaced by egrep, since older greps don't
- take -e parameter (like on Solaris).
-
-commit b239a3b615d341f982a7a4a3a1b1200d95f79684
-Author: Adam Shelly <adam.shelly@gmail.com>
-Date: Wed Feb 27 04:09:24 2008 -0500
-
- Amending specs for Array#pack('U')
-
- * rbx is now passing most specs
- * failing specs are due to String#unpack.
-
- Signed-off-by: Brian Ford <bford@engineyard.com>
-
-commit 328c40e0f24601e739f404ab252652deca477513
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 27 02:46:21 2008 -0800
-
- Fixed Array instantiation to work with subclasses.
-
-commit 96c4ea885fbd075765b9d234de2754df3c857b07
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Feb 27 09:26:25 2008 +1100
-
- Move Debugger::Output specs to match new location of class
-
-commit c59f16f34f47860b200c6de4a2c1144c566de3dd
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Feb 26 10:23:14 2008 -0800
-
- Exclude new failing Array specs.
-
-commit 27248a45f079fd5a8cdb9ee71d008d135dcbe63d
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Tue Feb 26 00:10:29 2008 -0600
-
- Add additional Array tests from BFTS.
-
-commit a0e156f4c5bc12bf39950afeb58a6962b37efaa7
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Feb 26 16:53:01 2008 +1100
-
- Fix Debugger help output formatting to use wrapping
-
-commit fa5304d42c72a07b09cece99cb22c90f6b399a51
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Feb 26 13:22:31 2008 +1100
-
- Add wrapping to debugger column output
-
-commit 1a5d830b41eef37bb78168c959dd5b2f0757fde4
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 25 18:58:11 2008 -0800
-
- Conform Bignum#div, #divmod to weird MRI maths.
-
-commit eb5c6e367990bfdd193bcdf3055009f3e3e1aeaf
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Feb 26 13:23:29 2008 +1100
-
- Fix Debugger specs to pass on ci
-
-commit a2feff6782a052a9b71da90e9d4e1b2d991cc598
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Feb 25 18:53:24 2008 -0500
-
- Patch by Jos Backus (josb) - Closes ticket 364 (FreeBSD warnings)
-
-commit cee08883cc3de2e41a88b506f7d7f8d40697eaa2
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Feb 25 13:20:21 2008 -0800
-
- Fixed autotest churn by removing empty.txt and moving to /tmp
-
-commit f26bb0c4e3b8435a853a9f4843173748d98075fd
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 25 11:25:10 2008 -0800
-
- Add the rest of spec/* directories to CI process.
-
-commit 29f36833e79de6115c27d744adf158e1b3ba42f0
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 25 00:29:45 2008 -0800
-
- Excludes for spec/kernel, spec/debugger to run with CI.
-
-commit 12bbdf70af31d5168c2df0a9b53651f94b36899d
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 25 00:22:13 2008 -0800
-
- Excludes for subtend specs so they will run with CI.
-
-commit 0cbc2b1f20d8aee7ea74eb14e1f9cf242f8b47d5
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 24 23:57:56 2008 -0800
-
- Remove specs for removed Compression::ZLib.
-
-commit 1b4fbc76c2eb84e5cb45562f54ac105784f9e134
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 24 23:49:57 2008 -0800
-
- Conform Ar specs.
-
-commit f8e62002711c3cfd8024faca497775f7253a326a
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Mon Feb 25 05:24:54 2008 +0100
-
- Add a second case for truncating IO buffers that specifies too-small size.
-
-commit 9f3e25289cc52cd3f3fb240de1ad82a16a8b135c
-Author: Nikolai Lugovoi <meadow.nnick@gmail.com>
-Date: Tue Feb 12 23:19:27 2008 +0200
-
- Fixes for String#to_sub_replacement:
-
- * removed String#replace_slashes
- * using plain byte-by-byte scan instead of regexps to detect and handle backslash escapes
- * better handle unknown escapes and cases like '\\\1'
- * updated specs for String#sub
-
- Signed-off-by: Brian Ford <bford@engineyard.com>
-
-commit d87df0b7634ae37f85fc8f2795e4c8c425614b11
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Mon Feb 25 02:57:27 2008 +0100
-
- Add a spec for Enumerable#inject with a *arg; JRUBY-2162 exposed it.
-
-commit f04fcabf8c064dfcbf3b118bdc83289da169a30c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Feb 24 21:24:51 2008 +0100
-
- truncate behaves different on OpenBSD, changed specs according to MRI behavior
-
-commit b74a2f45b32a02469d61d4ace04912ec25f19543
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Feb 24 20:18:02 2008 +0100
-
- Looks like Darwin does provide Process::RLIMIT_AS
-
-commit 7113973abff64eeb1304b15be46f07d301d84f3f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Feb 24 18:25:55 2008 +0100
-
- OpenBSD doesn't provide Process::RLIMIT_AS, so this spec should be excluded
-
-commit 49b72719bf5c732f4aa2ad0d70e5a224556fb471
-Author: oleg dashevskii <be9@be9.ru>
-Date: Sun Feb 24 11:04:07 2008 +0600
-
- Spec for method taking lambda and block.
-
- * should raise SyntaxError
- * passes on MRI
- * fails on rubinius
-
- Signed-off-by: oleg dashevskii <be9@be9.ru>
-
-commit 60bbc8506d70571249972dbf124df520f0a4a476
-Author: Chuck Remes <cremes.devlist@mac.com>
-Date: Sat Feb 23 10:23:09 2008 -0600
-
- Fix unpack_spec expectation for little-endian byte ordering
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 17e45cee97057684e6c24608f97de48c28947384
-Author: Chuck Remes <cremes.devlist@mac.com>
-Date: Sat Feb 23 09:44:37 2008 -0600
-
- Fix unpack to use native host byte order for formats /ILQS/
-
- - unpack_spec had a bad expectation on little-endian platforms
- - unpack_spec got some updated description strings to correctly identify
- the host byte ordering expected in the spec
- - kernel/core/string.rb now unpacks formats /ILQS/ in the platform's native byte
- ordering
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 1540cb7caa0f200ed6d318971fb7302cd089e27d
-Author: Chuck Remes <cremes.devlist@mac.com>
-Date: Sat Feb 23 08:10:00 2008 -0600
-
- Add some missing endian guards to the unpack_spec
-
- - in my haste, forgot one set of guards around some specs
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 8488676fc0dac5db5d01dd92e061476226d58bd1
-Author: Chuck Remes <cremes.devlist@mac.com>
-Date: Sat Feb 23 00:19:33 2008 -0600
-
- Fix several Array#pack and String#unpack bugs related to byte ordering (endiannes)
-
- - added a small utility method endian? to the kernel module; determines host byte
- ordering by taking a symbol (:big, :little) and comparing it to Rubinius::ENDIAN
- - modified Array#pack to check for the native byte ordering for /ils/i formats
- - modified String#unpack to use native byte ordering for /DdFfIiLlQqSs/ formats
- - modified String#extract_number to do special processing for big-endian platforms
- and for formats using native byte ordering on a big-endian platform
- - added little_endian and big_endian guards around several String#unpack specs;
- now passes running against MRI and rbx
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit f8146d29bfdf67349f3f9c0c7105ce595981255f
-Author: Gianluigi Spagnuolo <glgspg@gmail.com>
-Date: Sat Feb 23 12:44:25 2008 +0100
-
- Added some test to Regexp.quote to manage tab and white space
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 714efa8574687e1fd31f904a4f35cce8056719f5
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Feb 23 00:01:38 2008 -0800
-
- Fixed Digest specs to pass with RSpec.
-
-commit a0fe2f7fa080729b77b32ffe21be5705a162ed71
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 22 22:26:52 2008 -0800
-
- Remove ffi_decode_sockaddr, replace with existing ruby code.
-
-commit b2baf0911e4a88ba2f6c4cb8e3e31d2a3aa1c6bf
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 22 17:06:18 2008 -0800
-
- Move Ar to kernel/core.
-
-commit 01baf002a8c7bd6e249b9477c1f78e6b99a67bf6
-Author: Philipp Bruschweiler <blei42@gmail.com>
-Date: Wed Jan 16 00:11:12 2008 +0100
-
- added specs for SHA256/384/512
-
- these specs were as well shamelessly copied from the md5 specs.
- they work, but every sha* class has a folder for itsself, that's a
- lot of duplicatd code. maybe someone with more experience in
- writing specs should have a look at this.
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 924224fcf655da90148ebd8234033a71e1b23090
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Fri Feb 22 17:13:14 2008 -0500
-
- Catch no block given in rb_yield, raise LocalJumpError
-
- As well, define that as an exception for subtend
-
- Update spec
-
-commit 3748843421832df5b842a677ddd2e55fbefb0b5f
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Fri Feb 22 17:04:33 2008 -0500
-
- Update rb_yield spec
-
-commit f60ca442b1466f29432995700457e8b34f4ff294
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Fri Feb 22 17:00:36 2008 -0500
-
- Fix rb_yield call
-
-commit a75afc4595fd20d7853ff65afe015de88b265b93
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Fri Feb 22 16:48:17 2008 -0500
-
- Add blocks to subtend methods, as they should be able to access them like any other method.
-
- Also, update the spec
-
-commit d9911f8b00243f3c95759612dde35edf6edaa678
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Thu Jan 31 13:54:24 2008 -0500
-
- Add block specs and rb_block_given_p
-
-commit b6c806f0d8213c4751c69638174f60b80f9ba303
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Feb 22 15:31:58 2008 -0500
-
- Failing spec and exclude for left-to-right masgn evaluation order
-
-commit 8f9e3c9e5e7dfc535e8fe6b10b945587586651ec
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Feb 22 13:59:44 2008 +0100
-
- Fix Socket#getservbyname, not every platform defines http/udp
-
-commit f29ff3bcaf0bf83d2924d08ea5f6c0bbb5df9948
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Thu Feb 21 16:47:02 2008 -0800
-
- Allow Ar to create archives
-
-commit e50ec6470dfc905198065a98b65b33a99da60e15
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Feb 21 20:20:41 2008 -0500
-
- Some compiler specs for 'defined?' handling
-
-commit ba5a0d87182d83000205e1202f5c473568a50489
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Feb 22 01:08:51 2008 +0100
-
- Fixed #332 and cleaned up Time a bit. Thanks to gls
-
-commit edf1e0d530ebb39a1b46d0fa518b9ca85db544da
-Author: Evan Phoenix <ephoenix@engineyard.com>
-Date: Thu Feb 21 02:01:21 2008 -0800
-
- Fix the last usage of block return (ie, internal long return).
-
- * LongReturnException is now used whenever a block requests that
- it's home context should return.
-
-commit 83ed7161701202d48490e7f38b568bc504f9690f
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 23:59:47 2008 -0800
-
- Added little/big_endian guards to Array#pack and String#unpack specs.
-
-commit 65b4ed86002371f2b56759aadc61e61c1cbbdba4
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Feb 20 22:49:19 2008 -0800
-
- Exclude Socket#unpack_sockaddr_in spec. See tag comment.
-
-commit 9fbda05c4dffb964a9f10e26d62240fbd52200a0
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Feb 20 22:48:31 2008 -0800
-
- Exclude super slow IPAddr specs.
-
-commit 3d39fb35dcd3c28fa626aeb96057b927c6bfe7c9
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 18:54:50 2008 -0800
-
- Redo expectation in Socket#getaddrinfo spec.
-
-commit 69576ede38d9bf09d1afd0120726ca756a0aa7cf
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 18:31:27 2008 -0800
-
- Account for variable length array in Socket#getaddrinfo.
-
-commit f396bd718572d9402d0d7eeb8da02474914396a8
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 17:59:29 2008 -0800
-
- Use File.delete in YAML specs instead of rm.
-
-commit 7698ec3855ce572f1e10962596804b82f3cd6534
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Feb 14 10:07:48 2008 +1100
-
- Hook-up new StepBreakpoint to new debugger step commands
-
- * The commands step and stepi have now been added to the
- debugger, and step into called methods.
- * The commands next, nexti and out have been converted
- to use the new StepBreakpoint. The legacy versions
- remain, but have been renamed as ln, lni, and lo; these
- will be removed once the new commands have proven stable.
- * Replaced VM method cache command with VM send site command
- to show details of SendSites in the current method.
-
-commit f192d65ec5eb31b4a807b9c3eb7360b84739d9f2
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Jan 31 16:43:19 2008 +1100
-
- Initial implementation of StepBreakpoint
-
- StepBreakpoint class moves step logic out of the Debugger
- and into breakpoint, where it more logically belongs.
-
-commit fd0ff43d2d384e221ff8de611843f3406d192657
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 17:04:46 2008 -0800
-
- Fixed YAML spec to pass MRI. Added fails tag for rbx.
-
-commit d69834a5217ddc6667b495fbe7d4dd8ad413ba88
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Feb 20 15:42:25 2008 -0500
-
- Fix dead code in TCPSocket.new specs
-
-commit 4644222e63046783933ca9b2e4514e3ff21fbb57
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 12:31:14 2008 -0800
-
- Add missing tag file for method_spec.
-
-commit 230d5d506f4203bcd3922880fae506fa480e6308
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 12:17:13 2008 -0800
-
- Fix typo in socket specs.
-
-commit a5d49537832a9cc33b07cade265af0834f123533
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 12:09:11 2008 -0800
-
- Move specs for calling methods to language/method_spec.rb.
-
-commit ead32a1f2820a4e2fcc906a8e7f3603490ba901c
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 11:53:45 2008 -0800
-
- Use bignum_value where a Bignum is intended in the specs.
-
-commit 1021345337bca1f928879713cb84a76b9c7935a1
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 10:21:42 2008 -0800
-
- Removed unused require 'stringio' from io/syswrite specs.
-
-commit cfd51af482321b4d672d69569de185f582a21831
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 09:00:36 2008 -0800
-
- Symbols as Fixnums is long deprecated. We don't spec it.
-
-commit a8bd2a1aba97653625a9b568d1a7112b5fce45f6
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 00:15:54 2008 -0800
-
- RbYAML is not in Ruby standard lib. Move specs for it to spec/library/rbyaml.
-
-commit 56b454af2ded18d0459bc974efa666ccf3b8de0f
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 20 00:10:24 2008 -0800
-
- Restrict specs in spec/ruby/1.8 to current stable 1.8 version.
-
-commit 22e01d1914db92d159ee15d3cf73c9d6e9d0a24b
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Feb 19 23:20:27 2008 -0800
-
- Fix Dir#pos=/#seek specs. We shouldn't spec undefined platform behavior.
-
-commit d522af83d0cfcdf39932afff7ba7d75d77dd0453
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 20 11:51:44 2008 +0100
-
- New IO.read specs.
-
-commit 77fdbe404e31f44e1c302eb99a7ff129523183ce
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Feb 19 16:14:43 2008 -0800
-
- Add library to read/write ar(5) files
-
-commit d7702f979732de90358dc35d795c6ac621f815bc
-Author: Matthijs Langenberg <mlangenberg@gmail.com>
-Date: Mon Feb 18 18:04:27 2008 +0100
-
- writen some examples for Base64 module
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 33b189478c05bd687ac8b062cd5307a3290d8931
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Feb 19 00:27:51 2008 -0800
-
- Convert platform guard :size option to :wordsize.
-
-commit cbcdb8346a2c75ba65910b486cee718cd3aa5175
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Feb 18 23:07:41 2008 -0800
-
- Exclude TCPSocket.new for now, hangs on ubuntu gutsy.
-
-commit ec990b6ebcd35cbf9dc192852f37e184c3e4079b
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Feb 19 15:55:25 2008 +1100
-
- Re-enable debug on context change
-
- The cpu_yield_debugger_check was not being performed as
- a result of changes to method dispatch related to the
- implementation of SendSite.
-
-commit aa585b7e637e2fd873602ee6725256429f413582
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 18 18:59:18 2008 -0800
-
- Removed :version guarded specs that are not current stable.
-
-commit 431af5920a0a02dfca927961a2d6457ae5f050e2
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 18 17:40:56 2008 -0800
-
- Added new tags files for excludes.
-
-commit 10dd37903533cac9a6f77ead70f3aa9ee1dc9098
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 18 16:38:58 2008 -0800
-
- Removed deprecated $deferr from getoptlong.rb. Moved to /lib.
-
- Small fixes to other library specs to get them running under CI.
-
-commit ee2dabf771a5e6d8d70c47fa49b1298d2d002c8c
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 18 00:42:54 2008 -0800
-
- Use the spec guards properly.
-
-commit 91d6c64be8827768ba2e39b80a4eb81b9affc122
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 17 22:40:21 2008 -0800
-
- Deprecate #setup, #teardown in specs; use #before, #after.
-
-commit 6ba49012504c08973e1fb2fd1b9fce75c351d148
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 17 22:00:56 2008 -0800
-
- The #fails_on guard has been removed. Use #ruby_bug or tagged excludes.
-
-commit e24231f5c62c0b73768c7503f50b53e8ffc345d1
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 17 21:08:01 2008 -0800
-
- Renamed *_excludes.txt to *_tags.txt for specs.
-
-commit a1c707b517e13115692173bc2048309e74c00915
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 17 20:45:14 2008 -0800
-
- Hand merge recent excludes changes to spec/tags directory.
-
-commit 838bee7e99bb1179c9a3a7782dcab9c2b904e72e
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 17 00:17:51 2008 -0800
-
- Moved excludes from spec/data to spec/tags. Added "fails" tags.
-
-commit 8ad91b03788d89ccd12fbcf19c06c9ef4f0cfee8
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 4 19:19:00 2008 -0800
-
- Misc fixes to get MSpec running specs.
-
-commit a683dd75786ab6c6a255c9bac399dc6be7aaa4b5
-Author: Tyler McMullen <tbmcmullen@gmail.com>
-Date: Sat Feb 16 23:39:38 2008 -0500
-
- Add support for H and h to Array#pack.
-
- * Updated array/pack_spec with specs for H and h, separately
- * Updated Array#pack to handle both with a single block of code
-
- Signed-off-by: Brian Ford <bford@engineyard.com>
-
-commit b1d3ba9d10f6a9ea87d8cb9be21d0d432e973117
-Author: oleg dashevskii <be9@be9.ru>
-Date: Mon Feb 18 01:18:24 2008 +0600
-
- Update specs for calling methods.
-
- Nasty binding stuff (first noted in #293) got specced and put into excludes.
-
-commit 02225daa5cef4fa3f48cac73d4bf0f9d02f3ebe0
-Author: oleg dashevskii <be9@be9.ru>
-Date: Sun Feb 17 23:20:08 2008 +0600
-
- Cross-breed and update for, while & until language specs. Little fix for hash spec.
-
- The compiler drops out on "for @@var in 1..3", so this is commented out.
- Variable scope stuff arrived into excludes.
-
-commit f43383a150131278d30535196e8da4e60dff97b1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Feb 17 13:10:55 2008 +0100
-
- New specs for RangeExceptions out of Fixnum and Array methods.
-
-commit 7d1c744d9c1ae50376be406a28e383a04ca6b4fc
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Feb 16 13:49:11 2008 +0100
-
- Corrected copy-paste error in recent fixnum specs.
-
-commit 08982321472008f7645212289d2624d19053ed7e
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 15 21:18:53 2008 -0800
-
- Fix IO#read for large files and small parts of files.
-
- Fix IO#read with buffer.
-
- Fix IO#eof? when buffer reaches eof.
-
-commit 1d07588d61b3835a6165c5de1f731277812cff79
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 15 19:11:42 2008 -0800
-
- Add missing spec for IO#eof? and fix.
-
-commit e0a6c8e179e48b423b6eb142b27460cd86d0223b
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 15 17:50:47 2008 -0800
-
- (Last change was ok). Force check for data so #eof? works
-
-commit d7e67c257c213f9e25b3123ce85576feb71a0089
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 15 17:28:48 2008 -0800
-
- Revert "Force a check for more data on the IO for IO#eof?"
-
- This reverts commit 3d4427e802756678608bf9840ba6f26fc81cf7fe.
-
-commit 4c1182c184bb6c2c97c5fc8ce83f242fe5f5144b
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 15 17:26:08 2008 -0800
-
- Force a check for more data on the IO for IO#eof?
-
-commit 94466db3347889850feb25dd7c83883df21bac92
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Feb 15 14:13:29 2008 -0800
-
- Added Float examples to Bignum bitwise operator specs.
-
-commit 3a668451d3bcc46b162a69ce1f8ec5d6a98b2d22
-Author: Brian Ford <bford@engineyard.com>
-Date: Fri Feb 15 13:44:24 2008 -0800
-
- Added bignum_value helper. Added specs for Fixnum bitwise operators.
-
-commit 217eb67a4c2f0bf1222628abfecfadbede5fb3b8
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Feb 15 21:09:43 2008 +0100
-
- Fix process specs for FreeBSD
-
-commit f25e0e130110ebbef0b5bc0c28c9b08db6c73a1f
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Feb 15 13:18:40 2008 +0100
-
- Removed now working exclude for Array#sort
-
-commit 56af7be26dcc9b7270de6d96e73e09a4f17cc710
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Feb 14 20:48:37 2008 -0500
-
- Improved Array#sort, #sort! specs.
-
-commit 714ea4b5245172cc6d5c815ef7399d1a991dd83f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Feb 13 10:30:22 2008 -0500
-
- Improved Array#sort specs a bit.
-
-commit 8944e873848c610182405c2de466e41e6260573d
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Feb 13 02:34:37 2008 -0500
-
- Tuple#swap specs.
-
-commit 24199f731dba40b72af6d121121dec9f085f890d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Feb 14 20:03:16 2008 +0100
-
- New rubyspecs for IO#reopen.
-
-commit 4f70320e5b7089c74b3899216763cd37d8854230
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Feb 14 17:27:32 2008 +0100
-
- Removed JRuby-specific guards. Please don't use guards to hide bugs.
-
- Guards to be used only when it is agreed that the JRuby behavior
- is intentionally differs from MRI. For plain bugs, guards should
- not be used. Instead, we maintain spec exclusions in JRuby repository.
-
-commit 0198a11b3bdf60983846a6c722dfa11d1b9f57bb
-Merge: ef3393e... 1f1e32e...
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 15:57:57 2008 +0100
-
- Merge branch 'mutle_file_specs_refactoring'
-
-commit 1f1e32e5e1fd12fb323e2a74a7f5caae96aa867b
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 15:18:14 2008 +0100
-
- Specs for File#chown #flock and #truncate now pass on JRuby
-
-commit 3a8e601d5205e050f83179376d2be3e922e80c20
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Feb 14 17:25:02 2008 +1100
-
- Fix context specs to wait for debug listener thread
-
-commit 608d7a99e75d293d6f9786cee940c0dd23156be3
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 12:59:32 2008 +0100
-
- Adding guards to only run File#chown and File.chown specs as root.
-
-commit b3a1069cf6c18b844b9eced32b7bcdb91ad7c558
-Author: Brian Ford <bford@engineyard.com>
-Date: Thu Feb 14 01:31:47 2008 -0800
-
- Rework Bignum#==. Change Numeric#== to conform to MRI.
-
-commit 4eb58ebc45b2ee79f01d75fdb3e9104c73ad66e2
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Wed Feb 13 23:56:37 2008 -0800
-
- Common implementation for Zlib::Inflate and Zlib::Deflate.
-
-commit 1804fdacce5c195a90befe502706d1f1e066e886
-Author: Brian Ford <bford@engineyard.com>
-Date: Wed Feb 13 19:31:20 2008 -0800
-
- Port of JRuby's File.fnmatch to Ruby (yeah, like writing Java in Ruby).
-
-commit 1a78da8438535ee8ed231359bdb15ff3624c6b37
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 01:27:52 2008 +0100
-
- Adding File#truncate improvements from #325 and #326
-
-commit 5b62acbdcf0aab2e89be5ac3e12859ae36cd6950
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 00:47:53 2008 +0100
-
- Adding File#truncate with specs
-
-commit 1a2b3dde4f67abe0936e7ec6fb749e5bb8fda7d2
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 00:36:32 2008 +0100
-
- Adding File#chown with specs
-
-commit e132cd6f11285f0e106a5d2a292e23c8375fa1ee
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 00:12:31 2008 +0100
-
- Renamed File#flock spec to properly reflect an instance method
-
-commit 00cd22ccdf2b70fa53693000d4a5bb803c7d6df6
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Thu Feb 14 00:07:05 2008 +0100
-
- Adding File::flock with specs
-
-commit 3c9b3e4e4272889dd26ec9ddb25f7aaf88c6c380
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Wed Feb 13 23:25:30 2008 +0100
-
- Adding File::chown with specs
-
- * The spec works fine on OS X, but was not tested anywhere else
-
-commit c894a6c46b4a3d0b9010020c394d3ba366bf145e
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Feb 13 11:59:38 2008 +0100
-
- Module#undef_method should accept string parameter, not only symbols by Nikolai Lugovoi (#321)
-
-commit c968d5c29cc3126c789cf5bb2005bd9637e85312
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Feb 13 11:52:10 2008 +0100
-
- Update excludes for File#truncate
-
-commit 408e69864546aea061e006073bb452b8db8c4610
-Author: Ragnar Dahlén <r.dahlen@gmail.com>
-Date: Wed Feb 13 11:15:31 2008 +0100
-
- Implement File.truncate, passes specs.
-
- * Adds truncate, ftruncate (not used yet) to posix.rb
-
- Only tested on Mac OS X 10.5.1.
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit 5c75721d5a78e25a77e9f068bf4c95e729604959
-Author: oleg dashevskii <be9@be9.ru>
-Date: Wed Feb 13 11:26:34 2008 +0600
-
- Remove tests that have been superseded by precedence_spec.
-
-commit 83a372674786a0be51a206cadcae644d72a1e8d2
-Author: oleg dashevskii <be9@be9.ru>
-Date: Wed Feb 13 11:05:34 2008 +0600
-
- Made a real precedence_spec.
-
- One test still commented out till the bug with flip2 is fixed.
-
-commit c3988a4a906594c050e058add8aa6996870dc115
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Feb 13 02:10:49 2008 +0100
-
- Remove excludes for File#stats specs
-
-commit 1624b463d0f70a27b6772d90626c94b6eed4e5c4
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Feb 12 18:25:05 2008 -0500
-
- Add specs for pass subclasses of Module to 'include'
-
-commit 64b0fb4131276feda0d0ab13301824b20f8d7f8e
-Author: oleg dashevskii <be9@be9.ru>
-Date: Wed Feb 13 00:49:37 2008 +0600
-
- Make Dir.chdir spec work when /home is symlinked to /usr/home.
-
-commit 8cbf6312df160f30e284a4537039f808a42543fe
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Feb 12 12:30:19 2008 -0500
-
- Add failing Array#sort spec and matching exclude
-
-commit 9bef807b3b469b8790edbe96f1442394d528cb5a
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Feb 12 12:09:11 2008 -0500
-
- Move Time#<=> specs around until the descriptions make sense
-
-commit 60fbbc62cb04b2fddcd406f01f906482fbc84370
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 12 05:33:49 2008 +0100
-
- Mark JRuby as not deviating from MRI on unboundmethod specs.
-
-commit 4e6d8f7e3326f937a6916ed11984172670a71094
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Mon Feb 11 23:26:31 2008 -0800
-
- Zlib.adler32
-
-commit 2f2d10e1aa57bae79f7fcda5e5a30b2a2ef3e37c
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Mon Feb 11 23:12:40 2008 -0800
-
- Zlib.crc_table
-
-commit 49b9e4b624074d151e89f078c4080a0a7584abaa
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Mon Feb 11 22:56:52 2008 -0800
-
- Zlib#crc32
-
-commit 7cb2ebfa008afc96135912ceefdbd81b1cd7e478
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Mon Feb 11 17:36:32 2008 -0800
-
- Fix class variables for RDoc.
-
-commit 571d837bbeff221daacebc79c1ccab7de15c77f2
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Feb 11 08:54:36 2008 -0800
-
- Exclude [r]dev_(major|minor) specs. We need some autoconf facilities.
-
-commit fb2bc81d50bf504e3997d009e3c13f841b859803
-Merge: 55a52f1... 9b58a59...
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Mon Feb 11 16:19:02 2008 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 55a52f18133fc9f92eef64838008a83dfaab3ffc
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Mon Feb 11 16:18:37 2008 +0100
-
- Removed Math.asinh excludes.
-
- It wasn't working on OS X. Evan fixed the culprit FFI over the weekend.
-
-commit 9b58a59ca21c6622d246e629410230bfbe8cd4ce
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Mon Feb 11 21:24:05 2008 +0900
-
- Modified to address differences of SyntaxError class between MRI and Rubinius in 'erb/filename_spec.rb'
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit d1c4280b70b82d6cd541251e3d7e1a3091fb304f
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Mon Feb 11 20:19:12 2008 +0900
-
- Add 'erb/util/shared/url_encode.rb' which is missed file
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit b4b1114ac7dffabd672d462b5857a7e1957e8f07
-Author: makoto kuwata <kwa@kuwata-lab.com>
-Date: Mon Feb 11 19:10:58 2008 +0900
-
- Add spec files for erb.rb
-
- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
-
-commit dfdf90968e78f14e0755b5f3279ec878034dbdb5
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Mon Feb 11 00:09:23 2008 -0800
-
- Added singleton specs (and reorganized stale one):
- * Singleton#_dump
- * Singleton._load
- * Singleton#instance
- * Singleton.instantiate?
- * Singleton.new and Singleton.allocate
- * Singleton#dup and Singleton#clone
-
-commit 54c4a4cab187be4328d6a810bae4bc4bd01ca1d8
-Author: Brian Ford <bford@engineyard.com>
-Date: Sun Feb 10 20:19:30 2008 -0800
-
- Additional specs for File::Stat#rdev, #rdev_major, #rdev_minor.
-
-commit 6b2f05af4758c488b3e2e3b19ee9d2e872817932
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Feb 10 23:00:41 2008 -0500
-
- Rubinius now passes all 'super' specs
-
-commit 5be84fce241c67bd8439bccbe54cec575b0ea93a
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Feb 10 22:53:11 2008 -0500
-
- Failing spec for 'super' behavior
-
-commit 975d51e80d3df437eaa8ddd3c3384a5766255b12
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Feb 9 15:18:37 2008 -0800
-
- Exclude Process constants spec until LFS is fixed on 32bit linux.
-
-commit 236def62bcfa3dca75a6eebf378a68235c4613ed
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Sat Feb 9 17:04:59 2008 -0500
-
- Fixes exclude
-
-commit 26bedb481b45e77434b487c6395903c6110ef99e
-Author: Yehuda Katz <ephoenix@engineyard.com>
-Date: Sat Feb 9 16:01:58 2008 -0500
-
- Moved bad variables spec out
-
-commit 87efbf9036e5c524e1b40481c89107538d574ba8
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Feb 9 11:26:30 2008 -0800
-
- Revert all File::Stat stuff. We'll fix Dir first.
-
-commit 1f5bc0f98a23fc90b9bd00048af1551df8e534f7
-Author: Brian Ford <bford@engineyard.com>
-Date: Sat Feb 9 00:39:20 2008 -0800
-
- Reduced File::Stat.stat primitive further. Details follow.
-
- * Added ffi_major and ffi_minor to calculate the major, minor
- parts of st_dev and st_rdev.
- * Added (temporary) new primitive basic_stat to change the
- return type from a tuple to a single MemoryPointer instance.
- * Added simple specs for rdev, rdev_major, rdev_minor, nlink.
-
-commit e478731a2fc558c62cecbe327c5b35882d90b53d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 8 16:45:05 2008 +0100
-
- One more rubyspec for File#open.
-
-commit 5f6ac709500cb64df110a44d31e0c0b89dd68aec
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 8 16:39:47 2008 +0100
-
- New rubyspecs for File#umask.
-
-commit fddaa684bd7e8c403ff96179ca71a5837f609b63
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 8 16:30:20 2008 +0100
-
- New File#chmod rubyspecs.
-
-commit ed20c3f9f36f343a37e2ac05ea91d84b54c87bc8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Feb 8 12:00:57 2008 -0500
-
- Correctly guard Bignum specs for CI
-
-commit 36e9749984d6e4412c26d348afa8c501cf043ecf
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 8 13:09:37 2008 +0100
-
- Some more specs for File#new and File#open, and permissions.
-
-commit 29376695550c5608f466d63d49de76a6ee163e37
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 8 12:10:27 2008 +0100
-
- New specs for IO#new and IO#open, invoked with permissions parameter..
-
-commit 8cf27fcd86f88b75716b65dc1d94b721c01c3af9
-Author: oleg dashevskii <be9@be9.ru>
-Date: Fri Feb 1 21:03:08 2008 +0600
-
- Heredocs and more stuff added to string_spec.
-
-commit 2cccd38a081c0303f8fa567058e4c26fa354abc5
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Feb 8 12:51:53 2008 +0100
-
- Add exclude for currently failing for_spec
-
-commit 031bb1b565a3446ab995ea55e6ae8890573ba6c0
-Author: oleg dashevskii <be9@be9.ru>
-Date: Fri Feb 1 20:23:56 2008 +0600
-
- Added more tests to for expression spec.
-
-commit 73e40331c6b4c1c1b6e41ae312299f6815e089c2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Feb 7 19:12:46 2008 -0500
-
- Add a failing spec for Array#join and then fix it
-
-commit fa49548fe704252c352a1bc4833b5da20262061a
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Feb 7 23:12:03 2008 +0100
-
- Fix last two Failing Time specs for Time#+ and Time#-
-
-commit e4e51c6aa39e5a5a61b0df919ba02b88d4878f43
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Feb 7 22:35:57 2008 +0100
-
- Fix Time.at so it also works with floats
-
-commit f5505522fd0396c3864fce155681ac577bf2e7e6
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Feb 7 17:10:48 2008 +0100
-
- Fix Time#<=> for objects other than Time
-
-commit e8ab7b5eb30da84262a9395e20ac420e83674edf
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Wed Feb 6 13:59:18 2008 -0800
-
- Only call Class#inherited once
-
-commit dc9ff28ae919292287f5562b8c105ff6310c5920
-Author: Phil Hagelberg <phil@hagelb.org>
-Date: Wed Feb 6 15:00:59 2008 -0800
-
- Kernel#eval should be a module function
-
- Added a spec as well
-
-commit 7dd83410a2159fd65f951689a8a1297baded4fa6
-Merge: 698ffa4... 339fed9...
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Wed Feb 6 22:54:12 2008 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 698ffa4e04fee58da5c3f2191372c4e4f2bc070d
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Wed Feb 6 22:51:54 2008 +0100
-
- Adding missing specs for ftools
-
- * specs for chmod, compare, copy, install, makedirs, move and safe_unlink
-
-commit 339fed9821b75de056febc406b32fe52ff9354a9
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Feb 6 22:00:46 2008 +0100
-
- Forgot to remove spec excludes...
-
-commit 7ecca7222823a82252ed09b17eefafe6fec9f12e
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Feb 6 21:46:19 2008 +0100
-
- Fix last two failing Dir#glob specs
-
-commit fec39f27d287ca74becbecc120de8533e346b864
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 18:13:13 2008 +0100
-
- A few more corner cases fo IO#lineno specs.
-
-commit 3691d3f9a202abb22e11024e41b868d531a549be
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 18:02:50 2008 +0100
-
- New rubyspecs for IO#lineno.
-
-commit a5b0f9aa15c9372f74816e77073926780a9cc219
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 15:58:26 2008 +0100
-
- Improved IO#foreach specs.
-
-commit 91ea9f304c75592e7454411ef21391a0e34da5e5
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 15:03:02 2008 +0100
-
- New rubyspecs for IO#gets and IO#foreach.
-
-commit 9c494786fbf400bb295e1f19d142e2c903c21e54
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 13:37:43 2008 +0100
-
- New rubyspecs for IO#foreach.
-
-commit cdbbeba8f3351fe43f44d732348f380599ad5719
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 10:40:13 2008 +0100
-
- New rubyspecs for IO's sysread and read with buffer argument.
-
-commit e1cb4410b7e0a0ba2fd580784334bdfd05ba4b8a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 10:15:29 2008 +0100
-
- Excluded rbx failure after spec rename.
-
-commit 1fde018b9378b55f6d51cb85bd65813b5cef5493
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Wed Feb 6 02:50:44 2008 -0600
-
- Tidy up an apparent copy/paste mistake in IO#syswrite spec
-
-commit 1aa624e625dafaeebd70eac11819f02ecf570f8e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Feb 6 00:19:39 2008 +0100
-
- New IO specs for writing non-string data.
-
-commit f94a0cffd5fd0e186a9403d97800b55f8c44bdd1
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Feb 5 15:13:47 2008 -0800
-
- Regenerate zlib stubs.
-
-commit 52ce0e702170676ce02dcc288305097d58834cf8
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Feb 5 13:34:47 2008 -0800
-
- Add Zlib spec stubs
-
-commit b24ad594837b974a3ae3b207d63ce5cdc956a1a0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 5 21:45:09 2008 +0100
-
- Added some boundary test cases for Float.
-
-commit 1a8c9966fa148fc3e912f8aecd42c8c00ca4f89c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Feb 5 22:46:18 2008 +0100
-
- Removed problematic Marshal spec because 2**40 is a Bignum on some archs and a Fixnum on others
-
-commit 6ad8a0a25f20fd137bcb7fcb83bc88440a2a2069
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 5 17:03:56 2008 +0100
-
- Eliminated file descriptors leakage out of IO tests.
-
- These things make runs unpredictable, causing all kinds
- of troubles (non-deterministic failures, fluctating
- number of tests).
-
-commit 95ac3cb9900c52e4819b37166c71840d4bb4e3d9
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 5 14:50:31 2008 +0100
-
- New rubyspecs for File.open with block.
-
- Also, IO.open specs improved to handle closing better.
-
-commit 66f636c346a63853ae37a06f1c3e8b5083370892
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 5 13:22:34 2008 +0100
-
- New tests for IO.open, and additional cases for IO's inspect and stat.
-
-commit dfb941da0f7503bce58dc88a85ccfd201615e13b
-Author: Brian Ford <bford@engineyard.com>
-Date: Tue Feb 5 01:57:20 2008 -0800
-
- Ezra's patch for Regexp#inspect, #309.
-
-commit c5f9381ee74ed2d9c91cca1dd2ce9719b6f51bd8
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Feb 5 10:07:57 2008 +0100
-
- Corrected IO test to not interfere with Kernel#puts tests.
-
-commit 751293c1ea14de1b1d2757bf5d60b082cc771e7a
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Feb 4 17:43:06 2008 -0800
-
- removed empty excludes
-
-commit 206399aee9ae7845d76c0726702c424b9fc44e80
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Feb 4 17:39:45 2008 -0800
-
- StringIO#seek now raises if passed bignum offset - should be platform specific, but this'll do for now
-
-commit b00f04ec0fcd8f8edf9943abb5999f1cca9e9e9e
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Feb 4 17:06:34 2008 -0800
-
- Knocked off the last of the method excludes.
- Tightened up the spec for #to_s
-
-commit 3d4f87741135343a2e8ec6032fa3a69529cfbf69
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Mon Feb 4 16:51:37 2008 -0800
-
- Fix Hash#key? to work with objects that have the same #hash.
-
-commit f814a15639f6e6ecd47ab99ad9e37e93fd6bc165
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Mon Feb 4 15:17:08 2008 -0800
-
- Fix Marshal format version check
-
-commit 6d9e0afb5600416e5d66d5123abcfa5dd6c40903
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Mon Feb 4 14:24:48 2008 -0800
-
- removed tmpfiles from dir/fixtures and moved them to tmp where they belong
-
-commit 4e18d1cf49573b1fa3f484686352734aa39457d0
-Author: Ruben Nine <ruben@leftbee.net>
-Date: Mon Feb 4 02:32:26 2008 +0100
-
- Added support for tag:yaml.org,2002:sym to RbYAML library.
-
- Signed-off-by: Jonas Pfenniger <zimbatm@oree.ch>
-
-commit 220ed05f204f4b8fe7f1f303fae9a18988f8879b
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Feb 4 17:16:44 2008 -0500
-
- Use an example number that is actually a Bignum everywhere in compiler Bignum spec
-
-commit db3f20c8ec905641de887bbd1ed581aa78f73471
-Merge: e33350e... 6e3dad3...
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Feb 4 16:50:14 2008 -0500
-
- Merge branch 'wilson64'
-
-commit 6e3dad3e5b2e982f96e991e9df2d46de5bf4ee1f
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Feb 4 16:49:09 2008 -0500
-
- Use the correct Fixnum#size spec on 64bit platforms
-
-commit e33350eddc3441b2ebe06336500e6445406285d1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 22:12:14 2008 +0100
-
- Moved one IO#inspect spec to File#inspect specs.
-
- Since the behavior is File-specific.
-
-commit 1586e3a2c5d12f5438adddb8c84bc90c3defee82
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 20:57:09 2008 +0100
-
- Add more IO specs. God, make it stop!
-
-commit e64f3b02423acb783ba8a62996847b0393e7f3ee
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 20:33:57 2008 +0100
-
- And more IO specs.
-
-commit 3d584f0ee2cf988720bb5985c20b3bec6c2e143f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 20:08:26 2008 +0100
-
- Next batch of IO methods specs with closed streams.
-
-commit 6e22a99350195cfa7a40d6049d6d72a9ae7e1168
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 19:47:06 2008 +0100
-
- And yet more specs for IO methods with closed streams.
-
-commit 12e8d881b90cbd60bc792693e799923fdb1041b0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 19:20:39 2008 +0100
-
- More rubysecs for IO methods invoked on closed streams.
-
- Plus some refactoring to move repetitive code to the fixture.
-
- NOTE: two specs marked as fails_on :rubinius due to fact
- that they crash rubinius.
-
-commit 3ae3cafcb10725953c8e595641af277f36c88677
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 18:39:34 2008 +0100
-
- New rubyspecs for IO#to_io.
-
-commit 4980bb83f53845e88cd0d1a3b0823fdbf0c0a001
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 18:09:36 2008 +0100
-
- New rubyspecs for IO#ungetc.
-
- Unfortunately, MRI doesn't follow some of its own
- specified behaviors...
-
-commit f27fe4f3e4ccb298dcaa5014dac69d3148ee169e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 17:18:08 2008 +0100
-
- Added rubyspecs for IO's putc, puts, printf, print and closed streams.
-
-commit a1d7b67942aed8d1b185476dee6f2d99403ed227
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 17:07:00 2008 +0100
-
- Added rubyspecs for IO#pid.
-
-commit cfa1ef21ce862a05ae352a4fe49a3ac4c04b9bed
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 16:36:21 2008 +0100
-
- Added new rubyspecs for IO#sync and IO#sync=.
-
-commit b4f6c33c17e57fa44322124af088a97d475905e2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 16:20:50 2008 +0100
-
- New exclusions for rbx.
-
-commit 60309280c48b2bd1f1d8a5ea018f401e75b7dac1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 16:17:27 2008 +0100
-
- Added new tests for IO's pos, pos=, rewind, seek on closed streams.
-
-commit 40414ad1b39222494ff2a79a0091890a60b7adf1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 14:26:13 2008 +0100
-
- One more test for IO#eof?.
-
-commit 29db340f24c043b240fec6722c323fa1567ce855
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 14:19:46 2008 +0100
-
- Added new rubyspecs for IO#getc and IO#getchar.
-
-commit 0e0a987782fc7834ba95a2e8e2c8ab6cd8dcea81
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Feb 4 13:54:59 2008 +0100
-
- More rubyspecs for IO#eof?.
-
-commit f7d1139e4eace4a86f0c0512bf9269964442628d
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Feb 3 15:55:10 2008 +0100
-
- Fix Date#strptime specs
-
-commit ac4600fcb42928aeba508371aea2f76510e70d5c
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Feb 3 13:26:52 2008 +0100
-
- Fixed Time specs for non Rubinius platforms
-
-commit a5081ca646e99ec94fedfabf03b7eb0a8d37afc3
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Feb 2 23:53:52 2008 +0100
-
- Fixed Time specs for 64 bit archs
-
-commit 26eef47571b921fe6b3228033119e5969c4100db
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Feb 2 13:30:16 2008 -0500
-
- Updated IO excludes.
-
-commit 8edd73d9915f72ee70b661b23e8b42f8b985fa9c
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Feb 2 10:45:23 2008 -0600
-
- Repair IO#sysseek spec to not write to fixture file; uses a tmpfile now.
-
-commit bf6348c935c816a981672e9c26a40354cf0d722c
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Feb 2 02:35:42 2008 -0600
-
- Additional IO#sysseek spec for the warning after buffered writes
-
-commit 5241316a1c74e6580fb91940a9f061047e89cdbf
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Feb 2 02:32:36 2008 -0600
-
- Modify IO#seek specs for IO#sysseek, adding appropriate error tests
-
-commit 7f124cbf66b96fdcdaec73917e86eedfb4a9ddf8
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Fri Feb 1 18:05:15 2008 -0800
-
- Refactored Marshal#dump specs and merged with fixtures/marshal_data.rb
-
-commit 3766b3ed41ffba71ecb1bef8079027bffe518e2a
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Fri Feb 1 16:54:32 2008 -0800
-
- Refactored specs for Marshal#load
-
-commit e134d5bf8e247f4a231bfbfc1c3251b262f219e4
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 1 15:36:06 2008 -0800
-
- Update excludes for recent failures
-
-commit 8ded8b443f55b47a1c30b59cfb0d96d8752d5fa9
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 1 15:11:37 2008 -0800
-
- Process.group spec is missing a suplemental group on OS X
-
-commit 4b7de6ff839b220115dd29f34b5a9f46cb8f5bef
-Author: Evan Phoenix <ephoenix@engineyard.com>
-Date: Thu Jan 31 17:16:13 2008 -0800
-
- Add proper primitive failures, fix empty symbol.
-
-commit dc55c88beee6a3a3a7fd352c1e374ecf84863459
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 1 16:17:00 2008 +0100
-
- Fixed 2 Date#strptime specs that otherwise would pass only in January.
-
-commit 86c372d0fb50aeb6235ed1595d18a876e09330db
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 1 15:32:40 2008 +0100
-
- Few specs for Time#<=> with non-Time arguments.
-
-commit 765ef93acd294922dc22a986213a5842ce3e67a7
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 1 14:09:01 2008 +0100
-
- Added more specs to Time#+ and Time#-.
-
-commit af76adac2182e46e34e68d29b3cd8614edd27d50
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 1 13:38:20 2008 +0100
-
- Added more test cases for Array#join on recursive arrays.
-
-commit bb15b72393b34d3d10bb644fb1d6ce47b6dc0826
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Feb 1 13:15:24 2008 +0100
-
- Added more test cases for File::join with recursive arrays.
-
-commit 7041b2aef1e574dfe220a70da5210c683074f8ae
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 1 03:18:31 2008 -0800
-
- Describe an unambiguous method.
-
-commit 84edf54799e0ccd09276a5cda3fccf544f971c48
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Fri Feb 1 03:07:48 2008 -0800
-
- Use fixed Marshal data for all specs and fix many broken or useless specs.
-
- Clean up spec naming and definition.
-
- Use descriptive names for test classes.
-
-commit e0c3aa074c9525450a7a667ec2cc843ff3560e65
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 23:29:57 2008 -0500
-
- Hash.new patch from Phil Hagelberg + MethodTable workaround.
-
- * The Hash.new patch splits a separate #setup method so that subclasses
- can override #initialize without problems.
- * Because it is part of the core code, MethodTable needs to explicitly
- call #setup in its #initialize.
-
-commit a32f16d9288c5c0822cc6962ce3caed5e1bac5d0
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 15:35:08 2008 -0500
-
- Updated Module excludes.
-
-commit df731f327c4d47373ba6f2fe2f79d5d9acbf398e
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 15:30:11 2008 -0500
-
- More Module#module_function specs in #eval and #module_eval.
-
- * #module_eval separates the two scopes but #eval does not.
-
-commit 6358e5893c52042c10c355173d1ad8441a00bcfa
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 15:13:49 2008 -0500
-
- Better Module#module_function specs.
-
-commit 1646bb6e99a6b4190641046ae730ea1be9c8be2a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 13:59:20 2008 -0500
-
- Various whitespace removal in preparation to fix #module_function.
-
-commit 108601d85d2c41d05f9c00945664d9980e0e46c3
-Author: Evan Phoenix <ephoenix@engineyard.com>
-Date: Thu Jan 31 13:39:53 2008 -0800
-
- Add meta_send_call instruction, speeds up calling blocks
-
-commit 50f9c50820b4305877af1c7fd7597c5dc94c623c
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 12:20:11 2008 -0500
-
- Added LC_ALL=C for all other platforms for Time specs too.
-
- * If it breaks, report and we will figure out something else.
-
-commit 26059c1570c5ad2a64a796e2678ff2d9ace23e58
-Author: Pierre Yager <pierre@levosgien.net>
-Date: Tue Jan 29 22:48:22 2008 +0100
-
- Fix for bin/ci spec failure on localised linux
-
- * Force system date to be executed against "C" locale
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit e5ce9e7c29a34f685f7d3f8a9f855db28aece460
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 31 11:32:56 2008 -0500
-
- Removed trailing whitespace for Time and some Time specs.
-
-commit 3546f721ac86efa318b3802a2f498d41aa830c9f
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Thu Jan 31 10:53:53 2008 -0500
-
- Subtend: Add rb_define_private_method, rb_define_protected_method, rb_define_module_method, etc.
-
-commit 7553cb993a0c7e60c2212800b0ecc033ffc0b206
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Thu Jan 31 10:39:08 2008 -0500
-
- Add rb_class2name in subtend
-
-commit 4570b7c5d837025d765a6a2909d5536c466b9dcb
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Jan 31 02:26:09 2008 -0800
-
- quick addition of 2 exclusions
-
-commit 53c76326e76869a87ad0fc67adbd3aef9059ee35
-Author: Ryan Davis <rdavis@engineyard.com>
-Date: Thu Jan 31 02:15:15 2008 -0800
-
- Parser spec updates
-
-commit 8fb2eb68858a1ee1dafb06b833f43d6da817756f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 19:29:25 2008 -0500
-
- Slightly more permissive TCPServer.new spec for hostname string.
-
-commit 2a60dbbf011e806ae51c30ab2cb2b8e7b9b633a5
-Author: Mutwin Kraus <mutwin.kraus@blogage.de>
-Date: Wed Jan 23 18:41:12 2008 +0100
-
- Fixing TCPSocket#new for localhost (with specs for both IPv4 and IPv6)
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit f485a6818a754c8110feafa9f6dced42a99187d0
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Tue Jan 29 21:13:28 2008 -0500
-
- Making Enumerable#inject only accept one paramter
-
- Uses 'Undefined' idiom, which fixes spec, and cleans up code (thanks
- for the pointer Eero)
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit ebfa5a0bf9f8e3efe61c0d34fe63a8cd74b7ddf8
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Tue Jan 29 20:52:16 2008 -0500
-
- spec to verify inject accepts one argument, at the most
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit b131b80df72a9ceaa9e920b7f78434f301135a6f
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Wed Jan 30 00:33:03 2008 -0500
-
- Adding Enumerable#count spec, including a few failing specs.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 82b63bc0f5b79735a8021b6c5c69786dc76fa7f6
-Author: Alexandre Perrin <alexandre.perrin@epfl.ch>
-Date: Tue Jan 29 15:59:22 2008 +0100
-
- udpdated language/string_spec.rb
-
- * added spec for class/global variable with the \# simple interpolation
- * added spec for ends of a \# simple interpolation
- * added more delimiter character with the percent String construction
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit c58110bde52d64b30cf36ba3cb342357f3654812
-Author: Evan Phoenix <ephoenix@engineyard.com>
-Date: Wed Jan 30 17:19:26 2008 -0800
-
- Fix break. It now uses LRE to properly return to callsite and appear like
- it returned.
-
-commit 45109c222502de955d705f810333d8e7b331c953
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 31 00:42:12 2008 +0100
-
- Added Date#strptime specs
-
-commit fe60e6a022d9e64bb568ccd47494f07a99382c58
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 11:36:46 2008 -0500
-
- Updated excludes for Marshal. Looks like Fixnum/Bignum issues.
-
-commit 209dde412310edc384be7d4a86bdfb0444f3b3bf
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 01:45:27 2008 -0500
-
- Updated IO/File excludes.
-
-commit 91031e51e49a1a3ddb9f74da31e2ed65c48e1ef5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 01:43:11 2008 -0500
-
- IO.new and IO#close use stream API.
-
- * IO.new uses fdopen() to open the given fd which also checks the mode
- string for us. The returned FILE* is stored as a MemoryPointer in
- @fptr.
- * IO#close checks for presence of @fptr and if found, uses fflush() and
- fclose() to release the handle instead of going the normal route.
-
-commit f4d64553a2a53c77235ef9acc3353ac455514057
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 01:20:32 2008 -0500
-
- Made probably broken File.open spec compliant_on :ruby.
-
- * File.open should not take three args. File.new does.
-
-commit dc496f35502b4642137d3f0f74571c8245a6ae56
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 30 01:19:29 2008 -0500
-
- Slight IO.new spec tweaks.
-
-commit a9d9288315e88cffd59ec1b27e3c3209ceb1a3a9
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Jan 29 20:32:44 2008 -0500
-
- Combined IO.new and IO.open specs for the shared parts.
-
-commit effa81cce1d42f7c1bc2e275cb75bd9069e934b8
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Jan 29 19:14:51 2008 -0500
-
- Changed specs to use the two-argument IO.new.
-
-commit 1394b360fe70966e25809a349b400a69262060ca
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Jan 29 14:56:47 2008 -0500
-
- Rewrote IO.new specs (still a bit sparse.)
-
-commit 94d50eb3e60971ffeff28bffa0beaff405c581bd
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 30 21:47:35 2008 +0100
-
- File#utime specs to use be_close rather than ==.
-
- On some platforms, direct comparison just doesn't work,
- producing non-deterministic test failures.
-
-commit 0f5574c28ff08c96326298b98b4ea50108168044
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 30 13:13:25 2008 +1100
-
- Remove race in debug_context_change specs
-
-commit 00a62c3476dd0717f5c4caece453914e1392de9d
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Jan 29 14:39:06 2008 -0800
-
- Remove bogus Marshal specs for Fixnum/Bignum changeover
-
-commit db1b140db0fbecf70f8adda983e010ef2bbe94c4
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Jan 29 22:58:18 2008 +0100
-
- Finished first version of Date specs. All public methods are specced
-
-commit 8ee52fd8dfd3ef6048c63b30d8aea71da944abb2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 29 17:21:57 2008 +0100
-
- Follow rbx lead, and allow deviation in UnboundMethod#== for JRuby.
-
-commit f670bcb9e086ac9cc73b6ef6083966b296268f04
-Author: Caleb Tennis <ctennis@engineyard.com>
-Date: Tue Jan 29 09:46:50 2008 -0500
-
- Fix typo
-
-commit 4e990269fd42aabd48cdc29b4288c78984d0e5cf
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Jan 29 02:44:20 2008 -0800
-
- Add File::join recursive Array spec.
-
-commit 4d947218e949e19515a9e89af99d4823048f3bb2
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Jan 29 02:41:54 2008 -0800
-
- Fix File::join spec name, duplication
-
-commit a38e10ddc19ebd59f8775a01f3e899c5348ba23f
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Jan 29 02:40:37 2008 -0800
-
- Make File::join remove extra / appropriately.
-
-commit 074251c03093ba40c0fc3558d512a77844ac45aa
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Tue Jan 29 00:53:23 2008 -0800
-
- Make File::join specs more clear, remove whitespace
-
-commit f968bbe15a27d8ac6716d103119d41c4eef37696
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Mon Jan 28 18:07:24 2008 -0800
-
- Use const_lookup in Marshal, fix #marshal_load.
-
-commit 7e00b857f56879564c1bf27f2e694f3c0783a4bb
-Author: Eric Hodel <ehodel@engineyard.com>
-Date: Mon Jan 28 17:23:26 2008 -0800
-
- Support nested modules in Marshal
-
-commit 5c6e2af3d9ace07ca8387c5aecaa5c1d85e8d81f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 28 20:22:40 2008 -0500
-
- Added specs for rest of the filetypes to File::Stat#ftype specs.
-
-commit 221a077bef5e9007b548993eaf16c86137c6b0b3
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 28 20:08:12 2008 -0500
-
- Added support to spec file type against sockets too.
-
-commit 9cb4791db10bc79f8c30a86f17e6c099dabeea80
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 28 19:52:07 2008 -0500
-
- Moved File and File::Stat-related fixtures to fixtures.
-
- * Module FileSpecs defines methods that yield filenames corresponding
- to specific file types so they can be easily tested.
-
-commit c28c85602d3ab6770ed567a64b744baa15795511
-Author: Ben Hughes <ben@pixelmachine.org>
-Date: Sat Jan 19 16:10:36 2008 -0500
-
- Added spec for File::Stat#dev, dev_major, and dev_minor
-
- * Check that the result values are Integers for each operation
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 86ce52e32a35cb11564d0d5f306f4eea6d6b714d
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Jan 22 15:21:38 2008 +1100
-
- Added yield_debugger on context change
-
- Added capability to set a flag in the VM that causes a
- yield to the debugger to occur immediately following a
- change in the active context. This provides a foundation
- for step in logic for the debugger, which need only set
- a flag on a task and have a breakpoint triggered at
- whatever receiver is activated following a send.
-
-commit 3904ff2fbb209b8c2d476bb3f4a4ea4825a16f6e
-Author: Brian Ford <bford@engineyard.com>
-Date: Mon Jan 28 17:58:35 2008 -0800
-
- Fixes for mSpec to coexist with autotest.
-
-commit 45f2d6de4b025acfa2429d88c729a3eb58a79528
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Mon Jan 28 17:08:45 2008 -0800
-
- Added more brains to .autotest. Removed bad files that it pointed out
-
-commit 70eaa7feffcfd552c51b67a651cdf6063c9b549a
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Mon Jan 28 15:57:24 2008 -0800
-
- Add File::Stat#dev.
-
-commit 020f4bec691ba658fab0f1ff24fa5df5a6f1921f
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Mon Jan 28 16:13:11 2008 -0800
-
- Added enough process spec exclusions to drop the HUP issues
-
-commit 76b393566f2a89001952dbf1ec46dd52a5750448
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Sat Jan 26 10:58:42 2008 -0800
-
- Fixed autotest support (needs latest version of zentest).
- Minor clean up on bin/ci and kernel/core/module.rb.
- Hacked mspec/matchers/base.rb to output with pretty print.
- Fixed mspec's runner to output time BEFORE failures. Fixes unit_diff.
- Updated Parser excludes.
- Deleted a bunch of excludes.
- Updated spec/parser/sexp_expectations.rb with latest ParseTreeTestCase.
- Started adding a rewriter to make maintaining sexp_expectations easier.
-
-commit d147f6f0a87e30e240750d8c660bc89f8c84a472
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Mon Jan 28 18:20:38 2008 -0600
-
- update CI excludes
-
-commit 159f17a228fa6a42cea79b9e3663e1f2b9dea9e4
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Mon Jan 28 18:07:56 2008 -0600
-
- add Marshal specs
-
-commit 72e739590b6bbe571607df674e2f4106c64c8042
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Mon Jan 28 15:15:26 2008 -0800
-
- Fix String#gsub when matching '^'.
-
-commit fc8c2c5584305b3e0b2a74ba8250a0b7072a372f
-Author: Ben Hughes <ben@pixelmachine.org>
-Date: Sat Jan 19 16:20:55 2008 -0500
-
- Added specs for File::Stat#ftype. #264.
-
- * Tests "file" and "directory"
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 2f9872b66d4dffc82e0a97e617fb9de18105f668
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 19:56:06 2008 -0500
-
- Better living through mocks. String#+ spec cleanup & correction.
-
- * String#+ in fact raises a TypeError when given ANY non-#to_str
- object.
- * Simplified spec code.
-
-commit f5a0f1e0e401db8f28727cdd8be99228c9c6aee3
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 19:37:08 2008 -0500
-
- Removed trailing whitespace in String.
-
-commit 03c1c270236786b66930063669b95ac7cbf17f10
-Author: Matthew Draper <matthew@trebex.net>
-Date: Thu Jan 10 22:40:35 2008 +1030
-
- String#+(65) throws a TypeError, unlike String#<<(65).
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit a17ede3e9c85c1bd2e06efa7381c1e5dbab47f80
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 19:10:33 2008 -0500
-
- Minimal IO#open specs, IO#sysseek. Merged from Chen Yufei's patch.
-
- * Merged patch by hand, most of it was already implemented separately
- too.
-
-commit 30116d672d950687646c1668eac4d9f5b10f4df7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 18:53:19 2008 -0500
-
- IO#readline EOFError spec modified from Chen Yufei's patch.
-
- * Patch was out-of-date, applied by hand.
-
-commit 1b81e68249741d53b38857440bba897987d00e43
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 17:44:30 2008 -0500
-
- Separated and excluded NUL byte stripping for String#lstrip specs.
-
- * Rubinius does strip leading NULs, MRI does not.
-
-commit 55f50888f22288b0fa45298d873dd265d7340aec
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 16:52:51 2008 -0500
-
- Updated various excludes.
-
-commit b085f63d66519f93b59e3851b7e6796877e97107
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 16:47:24 2008 -0500
-
- Documented Method, deleted unnecessary Method#module spec.
-
-commit f71f5c91e8ceab59d59614fe885dfeff096d7655
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 15:41:26 2008 -0500
-
- More precise specs for Method and UnboundMethod #to_s / #inspect.
-
- * Checks presence of own class, method name, name of the Module where
- the method is defined and name of the Module where the method was
- extracted from.
-
-commit 400b522d27515698e0a35b2507a4a8825ec9bf8f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 15:22:46 2008 -0500
-
- Rewrote Method#unbind specs, touch-up for Module#instance_method spec.
-
-commit 57bddb7b38dbb762b2469c51eb961e01f03c8518
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 14:50:38 2008 -0500
-
- Updated UnboundMethod#== spec for Rubinius/MRI difference on Modules.
-
- * Rubinius' UnboundMethod#== is true for methods from included Modules also.
-
-commit 8503c92f914d72e72eeeaede225f52242a1afad9
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 14:25:29 2008 -0500
-
- Rewrote and added Module#instance_method specs.
-
-commit 8541f4cf83f8b776276e81ca41eb0f7b595e4fb7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 13:43:36 2008 -0500
-
- Improved/added UnboundMethod#bind specs.
-
- * Removed unnecessarily specific error message check. Exception type
- is plenty.
- * Specified correct behaviour only in terms of Method since a Method
- is returned and anything after that is not #bind's responsibility.
- * Rubinius allows binding to any object that is kind_of? with respect
- to the Module that the method is *defined* in. MRI requires that it
- can only apply to objects of the same Module that the method was
- extracted from.
-
-commit fc7073c85b5e201265e24a82c19bd6413681f6e1
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 13:02:24 2008 -0500
-
- Removed trailing whitespace in UnboundMethod#bind specs.
-
-commit bde0cacff5f061accab7feb8a27b2417456f2f95
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 12:38:39 2008 -0500
-
- Specced Rubinius to deviate in UnboundMethod#==.
-
- * MRI requires that both UMs were extracted from the exact same
- Module. Subclasses etc. are not OK even if the UMs both refer to
- the original in the parent. This is somewhat nonsensical and
- harder to implement so Rubinius allows it.
-
-commit e7ba146d3d0ef0aed1d297d157008661458723eb
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 12:16:07 2008 -0500
-
- Much more comprehensive and precise UnboundMethod#== specs, documented.
-
- * #== has some stupid behaviour but this is what we get.
- * Explanation of criteria in the method doc.
-
-commit 43f2226c8882900a472f0a5347fa549936e8f000
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 09:37:51 2008 -0500
-
- UnboundMethod String representation specs improved.
-
- * Specs require that the returned String contains this object's class
- and the [Module]#[method_name] it was extracted from.
- * The spec specifies nothing else about the format or order etc.
-
-commit 67e3b5993d92776e0c9535549e8ffdb172225d52
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 09:11:19 2008 -0500
-
- Trimmed whitespace for kernel/core/method.rb for patching.
-
-commit c61c5185589cf5a86b58b2e8c8b8d7a26cdc25ec
-Author: Scott Taylor <scott@railsnewbie.com>
-Date: Mon Jan 14 00:23:27 2008 -0500
-
- fixing the specs for UnboundMethod#inspect
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 48bcca32329d48a20d5a6f2dd19598ea7b4167ce
-Author: Scott Taylor <scott@railsnewbie.com>
-Date: Mon Jan 14 00:16:24 2008 -0500
-
- UnboundMethod#==, plus an extra spec
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 232015fed94b59adf627a7712da0d5d4d44c87d0
-Author: Scott Taylor <scott@railsnewbie.com>
-Date: Mon Jan 14 00:03:32 2008 -0500
-
- UnboundMethod#bind
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit fcd0139307fd48f78f122457af1af43a543343ce
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 12:11:34 2008 -0500
-
- Updated excludes for IO#write.
-
-commit eed253158fe0cc20b91f6c8dcc06f6a671092d84
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Sat Jan 26 14:36:33 2008 -0800
-
- IO#write calls #to_s on it's argument
-
-commit bb5ff251bcc4baceac25a3a1fa64797b94551145
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 03:22:02 2008 -0500
-
- Updated #attr_writer spec that was picking up a stray method.
-
-commit fa985a57f6cf802d6a83a6d02a31dd7fd33ebd36
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 01:20:27 2008 -0500
-
- Module#const_get can now access top-level constants for Modules also.
-
- * Modules explicitly check Object last, Classes already do it since
- they all inherit from Object.
- * Added some more specs too.
-
-commit fbc1cfb2d461891ee478802f44de3736959905a7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 00:47:52 2008 -0500
-
- Renamed the Module field 'parent' to 'encloser.' Some docs.
-
- * When dealing with Modules and Classes, 'parent' is an ambiguous term.
- In typical OO literature, 'parent' means the superclass which is not
- the case here. Two separate sections of code already showedsome
- uncertainty about the intent of this field.
- * Added a few bits of documentation to Module.
-
-commit 92903e92564857350061d83f8eb3b54886986ac3
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 00:36:10 2008 -0500
-
- Updated Module excludes.
-
-commit a705e687ce0d55e7ea184e1a3e67ba8d9d7c610c
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 27 00:24:20 2008 -0500
-
- Improved Module#const_get specs for better coverage.
-
-commit bca6aef9b81166f9c5f4aeaafc673a54710d4d35
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 19:57:33 2008 -0500
-
- Corrected semantics of spec statements for Module#const_get.
-
- * Specs were correct but the description was inaccurate.
- * Prettified just a little.
-
-commit f699c18b68dee73086afb92d15b61745319a5321
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 19:55:40 2008 -0500
-
- Module#const_get specs for top-level constants by Le Huy.
-
-commit f3831a0693ea90271843bcc5910516e5a40ed3c1
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 19:15:27 2008 -0500
-
- Module whitespace cleanup before patching.
-
-commit e3cbe8136351f055bd99f10646d4f77515078430
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sun Jan 27 00:51:55 2008 -0600
-
- A few basic IO#write specs for file IO
-
-commit fd05adfedf70d795d8d91f650d5b76b05104dd7a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 18:54:35 2008 -0500
-
- Specs for Enumerable#max_by (Rubinius extension.)
-
-commit 560b6460745c7821b9479b356c032a10daaa61ec
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 18:53:52 2008 -0500
-
- Specs for Enumerable#min_by (Rubinius extension.)
-
-commit 6ab0bc901bdc60bde1e251f72f0028dfb736a2dd
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 14:25:41 2008 -0500
-
- Updated excludes for Enumerable.
-
-commit 2e09eedb31e15c791e491e97bc2af1977a629c2b
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 14:20:19 2008 -0500
-
- Fixed Enumerable#max and #min nil problems using Undefined.
-
-commit d8e6ebf604fdcc228e9158336250dd29c6d35932
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Sat Jan 26 13:22:33 2008 -0500
-
- Failing spec for finding max when Enumerable contains nil
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 313ee6badb177c101e39e122c5b5d6ff4d73d93d
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Sat Jan 26 13:01:06 2008 -0500
-
- Failing spec for sorting a list that contains nils
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 467e8a60e0e25003894013e68f6d48e7bd6a22fc
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Sat Jan 26 12:01:15 2008 -0500
-
- adding failing spec for sorting enumerables that contain nils
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 8719a4ad46d7643c6e54aab3dffedb6831bde5f3
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 13:42:11 2008 -0500
-
- Whitespace cleanup before applying Enumerable patches.
-
-commit 015a0d023e8c649160800ddb8a269aa789266d51
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Jan 26 13:31:00 2008 -0500
-
- Added/changed the Dir open specs after previous simplification.
-
-commit 6735df441af2489d47674b0cc500dab37dd4319e
-Author: Jonathan Younger <jonathan@daikini.com>
-Date: Thu Jan 24 17:09:49 2008 -0700
-
- Simplify Dir#open spec dependencies.
-
- The "takes a block which yields the Dir instance and closes it after"
- expectation was failing because it depended on File.for_fd working
- properly with closed file descriptors which it does not.
-
- This revision removes the dependency on File.for_fd as well as
- IO.sysopen (which is not yet implemented in jruby) such that
- the spec now passes on ruby, rbx and jruby.
-
- Signed-off-by: Eero Saynatkari <rubinius@projects.kittensoft.org>
-
-commit 27834ebec570c78011eaaf37998272d46ab9d118
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Jan 26 21:51:13 2008 +0100
-
- Added Date#strftime specs and fixed some constants
-
-commit 767e58ec38af7c3bc78dd98541fb8235616e9691
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Jan 26 21:45:23 2008 +0100
-
- Add spec for Rational#round, works because of added Numeric#round
-
-commit 2497d3b7b9d6112356204dc429c3c368e1a65573
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 26 12:31:45 2008 -0800
-
- Templates for Rational specs.
-
-commit 5d63550a13cad4acbae3ae67e9ee9f672cbe5e61
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sat Jan 26 00:47:35 2008 -0800
-
- Revert back old date.rb, but use newer date/format.rb, with some fixes
-
-commit ecd3ee8a0a528f516283558585b86e729bd388ec
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 21:47:38 2008 +0100
-
- Updated not_compliant_on --> not_supported_on, where appropriate.
-
-commit 78ca098893d6231f74386eeadf0c30787f3dd2e6
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Jan 25 12:18:43 2008 -0800
-
- A couple of easy fixes, fix Time to handle 2 digit dates, pull in trunk date
-
-commit fe8433cda8ca49835e2581f35bbf0d31025e84c1
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 18:42:31 2008 +0100
-
- Better detection of AF_INET6 support in socket specs.
-
-commit 1834801229bf8b2c0abfea4c18448ed105691682
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 18:16:56 2008 +0100
-
- Added a guard for undefined AF_UNIX in Socket specs.
-
-commit 3af242cc180675272ee24d588f3328bc11342048
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 14:32:04 2008 +0100
-
- New specs for IO#seek, IO#pos=, StringIO#seek and non-fixnum args.
-
- Rubinius fails all of them.
-
-commit 0ef7d55ebb5108bd5cf2f951236c8fade3999dfb
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 13:42:08 2008 +0100
-
- New specs for String#unpack with 'Q/q' patterns.
-
-commit 907081db80262a1403f659433934ef707c2ddee0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 25 12:35:07 2008 +0100
-
- Adjusted socket specs, so they pass on MacOS (MRI/JRuby).
-
-commit 9cca76acbe066da357692a19d5af1c8f5e4601c9
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 24 17:31:38 2008 -0800
-
- Fix race in compiler version number, fix regex spec
-
-commit be18fcc2e0ee16f861f1e2bff0636c3288bce8d6
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 24 15:10:00 2008 -0800
-
- Be more flexible with set_priority (OSs are a bitch)
-
-commit 845336d81df42b5d1f93123ef148b78c2b220d25
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 24 13:46:08 2008 -0800
-
- Kernel flesh out, passes all but 1 spec now
-
-commit ab87e7641336dfb07f0ad99cc2881ec59a25053a
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Thu Jan 24 12:36:50 2008 +0100
-
- Changed __const_set__ to handle corner cases.
-
- * Kernel#__const_set__ is now the catch-all. It triggers on things like :
- M = 3
- M::M = 3
- * MAIN#__const_set__ is forwarded to Object
- * Module#__const_set__: logic has been moved here, it is no more and alias
- of Module#const_set because it needs to trigger a warning on re-assignment.
-
-commit 13dbdf62e802028cb61f9375196712f0b789ff37
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Jan 24 21:30:02 2008 +0100
-
- Added some SystemCallError specs.
-
- And exclusions for rubinius too.
-
-commit 75e2aac1d4b031fa36c8967549452436521b5eea
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 23 19:41:30 2008 -0800
-
- Rework Class.new and Module.new to initialize without VM help
-
-commit 2551e57644d091d44e5e2fa715a017a557a0b18c
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 23 19:03:51 2008 -0800
-
- Userland now uses __const_set__ for 'A = 3' syntax
-
-commit 400c5ceaf677aa2cd05a451c22144613ad7bdbe9
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 23 14:32:26 2008 -0800
-
- Introduce kernel/user land. Adds use of Module#__add_method__
-
-commit 9ee17f227ebe572b09d44b3b0d703b9f95717751
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 23 14:50:25 2008 -0800
-
- Fix Hash#clone
-
-commit bf4875d337017736bd94781c1bf4cd7500fae5f5
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Jan 23 22:55:02 2008 +0100
-
- Implemented Enumerable#inject fix
-
-commit 0bd07f50ba75910ab579e3356dae93bc32b695bd
-Author: Jacob Maine <jacob.maine@gmail.com>
-Date: Wed Jan 23 15:46:06 2008 -0500
-
- Enumerable#inject(nil) should yield nil as the first 'memo'
-
- * Currently yields the first element of the enumerable instead
-
-commit 319f937284e60acc156c6b7f91e56d460e65ac94
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 18:12:56 2008 +0100
-
- Excluded the IO#new spec.
-
-commit 04da4120d939603d4a64aab71bbf94ca202e04b2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 18:11:45 2008 +0100
-
- Added IO#new spec (block should be ignored, warning printed)
-
-commit 5617c3eb81a3f1d8f9a581695fe7897fadee500a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 17:50:48 2008 +0100
-
- Excluded failures after IO specs additions.
-
-commit 107a072689bc9b97842f049f4fab2860ab79237d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 17:48:34 2008 +0100
-
- Added specs for IO#open/popen, File#open with close inside block.
-
-commit bc3393a9041f8116d53bedfa6b604ec6dce3fd19
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 23 14:25:13 2008 +0100
-
- Revert "Added Module#name memoization spec". dbussink told me this behavior
- is not wished.
-
- This reverts commit ff411600202a59d00ffaca2c51330599c6b84966.
-
-commit 73e7d61d756cb7a06ea18b7f92c49bbebb06cc3f
-Merge: ff41160... 1dab607...
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 23 13:57:28 2008 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit ff411600202a59d00ffaca2c51330599c6b84966
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 23 13:55:36 2008 +0100
-
- Added Module#name memoization spec
-
-commit 1dab607a79b79b370eda4776daf07a262451aea0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 13:28:29 2008 +0100
-
- Added IO#close specs.
-
-commit c78091236495f4a16aa874de97cce3ec485c1f5b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 23 12:54:25 2008 +0100
-
- Added IO#close_write and IO#close_read specs.
-
- And all of them fail in rubinius. (not implemented)
- And most of them fail in JRuby. (recent bugs)
- They pass just fine on MRI 1.8.6 (p111 and latest)
-
-commit dc39943a4595855d64f23f9155a4e9cf658c39a3
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Jan 23 10:37:45 2008 +0100
-
- Small refactor of regexp_new
-
-commit 132ac4986a648dbf1354216145e5715a727a735b
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 23 00:14:34 2008 -0500
-
- Type.coerce_to no longer falls prey to identity fraudsters.
-
- * Type.obj_kind_of? directly uses the internal kind_of instruction
- so that overridden #kind_of? does not get in the way.
- * Type.coerce_to uses Type.obj_kind_of? for its checks so that
- Core can safely use it without worrying about breakage due to
- overridden #kind_of?.
- * Specs for both and a little documentation.
-
-commit 192882902154c9a68554337ccd1b8f3ee9aedd9e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 23 00:42:24 2008 -0800
-
- Remove Symbol#to_i and Symbol#to_int. Farewell bastard children.
-
-commit f854667ff62528fe541c8cf67b9a1b291598d654
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 23 00:35:29 2008 -0800
-
- Removed Fixnum#to_sym and Fixnum#id2name, as well as fixed specs
-
-commit eb6cbc3604c81cc093edb1c182be1e456b05bef6
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 23 16:30:22 2008 +1100
-
- Added specs for context iseq manipulation
-
- Added specs to test MethodContext#reload_method and
-
-commit fd5fb764ee21b354b75b84f34906663874a24639
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Jan 22 22:28:02 2008 -0600
-
- spec for DRb method call using a block
-
-commit a928762b48f7dc84bba0d43125063e9d8d54f183
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 22 19:15:10 2008 -0800
-
- Better test of #instance_method.
-
-commit c055a5981bf4ecfd2efc0df74adb071056ff83b9
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 22 15:40:59 2008 -0800
-
- removed remove_method_excludes.txt
-
-commit 08cb27454e7ae73e79bb432887dba917feaa1f92
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 22 15:36:36 2008 -0800
-
- Clarified undef/remove specs a bit.
- Fixed remove_method to raise NameError if you're not acting on local method.
- Removed some fails_on calls to make specs pass... gonna remove them all soon.
-
-commit 62d93ac7916ff0d56a5b40ae1b9b501f10081638
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 22 15:35:05 2008 -0800
-
- Fix up sysread and syswrite, disable testing for warnings on rubinius
-
-commit a482b17c4bfe9f40474839ba0cce2a37d8524c62
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 22 15:13:19 2008 -0800
-
- Remove stale binding excludes
-
-commit f45030d33a9e1fe3c6bc111401a893e5649239f7
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 22 15:03:37 2008 -0800
-
- Update Proc excludes
-
-commit 7f932fbdf5fa4e16df10d7731313d458ca21966c
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 22 14:55:50 2008 -0800
-
- Add Proc#==
-
-commit 811cbe8ef876ef452051a9b07b3c95dbf57a7d9f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 23:41:55 2008 +0100
-
- Removed debugging stdout from one spec.
-
-commit 2bf52de43bb90721d921f6d29504a8f098ed09b5
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 22 14:11:17 2008 -0800
-
- Removed a lot of passing specs from the excludes
-
-commit b0e5a9ba6577c301f2737682d745128e268ebdab
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 22 14:02:38 2008 -0800
-
- Fixed Symbol::all_symbols
-
-commit 68ae0b5acd647b9ebd73e53638b728cfaee6b6e0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 22:09:45 2008 +0100
-
- Revert "Completed MRI's Module#name spec with corner case."
-
- This reverts commit 970ede321d31ec75dd578866c683defe768fa356.
-
- This spec seems like an implementation detail rather than
- a specified behavior. It was agreed on IRC to revert it,
- and that rbx won't support it.
-
-commit cc0e45cab2167e0fbc1d29308a5dcb4e7e077319
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 22:06:28 2008 +0100
-
- Revert "Module#name memoization work."
-
- This reverts commit 7cd9fce4908aaeea9a35e273a3f15ed7ee7aa783.
-
-commit 996f9f4e5fc05f1b3aa618db3e1a4947730780b7
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 22 12:23:39 2008 -0800
-
- Fix LongReturnException to be terminated in the correct place
-
-commit f453121dd2f3b4d9506a3f1c1e61d24e46bc9083
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 20:53:45 2008 +0100
-
- Corrected Module#instance_method failing spec. It was failing on all impls.
-
-commit c1d59239ddea95e73e2edd3a97ed6e1113a35d3c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 19:58:32 2008 +0100
-
- Corrected Module#instance_method spec, it was failing on MRI/1.8/1.9/JRuby.
-
-commit ef5f4489caac2ad4bad94783a780aa40a054481c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 22 19:30:48 2008 +0100
-
- Corrected String#to_f spec.
-
-commit 7cd9fce4908aaeea9a35e273a3f15ed7ee7aa783
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sun Jan 20 22:00:34 2008 -0600
-
- Module#name memoization work.
-
- * Module#name is now memoized on access if @name is set
- * Full module path is lazily calculcated on memoization
- * Module#const_set(Ruby) and module_const_set(C) only set @name and @parent.
- * The following methods unifily use module_const_set:
- * cpu_const_set
- * cpu_open_class
- * cpu_open_module
- * module_setup_name
- * Module#calculate_name reworked, hack removed
-
-commit 7b4ef1344812faa76018ab41cc7fba97a3af8448
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Tue Jan 22 02:47:49 2008 -0600
-
- implement more of Marshal.load
-
- Float, obj._load, obj.marshal_load, IO.read, proc arg
-
-commit 41f07f0253a8fba205dbb0402e5d5e88c115d76c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Jan 22 16:32:01 2008 +1100
-
- Fix Task#get_stack_value to not raise exception from primitive
-
-commit 14c811adaba3e8cfc5104d70e67c2e89c18cac4d
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 21 19:28:18 2008 -0800
-
- Exclude Kernel#require is private spec when running with RSpec.
-
-commit 05a180e0051a0409c685d326a41e882545faaa53
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 21 19:26:41 2008 -0800
-
- Explicitly run /bin/sh to get around limited /bin/pwd on linux.
-
-commit c09b3da391995a0e9006055ce19e838d3f180947
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 21 19:09:07 2008 -0800
-
- Protect String#% specs from segfaulting on linux (ubuntu gutsy).
-
-commit d36b3f65f92b08ae078812788482387077d03380
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 21 17:55:03 2008 -0800
-
- Removed use of `pwd -P` as at least ubuntu bin/pwd doesn't support it.
-
-commit 6d7a8292fb9a68a0dcfbd3f29f595e0ecf5902ae
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 21 17:54:11 2008 -0800
-
- Unexclude Kernel#callcc specs as Evan's recent commits seems to fix it.
-
-commit eb04d409575772a85510770bd0db4f36490de6aa
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Mon Jan 21 13:28:06 2008 +0100
-
- Fix Regexp error handling
-
-commit 93e50808eb7355c404a7f5295923083c8cf63549
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sun Jan 20 22:00:34 2008 -0600
-
- Quarantining IO#dup spec "sharing" example due to platform differences.
-
-commit ae9e2829becc495892c7ddce5eae67514f268120
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 10:26:56 2008 +0800
-
- Update Module instance_method_specs excludes after revert put it back in
-
-commit df6c82f97987c233eab0534740054e2d0f0f2f2c
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 10:25:00 2008 +0800
-
- Revert "Update CI excludes for Module"
-
- This reverts commit 8aa00146f2eee9576094daa76c6f158b0deaf2e2.
-
- * Fails when run with other specs
-
-commit 6f5245d4c20bf009bc120967f4a93d24faae66ba
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 10:23:15 2008 +0800
-
- Revert "Update CI excludes for Symbol.all_symbols spec"
-
- This reverts commit cb27e31b2a757ad108842bfa579eb9170d6cf244.
-
- * Returns an F if run with other specs in ./bin/ci
-
-commit ec9677e593247ed8dfcbfc680151d04ac97936e3
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 10:11:35 2008 +0800
-
- Fix Module instance_method_spec to match the inspect with a regexp
-
-commit 7e3474a16ec20094630e865594405ea7f1658c58
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 10:08:06 2008 +0800
-
- Module#instance_method raises TypeError/ArgumentError on invalid arg
-
- * Fixed spec to expect TypeError when passed nil
- * Fixed spec to expect ArgumentError when passed non-symbol/string
-
-commit 8aa00146f2eee9576094daa76c6f158b0deaf2e2
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 09:41:37 2008 +0800
-
- Update CI excludes for Module
-
-commit 9158b959d30babdceafc416650c1ba3234e5029a
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 09:10:06 2008 +0800
-
- Add alias for Proc.to_s from Proc.inspect
-
-commit cb27e31b2a757ad108842bfa579eb9170d6cf244
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 09:09:40 2008 +0800
-
- Update CI excludes for Symbol.all_symbols spec
-
-commit 7f16f313c907de0e22762d97fbba24e70c3259a3
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 21 08:46:36 2008 +0800
-
- Raise TypeError/ArgumentError for invalid Thread key
-
- * Raise TypeError is key is nil
- * Raise ArgumentError is key is not Symbol or String
- * Correct the description of Thread's element_set_spec to use #[]=
-
-commit 0b849f884beae9d11327e315da5c79fe789b8391
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Jan 20 23:05:33 2008 +0100
-
- Added rubyspecs for Zlib.crc32.
-
-commit 67b52b6fb92b9e9a037e584474cff2dc97ce0163
-Merge: e6d8a61... 6f08d5e...
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Sun Jan 20 22:30:52 2008 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit e6d8a61771b76198c0784677bb0a8fc97b1988bc
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Sun Jan 20 22:30:29 2008 +0100
-
- Fixed Struct#[] and Struct#[]= with negative indexes.
-
- * Added corresponding specs
- * Fixed kernel/core/struct.rb code
-
- Example:
-
- s = Struct.new(:x, :y)
- x1 = s.new(:a, :b)
- x1[-4] #=> should raise IndexError: offset -2 too small for struct
-
-commit 6f08d5e21473d0f2adff66a32acd46ddd8945fa0
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 20 12:47:11 2008 -0800
-
- Added spec for Kernel.format.
-
-commit 6ab2691b455ac07643d98dc58f8a0f45487ab20d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 20 11:52:56 2008 -0800
-
- Added sane handling of non-reals for #format %e, %E.
-
-commit 1caab1ce237a52d78a402a5f0a7ce1d3ed9ac6b7
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Jan 20 18:55:27 2008 +0100
-
- Add spec for singleton_methods and fix for Fixnum
-
-commit d7c46a0a1660f1d53e03a97571f3ec7b2431d0e4
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sun Jan 20 12:29:10 2008 +0100
-
- Added failing spec for Regexp#new that could cause a segfailt. Needs error handling as stated in shotgut/lib/regexp.c:122
-
-commit d15c6605b7fb7db337d87ac1bd15f9a1371caa42
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 19:28:00 2008 -0800
-
- Added language spec for return within a block.
-
-commit 3b516c028c4c9e064fbe839f0f9402a135eb90b0
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 17:27:13 2008 -0800
-
- Added spec for class vars set from Kernel#instance_eval based on #267.
-
-commit 970ede321d31ec75dd578866c683defe768fa356
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Sun Jan 20 00:44:04 2008 +0100
-
- Completed MRI's Module#name spec with corner case.
-
- It looks like Module#name is memoized in MRI
-
-commit caf440ac6a8037a2c223834c0ca4c5decd8e68ab
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Jan 19 22:48:31 2008 +0100
-
- Revert "Wrapped one spec to prevent JRuby crash."
-
- This reverts commit 9f266e3c785c7e3edbb6a30271f32debe6c14164.
- JRuby issue is resolved.
-
-commit 9673e2c1c5a1142af52a0d82d8981bdd9e236c27
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 12:46:12 2008 -0800
-
- Changed IO#syswrite to use should complain matcher.
-
-commit 8522186df7050782c4911f40aef381106e5e8c5b
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 12:29:12 2008 -0800
-
- Added mSpec lambda { .. }.should complain matcher for warnings.
-
-commit 9f266e3c785c7e3edbb6a30271f32debe6c14164
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Jan 19 21:24:13 2008 +0100
-
- Wrapped one spec to prevent JRuby crash.
-
-commit 54d1989997561271553ba72bd99f59ef2deb7c72
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Sat Jan 19 19:13:06 2008 +0100
-
- Fixed "X::X = 3". It would return a tuple instead of 3.
-
- * changed shotgun's const_set instruction to push the variable on the stack.
- * added corresponding specs under `language'
- * found a new problem but added it to excludes
-
-commit d25ec129902789bc7d636ff5ccda8ff858ae38d3
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 10:21:19 2008 -0800
-
- Added spec/README. Reformatted mspec/README. Removed old sprintf spec.
-
-commit 5eb06e3010707de1e273c23b3f0addf2ceaa824d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 19 09:37:29 2008 -0800
-
- Removed unused Sprintf, rename YSprintf to Sprintf.
-
-commit c144abc12230175a2a503c4426804ed19c8559e7
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Jan 19 16:21:08 2008 +0100
-
- File::Stat time functions should return Time objects and added stat and lstat instance methods on File
-
-commit 177ef99db435a59e942566f7904167fc5e849d8d
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 19 22:24:16 2008 +0800
-
- Fix ThreadGroup's add spec
-
- * Fix is by initializing a new ThreadGroup on Thread setup
-
-commit 3fad84ec370eda1cab596adf5589e43240dfc381
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Sat Jan 19 12:16:55 2008 +0100
-
- Removed empty *excludes.txt for better searchability
-
- `find -name "*excludes.txt" -size 0 -exec git rm {} \;`
-
-commit 9a2b1e6232f36c7a1508085b4606e25fbcf3cb4a
-Author: Jonathan Younger <jonathan@daikini.com>
-Date: Fri Jan 18 23:19:16 2008 -0700
-
- Additional String#% platform specific formatting failure fixes
-
-commit aa32d6fcbed79b9e2afedc00f429ea78f5c540d3
-Author: Jonathan Younger <jonathan@daikini.com>
-Date: Fri Jan 18 22:12:23 2008 -0700
-
- Fix String#% platform specific formatting failure
-
- Darwin and FreeBSD return a different string format than other platforms,
- so a different expectation is needed to match the appropriate format.
-
-commit c64dfd449dc89ec0016f14afd7f85522dbaa4148
-Author: Jonathan Younger <jonathan@daikini.com>
-Date: Fri Jan 18 21:05:44 2008 -0700
-
- Moved String#% specs to ruby/1.8 and fixed to work with rbx and MRI
-
-commit e5e7f44983f1dbbc79726776b56a9cc7cb910e9f
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 18 19:53:50 2008 -0800
-
- Updated IO excludes.
-
-commit b8b549dbc1aaf63e15717c3902d4485c97f845f7
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Jan 18 21:40:01 2008 -0600
-
- Add regexp matching for output matcher and enable warning specs for syswrite.
-
-commit 004bd58b597034cbe734d9b7da318135a689190f
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Fri Jan 18 21:06:38 2008 -0600
-
- implement some of Marshal.load
-
-commit 2c52db8022f060866d839992aaa6bff0f61963cf
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 19 11:21:55 2008 +0800
-
- Fix UnboundMethod#bind
-
-commit a5680db20cf998f0db292e3b9aa69ed74fb19b10
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 18 17:49:44 2008 +0800
-
- Implement UnboundMethod#==
-
-commit a1de7b0f405830f6bfe8000c051f4445135d8f63
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Jan 18 20:54:11 2008 -0600
-
- Added some specs for sysread/syswrite on a file and p flushing to File.
-
-commit e7bc994d96398519ca205e87dec8e775bb0e67c6
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Sat Jan 19 01:31:46 2008 +0100
-
- Fixed File#utime segfault
-
-commit 9887c6135e9353c3094dcf3c76d8e788b98f2bed
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 18 22:00:10 2008 +0100
-
- Added Time#strftime specs for '%U' and '%W' patterns.
-
-commit 0338fb5adb325e58d1ce61bccc9310fc7284e235
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 18 20:35:23 2008 +0100
-
- Added two testcases for String#% rubyspecs ('x', 'X').
-
- There was a bug in JRuby's sprintf, which wasn't
- detected by rubyspecs.
-
-commit 97db9fb72d6205227d61d92ed3153331b2328f97
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 18 10:50:00 2008 -0800
-
- File#utime spec. Some cleanup of File#open specs.
-
-commit 10647cf8abfd0ea7a87d39978a22f68fdfa9fbd6
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 18 17:08:04 2008 +0100
-
- Wrapped 3 IO spec tests into fails_on :jruby.
-
- Because these tests just break the spec run completely.
-
-commit cf6195eeabe382c4267e295ab786acedaed89050
-Author: Jonathan Younger <jonathan@daikini.com>
-Date: Thu Jan 17 21:55:48 2008 -0700
-
- Fix specs that use `pwd` to use -P option so that symlinks are resolved
-
-commit 1b79705fb965ecd6fc897b6bf14c605d8325dabe
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Jan 18 15:57:46 2008 +0100
-
- Added IPAddr specs by manveru. Closes #262
-
-commit f05b96b33970e3f08da5c8992f7c6cb710649f42
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 18 02:23:15 2008 -0800
-
- Fix spec for IPv6 environments
-
-commit 2007019ebad7974d7a54e6d599320675548313f0
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 18 17:39:09 2008 +0800
-
- Fix UnboundMethod#inspect to use regexp
-
- * Also aliased UnboundMethod#to_s to UnboundMethod#inspect
-
-commit c47b473b99b59074673adb7e8d50a250e34436e7
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 18 17:37:29 2008 +0800
-
- Use a regexp to match the inspect output instead of deviating on rbx
-
-commit 8dc2a2b3115a49a15ed931301b1999560ee27db5
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Jan 18 01:05:14 2008 -0800
-
- Fix up specs and finalize LongReturnException
-
-commit 7c30ca7337b56a4194eb58952f74662e222b7707
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 17 23:23:27 2008 -0800
-
- Add support for return in a block obeying ensure properly
-
-commit c06fc665c6bf5898163f2854b93d62b8b314216e
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 17 21:20:42 2008 -0800
-
- Changed Exception#backtrace to return an MRI compatible one.
-
- * Exception#awesome_backtrace returns an Rubinius Backtrace
- instance, as Exception#backtrace used to.
- * Added templates for Backtrace specs.
- * UnHACKed lib/test/unit to use the #backtrace as expected.
-
-commit a29f35c5a45776f10132c3ce0ef058b1e98a4f75
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Jan 17 20:18:04 2008 -0500
-
- Guard failing Process.setpriority spec, add an exclude to CI
-
-commit 333d5c6920c01366c8b2887ecc7e33f775210c00
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 17 16:50:31 2008 -0800
-
- Specs and fixes for Class.inherited.
-
-commit ac90d87a69c19c441b854660105d21ed771989f0
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Thu Jan 17 16:37:31 2008 -0800
-
- One more step into the foray of bootstrap madness... removed useless 0 from lasgn nodes. needs full clean
-
-commit 0dbabefd081be4890d0d789a9c3ec122b9196cf8
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 17 12:00:55 2008 -0800
-
- Fixes to enable RSpec 1.1.2 to run the spec/ruby specs.
-
-commit 9bd611ff5c5b411518c2f4ce5d3cd4b93f4bcebe
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 17 08:25:24 2008 -0500
-
- IO#puts, #isatty fixes from Dan Lucraft, slightly modified.
-
- * The #puts spec exposed an issue with String#suffix? which Ifixed in
- fa9a6c which means IO#puts did not need to be changed.
- * #puts spec uses output_to_fd.
-
-commit 3f519a98bbc3a66d59884add5fcd98d5ca095149
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Jan 17 08:02:51 2008 -0500
-
- String#suffix? specs and correct behaviour.
-
- * The suffix can be the entire string, there is no need for it to
- just be a substring always.
-
-commit ca6fa9cd760b06827f4f953ff28e8baed357f447
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 17 12:48:20 2008 +0100
-
- Additional Date specs
-
-commit 8541022ffc918879142ecb3707e977050f774ece
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 17 00:47:04 2008 -0800
-
- Added ?d, ?e, ?f to Kernel#test.
-
-commit e6f36980c2c94414e5c051b35d9ce403c492f1a2
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Jan 17 02:18:25 2008 -0600
-
- Fix my oops; missing 'do' for the fails_on
-
-commit 44483d8e414f107b3202cc69b8cdfbbe1222ee33
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Jan 17 02:07:57 2008 -0600
-
- Add a fails_on guard to IO#printf spec for JRuby; output dies otherwise
-
-commit 53a36c934ec44fad7e6d18424cb13b37496cf720
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 16 18:39:34 2008 -0800
-
- Updates to compiler and core to protect Fixnum#/.
-
- * Added compiler plugin SafeMathOperators.
- * Added very simplistic way to pass flags to the compiler.
- * Added -frbx-safe-math flag
- * Changed core Fixnum, Float, Bignum, and Numeric methods
- to use #divide rather than #/. Aliased #/ to #divide.
- * Updated Rakefile to send flag when compiling core.
-
-commit feb260b904d87487428b558f7b7e9ac0170c160c
-Author: Ryan T Mulligan <ryan@ryantm.com>
-Date: Wed Jan 16 22:47:02 2008 -0600
-
- very minimal SHA1 specs
-
-commit 511732d932d2fe934968c78b89cefa46e699b996
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Wed Jan 16 16:30:40 2008 -0800
-
- Moved old spec excludes to new location and deleted all old
-
-commit cae6bba077190e158ceee7b8991daf16fd8c55d1
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Wed Jan 16 13:36:19 2008 +0100
-
- Added more Date specs
-
-commit 75d49657f31091d37dfdba1fc5487164db861802
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Jan 16 15:58:42 2008 -0600
-
- more specs for TcpServer and TcpSocket
-
-commit b1d45cb0fdc573bfe5995456d846c11747d48b90
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 16 13:31:33 2008 -0800
-
- Implement ObjectSpace.define_finalizer, using WeakRef.
-
-commit 4e8a0d264dc7d5a4866a1a1b83238bebb47e4ab6
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 16 21:51:52 2008 +0100
-
- Removed platform-specific specs in spec/ruby/1.8/core/signal/list_spec.rb
-
- There is not direct way to know if a signal exists or not, since it all
- depends on <signal.h>. In practice, there is no real risk for rubinius
- to miss a signal.
-
-commit 32537f8d3378154f7f52c278cd56a7d4159a3446
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 16 12:41:54 2008 -0800
-
- Added IO#printf, fixed Kernel#printf to use IO's.
-
-commit e7bccb3f38f6ace3cb25a9f227ab5f6b1d2be346
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 16 21:19:48 2008 +0100
-
- Signal.list spec now passes. bin/ci removed list_excludes.txt
-
-commit b3a6461af30f2c144b4ee65e8539c51291e0156b
-Author: Jonas Pfenniger <zimbatm@oree.ch>
-Date: Wed Jan 16 20:03:15 2008 +0100
-
- kernel/core/signal is no more platform dependent
-
- * Now publishing platform.conf with rbx.platform.signal.* (only using the ones
- defined in MRI's "signal.c")
- * Signal::Names is now published with those values on @after_loaded@
- * New method: Signal.list => Signal::Names
- * Added EXIT=>0 and CLD=CHLD exceptions (see "signal.c" in MRI)
- * Updated the corresponding specs for more details (on FIXME, please help !)
-
-commit bdbd712a5953f011f8d6f1142d50a452e1607f65
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Jan 16 13:42:01 2008 -0600
-
- updated Continuation excludes -- Kernel#callcc specs still bleedover
-
-commit 22d32d3461660ee7cd29760163b622fc94b6ea5b
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Wed Jan 16 01:55:21 2008 -0600
-
- apply Marshal.dump patch by Justin Bradford. #252
-
-commit 513de8ab67ab9c017285a48108ccceb185ebaf24
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 16 16:44:34 2008 +1100
-
- Bunch of Debugger fixes
-
- * Debugger now has proper quit behaviour, which causes
- the debugger to remove all breakpoints, clear the debug
- channel, and resume the debuggee.
- * Fix singleton(-ish) semantics of Debugger; essentially,
- only a single Debugger instance can be instantiated at
- one time.
- * Added a bunch of specs for the above
- * Changed Rubinius::VM.set_debug_channel to accessor
- style Rubinius::VM.debug_channel.
-
-commit 2174009b215ce2f0445fc8df4711e7e6c64b0332
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Tue Jan 15 21:59:30 2008 -0600
-
- add Marshal.load specs
-
-commit ec002dd0f0daddedaa5241c4f8f6d85fad0e9768
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 16 09:47:28 2008 +1100
-
- Move VM under Rubinius namespace
-
-commit 983c54400542a03535accf2705ae227ae58970dc
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Tue Jan 15 15:24:10 2008 -0600
-
- Added spec for File.new coercing filename using to_str.
-
-commit ff6a081de28711b0d8c1136e6e4272baf769043c
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Jan 15 14:29:43 2008 -0600
-
- since DRbObject is within DRb it should be a subdirectory but mkspec generated the wrong path to helper
-
-commit a48cbbd3f5da3c971a215423b3e27b058de04196
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Jan 15 21:15:09 2008 +0100
-
- Add more Date specs
-
-commit 9de289f1bbae86b12bc383e7e535de404f8aaa5f
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Tue Jan 15 14:58:31 2008 -0500
-
- Add a servent class to StructGenerator for Socket.getservbyname
-
- Also, add Socket.htons and Socket.ntohs for byte order encoding
-
- And complete Socket.getservbyname along with specs.
-
-commit d9e37ff3c0f975a418fafbc7163ee1a9717dd92b
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Jan 16 03:31:05 2008 +0800
-
- Fix Proc#[] calling the wrong #call method
-
- * Re-aliasing in Proc::Function because aiases don't follow subclass
- methods
-
-commit 2273c919e80ab7186e3139941dc4d73a292bcd2d
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Jan 15 19:30:23 2008 +0100
-
- Add add and minus specs for Date
-
-commit 1325e22c11c48c366d9f0387823de5941b59df66
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Jan 15 16:35:23 2008 +0100
-
- First specs for Date object
-
-commit a3b76d162e58e75b4523151bb6911c840db8319f
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Tue Jan 15 12:58:14 2008 -0500
-
- Implement Socket#pair (and Socket#socketpair) with corresponding spec.
-
-commit 836f1cf828ab62606a6b0e2f7313228b7482dcbe
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Jan 15 11:47:11 2008 -0600
-
- generate spec files for DRbObject
-
-commit ef99f25be36f6ccd33b297bed14c1175847f1ecc
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Jan 15 11:31:08 2008 -0600
-
- generated spec files for DRb with a basic spec for DRb.start_service
-
-commit 9637cf1e77efd1a3b53e6c4d82a7c7afe8509621
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Jan 15 18:48:09 2008 +0100
-
- Eliminate stdout from IO#dup spec runs.
-
- At least, under JRuby it was printing things like:
- "No such file or directory".
-
-commit 30a2fce2a4fd7e840586ce8ae390ecb632c8bee0
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Tue Jan 15 23:00:32 2008 +0800
-
- Implemented Dir#pos which fixes #pos, #pos=, #seek, and #rewind specs
-
-commit 013ab2e88ecd8d887c6a0009e7f8d2add4849143
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Tue Jan 15 22:52:26 2008 +0800
-
- Revert "Updated CI excludes"
-
- This reverts commit 15d1c7674496a99bf1d5ec42420864b22bf1569a.
-
-commit 15d1c7674496a99bf1d5ec42420864b22bf1569a
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Tue Jan 15 21:50:55 2008 +0800
-
- Updated CI excludes
-
-commit 18470055d83a43c3371609aaac4471767adb3b1b
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 15 04:32:54 2008 -0800
-
- Make TCPSocket.new work. Use socket library names for familiarity.
-
- Make inheritance hierarchy of sockets better match MRI.
-
- Add syscall names to Errno.handle checks.
-
- Spec less of the socket library.
-
-commit bd34303986a068b40cce1366c85ea288fc24a3f5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 14 23:55:38 2008 -0500
-
- Regexp subclasses work now. Documented Regexp.new.
-
-commit 343acee55519fc97a35a9d50e8bdcfd679d432b7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 14 23:49:47 2008 -0500
-
- More Regexp.new specs.
-
- * Subclass initialization verification.
- * Multibyte options are case-insensitive.
-
-commit 758a468ffafdeea78016dbbce78f21e19f6735f6
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Mon Jan 14 18:22:32 2008 -0800
-
- Fixed require modifying LOADED_FEATURES even if require raises an exception
-
-commit 5c8ff74b64f7ec6bd4c413b0e0e93334dff009ca
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 14 21:57:19 2008 -0500
-
- Fixed Regexp#kcode specs.
-
-commit 34867cc1f1f3b7ac3145fb926491c0dc44629312
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Mon Jan 14 22:41:58 2008 -0800
-
- Add Socket::getaddrinfo. Raise SocketError appropriately.
-
-commit e2009a38a8e1ef0dff6394b92a677f3120280f72
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Mon Jan 14 22:39:55 2008 -0800
-
- Remove platform-specific code, remove spec of socket library behavior.
-
-commit 5afa1c34808c68c17bc02f5f76c42d64efdd7dd2
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Tue Jan 15 00:32:14 2008 -0600
-
- Modified retry-in-rescue example to test nested blocks and be clearer.
-
-commit 17fd0cb781ec90d268668c5678e1135eb5f6e323
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 22:28:46 2008 -0800
-
- Added Module#autload?.
-
-commit 96ca83312d1b5a1e38e25f94504f6f69a137b96d
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 21:50:37 2008 -0800
-
- Updated CI excludes for language.
-
-commit ef4f49de672d40f43f53dadff1aa8fdbcafe1d45
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Jan 14 21:37:23 2008 -0800
-
- Fix specs for dregx change, fix regexp for specs
-
-commit 5cd2ef2a173394910249d93d8ef433d220f2d9a9
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Jan 15 16:32:15 2008 +1100
-
- Fix breakpoint specs
-
- The breakpoint specs were interfering with one another,
- due to the fact that each was modifying the bytecode for
- a fixture class that is compiled only once.
-
- Workaround this by saving off the bytecode and resetting
- before each test.
-
-commit 29bf88b07f87182d94fcf7c550724efc07067239
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 20:00:27 2008 -0800
-
- File spec/data/critical.txt is empty! Congrats to everyone!
-
-commit 8082760cc2215742464a9846295ec4a8a0c49244
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 19:37:33 2008 -0800
-
- Removed Module methods from critical excludes.
-
-commit d075c115087c001d0d35562aeeea21efadc5e3b6
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 18:53:46 2008 -0800
-
- Added not_compliant_on :rbx for class variable specs that use Fixnums.
-
-commit 23f1b523da2478f2ad962f0045dca3e7034f9b56
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 18:16:46 2008 -0800
-
- Multiple fixes for #class_variable_get/set. Updated CI excludes.
-
-commit dbc5675058aa426dbfbbf7489d5393819edb16f8
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Jan 14 16:42:27 2008 -0800
-
- Fix attrasgn usage to pass specs
-
-commit 3e250999d6f1a7fdaf2bb5cd169a1024e2ab5ddc
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 16:07:08 2008 -0800
-
- Removed leftover excludes for compiler[12].
-
-commit a2b8b5511e79b47fa7777e716ee16511fdec3fd4
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Mon Jan 14 16:47:21 2008 -0600
-
- Remove the goofy Hash#delete spec and replace with two others.
-
- The old version of this example depended on individual hash buckets having a
- specific ordering, which overreaches a bit. The new version, while a little
- cumbersome, should work correctly regardless of hash implementation or hash
- and bucket ordering.
-
- I also moved out a few lines that were unrelated to this example into a
- separate one.
-
-commit 67d858885f1841e9c9aa295150da3c472949198d
-Author: Gregor Schmidt <ruby@schmidtwisser.de>
-Date: Mon Jan 14 14:57:53 2008 +0100
-
- Passes Module#extended specs by added extended method to module and adding a call to it in Object#extend
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 302ba965def902ccc5d3e97ed6bd5841f09d8f00
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 14 14:14:08 2008 -0800
-
- Philipp Brüschweiler's patch for String#%, #242.
-
-commit abaf2efa9e467bb7b5ef3b53b8490f1e056a832e
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Mon Jan 14 16:59:23 2008 -0500
-
- Another round of socket specs, and add a Rake StructGenerator to find sockaddr_un if it's available
-
-commit f5d0e435023a80bcc4c101a8d3ab9fc056a14c80
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Mon Jan 14 15:52:47 2008 -0500
-
- More socket specs
-
-commit 7bbc927a9d8a6f9202025be62a3db861ced3216f
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Mon Jan 14 14:58:34 2008 -0500
-
- More socket functions and specs.
-
- Namely, this implements a Socket::SockAddr_In class that is a FFI::Struct around the
- sockaddr_in C struct. This gives us a better ability to inspect what's going on in the
- struct from the Ruby side of things.
-
-commit f351c6d3d8831705f0398abdae240abba9252a75
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Mon Jan 14 11:09:04 2008 -0500
-
- More socket specs update
-
-commit cb8ce936394cafa00f77008083bccf9cded59f28
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Jan 14 14:39:41 2008 -0500
-
- Split process/constant expectations into Linux and BSD sections
-
-commit 0964d53edd80367611f63cd6eb4b294ec898cc8d
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 14 10:04:53 2008 -0500
-
- Revert IO#dup spec to unmask errors, removed FileUtils dependency.
-
- * Any errors occurring in specs should generally be raised normally
- so that any potential problem or spec deficiency is exposed.
-
-commit 04f542e928c5fa0df460d8f11b4d87e008fa343f
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Jan 14 13:36:49 2008 -0500
-
- Update Process::Constants to fetch values from RUBY_CONFIG
- Update process/constants_spec so that it passes on MRI as well
-
-commit 0ad02b57fd040196d11662bd1ab9b259dc2ce6d2
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Mon Jan 14 12:23:20 2008 -0600
-
- squash Marshal.dump bugs
-
- * fix order of evaluation problem
- * put more objects in links and symlinks hashes
-
-commit ed98b9a14459b011f97fee5c781410c4d413ed9a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 14 17:36:00 2008 +0100
-
- Updated Arry#pack specs to guard for always big-endian JRuby.
-
-commit 550f07dc7551573a975183209ba8904fdbd62607
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 14 15:57:04 2008 +0100
-
- More robust cleanup in IO#dup specs.
-
- Without it, mspec against JRuby was reporting EIGHT
- failures, while only 5 tests are actually exist.
-
-commit 1ea4f82183190c4c87da48c381f1db417c7403ac
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Mon Jan 14 09:26:36 2008 -0500
-
- Updated some socket specs
-
-commit e20ab7ea377cd39209011b44204d2688b53611c5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 14 02:23:26 2008 -0500
-
- Fixed Regexp.new kcode setting, improved Regexp specs.
-
- * Regexp kcode can be upper- or lowercase.
- * More robust Regexp#options and #inspect specs.
- * Updated Regexp excludes.
-
-commit cc71f359aa65101d2c00cfbb0c396b7cdc697ef2
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Jan 14 01:25:21 2008 -0800
-
- Improve bytecode performance a tiny bit, fix Kernel#`
-
-commit c561368c03c605de41746fac2ce5a6386fcf4f54
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Mon Jan 14 03:17:15 2008 -0600
-
- Quarantine a suspicious TCPSocket.new speck failing on MRI on OS X.
-
-commit 71a9cf2afbbe6903b8d652b3ee201957e0b0c633
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 13 22:58:16 2008 -0500
-
- Finished IO#print specs.
-
-commit ff75b95a690051736f49a9a113d21027f7f03e92
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 13 22:44:21 2008 -0500
-
- IO#dup and specs.
-
-commit 02f1c03f4df3327ce1ddd20e2249a5e9830627a0
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 23:11:48 2008 -0800
-
- Justin Bradford's patch for Float failure, #237.
-
-commit e43c148954ad609c438e5a4f14811c0349239374
-Author: Matthew Draper <matthew@trebex.net>
-Date: Fri Jan 11 21:35:57 2008 +1030
-
- Kernel#Integer is very fussy about the strings it accepts.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit adad84f7a26bf40809366f2f7b6acfc61dcfefc2
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Mon Jan 14 00:31:12 2008 -0600
-
- Class.inherited gets invoked regardless of visibility
-
-commit c746fad52e9503d04c3cf65de979b0a5a9f9e495
-Author: Matthew Draper <matthew@trebex.net>
-Date: Mon Jan 14 10:25:58 2008 +1030
-
- Many of Kernel's methods should be module_functions.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 0b8a4bfefaed3179f96721fdde35e32ed8ff7263
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 21:43:45 2008 -0800
-
- Update CI excludes for Regexp. Remove empty CI exclude files.
-
-commit 89a87edbc61a877621c6f43266000aff32e92ae7
-Author: Warren Seen <warren@warrenseen.com>
-Date: Mon Jan 14 07:12:13 2008 +1100
-
- Fixes visibility of methods passed to Module#module_function
-
- * Make instance methods versions of functions passed to Module#module_function private
- * Correctly identify visibility in error message raised in Module#set_visibility
- * Added specs for module_function
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 25d6fa558f88732d1aa28c68b0eb7c9910366243
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 13 20:42:52 2008 -0500
-
- Updated Regexp excludes.
-
-commit 69e200276898f1c9208be527bdc64c318c56f86e
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 13 20:24:42 2008 -0500
-
- Shared spec for Object#dup and Object#clone.
-
-commit 8a6fe609224c126bcf86987edd3f0690fc9e45ff
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Jan 13 18:19:56 2008 -0500
-
- VM calls private hook methods now. Object#dup and #clone specs.
-
- * Object#dup and #clone have rudimentary specs which also partially
- confirm the private hook fix through #initialize_copy.
-
-commit 84773b6ba63ea6f715dcc4e99e0a8a2e2b739152
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Jan 11 10:46:15 2008 -0500
-
- Specs for Regexp.{new,compile}, updated excludes for same.
-
-commit 6c1603723bba7d58203aa9b03bbf92b4900e53d1
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 18:49:40 2008 -0800
-
- Numerous fixes for File::Stat.
-
- * Implemented readable(_real)?, writable(_real)?, executable(_real)?.
- * Implemented a number of helper methods like rowned?, rgrpowned?,
- superuser?, rsuperuser?. Made these private.
- * Implemented owned?, grpowned?.
-
-commit d1b05e0bf98a3cdfda8a3d2398e78035a49c0c66
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Jan 14 12:25:41 2008 +1100
-
- Deprecate meta_send_stack* opcodes
-
- The code path for these opcodes is almost identical to
- send_stack, and no measurable performance improvement
- comes from using them.
-
-commit 154fe5e1faad94f371c51a979240a6d7f5cd8909
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 20:07:12 2008 -0500
-
- Implement BasicSocket#setsocketopt for String optvals, and add a spec for it.
-
-commit c21636d6b2502db344049e7dc62d42ff8c18b040
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 19:34:50 2008 -0500
-
- Add specs for BasicSocket#getsockopt
-
-commit 1584f41148b8d8967df4c3ee6376b59919cb7db3
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 19:24:58 2008 -0500
-
- Add Array.pack for i, s and l arguments.
-
-commit 7131e187e19bf0889f8ece802495865f7b3f1e5c
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sat Jan 12 13:55:20 2008 -0800
-
- Cleanup String#split, add edge case check
-
-commit 4ff46602c8a54a61697bb8d9eaa9ae89e56f7abe
-Merge: 1c95721... 908ccff...
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 14:49:48 2008 -0500
-
- Merge branch 'socketspecs'
-
-commit 908ccff0a854038372dad0780e1de35727e2d657
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 14:49:17 2008 -0500
-
- Some TCPSocket spec mods
-
-commit 1c95721bd873c4b30c187bfa7673cd7e3568a0fb
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 10:20:43 2008 -0800
-
- Fixed File::Stat specs to output method name correctly with -f s.
-
-commit acb7505d41aa789157e50962253e686827a702d5
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sun Jan 13 12:07:06 2008 -0600
-
- update CI excludes
-
-commit c8db419ae06e9642b346e1bcae99367f3b72845f
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sun Jan 13 11:55:50 2008 -0600
-
- squash bug in Marshal.dump
-
- symbols need a separate links hash
-
-commit eb953ae2c3fdeac4ae13b5461246b9f51b0f39cc
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 09:40:39 2008 -0500
-
- Make the spec text more verbose
-
-commit db013bc06cef2dea4b77a215d4437e2172b391b6
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Sun Jan 13 09:04:08 2008 -0500
-
- Commit an updated spec that shows the failure on rbx and passes MRI,
- w.r.t. opening a module and aliasing a private module function from that
- module.
-
-commit 759a9f8bd70ead9b5d2fc67b3872e3bf3bd34001
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 01:45:07 2008 -0800
-
- Updated CI excludes for File::Stat.
-
-commit 107feb74eaf01c09d8c5bd14ac29e53900a5ed26
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 13 00:38:00 2008 -0800
-
- Modified File, File::Stat, FileTest specs.
-
- * Added templates for File::Stat specs.
- * Added shared specs for some File::Stat methods.
- * Altered toplevel File shared specs to take the name
- of the constant to enable File::Stat to use a fixture
- proxy but still have the correct name show with -f s.
- * Split out specs for missing files because File.[l]stat
- behaves differently than e.g. File.file?.
-
-commit e1a13f7ecfe7f2d18fd6ac20dd8c63cbd6d11855
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sun Jan 13 02:26:09 2008 -0600
-
- implement more of Marshal.dump
-
- obj.marshal_dump, IO.write, depth limit, exceptions
-
-commit bc070232eab1bfa5d294897487339d259a406e74
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sat Jan 12 15:16:21 2008 -0600
-
- implement more of Marshal.dump
-
- Float, obj._dump
-
-commit ad7a67ed5a3a1399773dda74c4688e9b00c8f9aa
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 13 01:46:36 2008 +0800
-
- Update CI excludes for Process.initgroups
-
- * It was affected earlier by the Enumerable lambda/Proc-arity issue
-
-commit 7b7a1e3e4712f35688823543b7a7c3c25405ef77
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 13 01:40:22 2008 +0800
-
- Fix implicit block in Enumerable not passing the arg check in Proc#call
-
- * Changed instances of lambda to Proc.new and arity once again
- returned the correct value. Will investigate, but until then, this
- passes.
-
-commit d9c21aaa18044bd54ed3b1f6ec5daacf9bd250fa
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 13 01:02:00 2008 +0800
-
- WIP Fix block argument checking
-
- * Passes all the proc/lambda call specs
- * However, specs for methods that add implicit blocks like
- Enumerable#all fail because their arity is somehow 0 - excluded for now
-
-commit 3d400bc8a91a793f49dcf5655dc28e6141d999d0
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 12 20:03:26 2008 +0800
-
- Update CI excludes and add Module#class_variable_get to critical.txt
-
-commit 6bf7b8616837649ddd2c1435a54c86ed30910985
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 12 19:27:12 2008 +0800
-
- Move custom classes for NoMethodError specs into fixtures
-
-commit 10cc61bb816ae67a7fad5b135f66d263d7ee07b1
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 12 19:20:27 2008 +0800
-
- Swap the protected/private method calls around in the NoMethodError spec
-
-commit 6b2e66d3f9222b52cdae42b57206363ad47949e2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sat Jan 12 11:51:28 2008 +0100
-
- Corrected Module#alias_method spec.
-
- Now it should pass on both MRI and JRuby.
-
-commit 67f74a936655b72c689d09c77d9fbe9d7194a0a0
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sat Jan 12 17:50:22 2008 +0800
-
- Fix proc/lambda/Proc.new arity
-
-commit 03440114d5e3f07111cdcae3657258cae4c803e7
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 11 13:24:26 2008 +0800
-
- Fix Kernel.Integer parsing of invalid String
-
-commit 598598c10c66de38b52a8092cdd2fa99604eda6e
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Sat Jan 12 00:21:22 2008 -0800
-
- Clean up expectations to use a common list.
-
- Update excludes for other things using shared glob specs.
-
-commit 55aa5a1f10655618e45d0ec84502cc13c982227e
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 11 23:31:45 2008 -0800
-
- Specs for File.fnmatch handling of Regexp specials.
-
-commit 7c0dc7edfcdf4948047ba051b0cbed7ba761f1dc
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 11 21:57:10 2008 -0800
-
- Dir.glob support for {}.
-
-commit 9a097fe5634c1109919d1e120b1276827371c332
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 11 19:42:31 2008 -0800
-
- Exclude {} specs for WIP Dir.glob
-
-commit ccdc6f5ae5fabbd0d2c32072811e2ecf7cca8987
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Fri Jan 11 21:40:04 2008 -0500
-
- In MRI, you can alias private module methods. Not so here. This spec catches it.
-
-commit 8b402d1e32dc283124375374532024f6cfe7020d
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 11 17:35:21 2008 -0800
-
- Added toplevel shared specs. Converted File, FileTest specs.
-
- * spec/ruby/1.8/shared is the directory for sharing
- specs across multiple classes.
- * Added methods for FileTest
-
-commit c6aea2e10d7a4d0ee14175d5b79894e1e11699b1
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 11 15:59:34 2008 -0800
-
- Converted File/FileTest#exist(s)? to toplevel shared specs.
-
-commit 06a5d8a3d5874303a71e4e9b939b44c204041edf
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Fri Jan 11 17:39:39 2008 -0500
-
- Fix failing specs in udpsocket/open_spec.rb
-
-commit 530e40005d09140fdb55608890f0994f3a48d8be
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Fri Jan 11 13:11:58 2008 -0500
-
- Observer specs
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 0907a20d2bad2207be8e937c403c49634f3a23b6
-Author: Caleb Tennis <caleb@tarknology.com>
-Date: Fri Jan 11 12:24:44 2008 -0500
-
- Add observer to lib and base-spec file
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit ec0ff1dfa1ee9de38d35537bec5071f6bb31cf7f
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Fri Jan 11 13:11:02 2008 -0600
-
- implement more of Marshal.dump
-
- Array, Hash, links
-
-commit 640e81394ad2385b535b08b535a4fca06a5f3eec
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 11 10:24:54 2008 -0800
-
- Added CI exclude for failing MD5#== spec.
-
-commit 3c238cc9f4b32f63bc681bd64a507fc2ff49b017
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 11 10:00:50 2008 -0800
-
- Converted Socket specs to use subdirs for subclasses.
-
-commit 2b98950eaa33b532fcef079b0997f9793228c608
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Jan 11 09:23:23 2008 -0500
-
- Specs and implementation for IO#print. Closes #222.
-
- * IO#print without arguments spec excluded due to a lack of a lower
- level output matcher. To be added shortly.
-
-commit d65c8c6899cf8e4a1fa56486cf417451e0c7fce6
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Fri Jan 11 19:19:56 2008 +0100
-
- Fix String#* spec.
-
-commit 481e075bfeb9f8fb3bd4db645129a463307de09e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 11 17:41:07 2008 +0100
-
- Improved digest/md5 specs a bit, some new test cases.
-
-commit 67f48236da3d114638310ab37bcc706719bf7fcd
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 11 11:59:06 2008 +0800
-
- Updated Method's specs as Method#inspect and #to_s deviates on Rubinius
-
-commit 76846154773a87bc8d99c97e91250abda22f6378
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 10 19:24:57 2008 -0800
-
- A bunch of fixes found while working on Socket
-
-commit f69613740662d3ba4f85573c6c860a5987b29765
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Fri Jan 11 00:17:14 2008 +0100
-
- Fixed Time object for throwing errors where appropriate
-
-commit 9396386f700646d0c55b9a7a75bc399dfe055d2c
-Merge: baae72c... 4d2e53e...
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 10 22:39:24 2008 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit baae72cc47c9c1f41c3478732b7bbfdfe514024a
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 10 22:39:11 2008 +0100
-
- Fixed Time#xmlschema conversion
-
-commit 4d2e53e7376080e42b84dca486debcf4f153f32f
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Thu Jan 10 15:17:00 2008 -0600
-
- implement more of Marshal.dump
-
- negative Fixnum, Bignum, Regexp, Struct
-
-commit abdbcd70bba99149b7391effa48452971407b4d2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 13:18:52 2008 -0800
-
- Annotate Rubinius spec as non compliant.
-
-commit 2a2b3a016bfd70eb8cd14b6a043d59f119e0ad7c
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Jan 10 21:52:18 2008 +0100
-
- Re-added divmod specs for Ruby/JRuby, with comments.
-
-commit 2f079e416e4389b091c8c9b5522d49c6f356c6c9
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 12:29:39 2008 -0800
-
- Updated Bignum#divmod specs.
-
-commit 7a5c79415f2e6555bf2c69e416f6d3189f2e0c3e
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 10:46:05 2008 -0800
-
- Simplify wording of VM.coerce_to_array specs.
-
-commit abc1237a0c96ecd77baee6ecbcf71a7bba338139
-Author: Ryan T Mulligan <ryan@ryantm.com>
-Date: Thu Jan 10 12:35:23 2008 -0600
-
- md5 is now fully 1.8.6 MRI compatible
-
- * MD5 digest specs
- * Specs pass on MRI and RBX
- * Platform::POSIX.memcpy hooked
-
-commit 9f991bd850c51cd624169b51768c2215d4b56edb
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 11 01:35:15 2008 +0800
-
- Method#bind raises TypeError when binding a method from a non-descendant
-
-commit fc029ab13ded7eeb1ba838b99f00e2f14e232d65
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 11 00:12:44 2008 +0800
-
- Implement that Precision.induced_from raises TypeError in certain cases
-
- * For case when mixer class doesn't define it's own induced_from method
- * Update CI exclude for precision
-
-commit 35d1a7bc3694bdcc327dd5ac89ca0f261e0bd705
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Jan 10 16:57:38 2008 +0100
-
- Added one more Bignum#divmod testcase, known to fail on some implementations.
-
- In fact, this test case fails on Rubinius and JRuby.
-
-commit 955676613f5e38cf029998e2712013e4575dd03e
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 10 16:12:37 2008 +0100
-
- Changed spec failing on MRI
-
-commit f7b4f3fe02833081cc7f40c0feebbef0e5012f10
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 10 15:58:23 2008 +0100
-
- Fixed Float#divmod
-
-commit aff6e1fc1a16eb9e7b7e207ebc2234154d891a92
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Jan 10 22:53:25 2008 +0800
-
- Converted VM specs
-
-commit 969c0d8e0dbf43caa3999976cf259c623ff05ff1
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Jan 10 22:50:17 2008 +0800
-
- Convert Options specs
-
-commit cc7c9dcb6697dea991342328a9b00fa01740e809
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Jan 10 22:28:42 2008 +0800
-
- Replace example blocks using 'specify' with 'it'
-
-commit 7a5fa30a71072346abda17cdb79c2aa3b3922239
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Thu Jan 10 15:27:49 2008 +0100
-
- Fixed Bignum#quo
-
-commit f2aafe4a352fd884d217b0361d2e7e617f58ebd5
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Jan 10 20:38:45 2008 +0800
-
- Converted Generator specs and generated new CI exclude files for it
-
-commit edb7e341d9b3ab1c3bdc08bc57ec55d6bf8ace8b
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Thu Jan 10 19:33:53 2008 +0800
-
- Remove generator_spec.rb because of spec conversion
-
-commit bb4de530c5980f0205875bdb5548e40a22ef6a62
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 01:45:47 2008 -0800
-
- Updated CI excludes for library because of spec conversions.
-
-commit 61a66f69fe3a94d9ad5568ee2dd846cfc0b5211a
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 01:45:17 2008 -0800
-
- Converted Socket specs.
-
-commit 167e05039eeeeb959f7aab1f3611268170037296
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 00:59:20 2008 -0800
-
- Converted YAML specs and added template files for other methods.
-
-commit 027f568f79222cdee492f088edf8a2f14250635a
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 00:47:35 2008 -0800
-
- Converted ostruct specs and added template files for other methods.
-
-commit e964c9342ade9341518bc46cf998703a2c16aa2b
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 00:39:49 2008 -0800
-
- Converted ftools specs.
-
-commit 6263280187c81b0ee27893eae90f9d6a8a511b65
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 00:26:40 2008 -0800
-
- Converted Etc specs.
-
-commit 7b94284063222eef42b9b7ad0d1c820adabe210d
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 10 00:39:01 2008 -0800
-
- Fix a few more Kernel bugs
-
-commit 1c58ee51f388da0490a7815c9a1787d21e151aab
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 10 00:08:15 2008 -0800
-
- Fixed path for mock dirs in Dir specs.
-
-commit 320f7e7d3503d53216733f9b6eb75c387155ae5f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 9 22:44:37 2008 -0800
-
- Converted StringIO and Singleton specs.
-
-commit 5a94a7c3b73103c99a337a089f9cf2c7e601d2bc
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 9 21:50:14 2008 -0800
-
- Converted stdlib Singleton specs.
-
-commit 12864a2057d1b6f5fa392f34d1fa3e8873a8c566
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Dec 24 23:06:12 2007 +1100
-
- Initial commit of Rubinius Debugger
-
- * Created Debugger class for debugging Ruby code in Rubinius
- * Added Kernel#debugger convenience method to set a breakpoint
- and activate the debugger at the point at which the
- debugger statement is encountered.
- * Implemented the following debug commands:
- - h: get a listing of commands
- - b: list breakpoints
- - b <Method>: set a breakpoint at the start of the method
- - n: Step to the next line
- - ni: step to the next VM instruction
- - c: continue execution until the next breakpoint
- - l: list source code around the current breakpoint
- - d: decode VM bytecode around the current breakpoint
- - v: display local variables and their values
- - vs: display the contents of the VM stack
- - Anything else is evaluated as a Ruby expression in the
- context of the current breakpoint (so you can, e.g. change
- the value of locals before resuming, etc)
-
-commit 01a189cc3e52e8bcc6f22bcc5713e765bba84160
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 9 10:29:27 2008 -0500
-
- Object#is_a?, #kind_of? and #instance_of? specs.
-
- * Removed obsolete kernel specs for same.
-
-commit ab9645614bbbd0bca63c215819c12cc85a1507b1
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 9 21:35:39 2008 -0800
-
- Converted specs for stdlib Time.
-
-commit 733b069f11c7136175036154a45b924cf89cc8ff
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Wed Jan 9 20:01:09 2008 -0600
-
- update CI excludes
-
-commit 01e98dee4c24838ca518610443e43473ffdcf43c
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Wed Jan 9 16:42:07 2008 -0800
-
- Fixed block args for |*a|
-
-commit dc9c1d05dd5e0e828a77acc09220f5894a9aa453
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 9 16:04:11 2008 -0800
-
- Fixed Enumerator spec style. Updated YAML excludes.
-
-commit 0363685a97df83feb0d07f40a7a5c4d7a78e2a27
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 9 14:55:53 2008 -0800
-
- Spec for String#sub bug.
-
-commit 23052eb5f993c959fdb2b327895df08e0a344edb
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 8 23:47:27 2008 -0800
-
- Implement { } matching for Dir.glob
-
-commit c90b2531d183e4534268d4699634828f29e803cb
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 8 23:44:35 2008 -0800
-
- Spec File::Stat#blksize.
-
-commit 62d2a1809936a304c0cf0b94fd28f5b83932f58f
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 8 22:47:37 2008 -0800
-
- Implement Dir.glob '{a,b}'
-
-commit d9430ad1a3e582e830a994a83d6f99e017bfbe4d
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Jan 8 20:56:37 2008 -0800
-
- Fix module X::Y; end; X::Y.name
-
-commit 1baa9468e0d89777fdb6f23e78e8ab510a19d534
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Wed Jan 9 16:16:35 2008 -0600
-
- incomplete Marshal.dump
-
- an evil ivar_as_index is added to Object to hold
- the names of modules that extend the object
-
-commit 85e98490fe45446e03801840d4628149f8977098
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Jan 9 12:26:19 2008 -0800
-
- Move compiler2 => compiler, and Compiler2 => Compiler
-
-commit 5aa5cc66e2b0196728c80eb394ec3b2dfccd77ae
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 9 10:30:42 2008 -0500
-
- Centralised specs for Object#=~.
-
-commit e1fe9f57c942460338a18e38f66fbf6feb69b4bc
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 9 13:23:59 2008 +0100
-
- Added few edge cases to Numeric#eql? tests.
-
-commit b8dfd675fad5e82ebfd50c737beb9a9b919a9c8b
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Jan 9 15:52:18 2008 +0800
-
- Remove excludes for String#slice with the fixed send in place
-
-commit d7f69f17ac30f6b3161851e8df6a1e0a7694219d
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 8 22:42:43 2008 -0800
-
- A couple more fixups
-
-commit 055d7545c7046102cd92b7054992b1b47f711c4a
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 8 22:31:50 2008 -0800
-
- A boatload of fixes done while getting flexmock and rake running
-
-commit fd7c266e52c25d151214512cc801901813630d7a
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Jan 9 11:49:02 2008 +0800
-
- Removed last array exclude due to fix in 02e6e28
-
-commit 690626f43f7b4ce888de081033eaadfba543acff
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 8 18:58:50 2008 -0800
-
- Removed subtend specs from CI run. Increase File#mtime tolerance.
-
-commit dec4f25a47a9a962b77a97dea47985fe17421e5f
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 9 13:39:51 2008 +1100
-
- Specs for stack usage
-
-commit d699f6605db86e6f6bc61d0f3a79fc1535816c70
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Wed Jan 9 10:38:06 2008 +0800
-
- Add spec to illustrate Numeric#divmod bug in MRI and rubinius (excluded)
-
-commit 8a55f3047dc0fd502bb632dc9f5bdb9668b180fe
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 8 18:32:18 2008 -0800
-
- Subtend CI exclude to (hopefully) fix the build server runs.
-
-commit 33bde75b57a88baa850edccea382e1130ed586da
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 8 17:19:30 2008 -0800
-
- Added spec/compiler2 to CI. Added CI excludes for compiler2.
-
-commit 6964fc5644fddeef2238591674786f035d9db842
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 8 17:19:20 2008 -0800
-
- Fixed up against evan's changes. ping
-
-commit 9423d1e8e9ed91fb9f0934b939899c753972cee1
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue Jan 8 20:11:54 2008 -0500
-
- Fix warnings encountered when running compiler2 specs under MRI
-
-commit d71ad87c14a4378ad2f01c49d90304c29be548f3
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jan 8 17:02:02 2008 -0800
-
- Fix a block_arg bytecode generation case
-
-commit 57199b5b468c0009512a479e13bbcf086d0d9526
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 8 16:16:07 2008 -0800
-
- Added new combo bytecode/runtime tests for block args
-
-commit 8a88699af73d272a61332e11d022bd629aa0460d
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Tue Jan 8 16:15:24 2008 -0800
-
- Improved inspect output for compiler spec objects. Added convencience methods for testing iter bytecode generation.
-
-commit 0dd9cd298cf735dc13cc2a2410ad6b5195790c11
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 8 13:19:21 2008 -0800
-
- Added subtend specs to CI. Updated subtend excludes.
-
-commit c07a5273844b32fe39090bb16d0e4ad59ecb0564
-Author: Dirkjan Bussink <d.bussink@gmail.com>
-Date: Tue Jan 8 21:28:48 2008 +0100
-
- Fixed given_spec? because of changed block_given? behavior
-
-commit 0f9a8dfee9dd1c7af1f8ba69497c8dd85539760a
-Author: Nitay <nitay@powerset.com>
-Date: Tue Jan 8 11:49:41 2008 -0800
-
- Fix setpgid spec using pipes to avoid race condition
-
-commit 09feb8677c529d04969e63d1ff4e3746037611cf
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 8 10:00:06 2008 -0800
-
- CI excludes for ruby/1.8/library.
-
-commit cda3d86fa44f1d62fe503e54f42c5c5df361b8f9
-Author: Benjamin Andresen <bandresen@gmail.com>
-Date: Tue Jan 8 08:22:49 2008 +0100
-
- Added explicit umask to File permission spec so it won't fail on
- non-standard umasks.
-
-commit 6df303e29d7fd04f4a1a0af379f4947854dd4635
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Mon Jan 7 23:20:22 2008 -0500
-
- Method#== and specs from Scott Taylor, slightly tweaked. Closes #137.
-
-commit 9b86b12be687bb29e25d0292786351d89a698adc
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 7 19:45:24 2008 -0800
-
- Added CI exclude for Array#pack.
-
-commit 17a746b0aa2c89aa9e61b8965d125e962748c20d
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Mon Jan 7 21:07:25 2008 -0600
-
- adds Marshal.dump and Float#to_s specs
-
-commit d5c19db2778e0cc3cbee5bf994b511448cb6bd78
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Mon Jan 7 15:31:11 2008 -0800
-
- Fix IO#pos=
-
-commit 21f44f03f0aa44b2f172f89ad27797c943dc618b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 7 22:03:28 2008 +0100
-
- Remove non-needed std output from Array#pack test.
-
-commit 9ec20509ad6533876bbbc984052e6b7e05d2ea55
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 7 21:50:46 2008 +0100
-
- Added Array#pack tests with empty array.
-
-commit 35170103bdba14d824780a41112f12034cb5c79e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 7 21:13:47 2008 +0100
-
- Added Array#pack tests with 'w' pattern.
-
-commit 71b00e03ce2c6424fd262d737feb991835605da2
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Jan 7 20:46:58 2008 +0100
-
- Added Array#pack('U') test with negative values.
-
-commit 7be0813127635ea54909179c9553c5052c4a3d90
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 7 18:00:03 2008 +0800
-
- Add specs for Array.[]
-
-commit 0b762336e8c6040cbbe794cece64c56bfa46c296
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sun Jan 6 23:35:35 2008 -0800
-
- Fix breakages, comment out at_exit spec (need a better way to test)
-
-commit 8896e459f1bffb7ae2da2f2aa708419e6316cb4b
-Author: Matijs van Zuijlen <Matijs.van.Zuijlen@xs4all.nl>
-Date: Mon Jan 7 14:03:03 2008 +0900
-
- Spec to demo failure of cases like "yield 1, *[1, 2]"
-
-commit 79da85bb1b1d63e617251b3a3ea6b0657c1e8ddb
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Mon Jan 7 13:04:22 2008 +1100
-
- Modified CompiledMethod#decode to use #local_names
-
- * CompiledMethod#decode now leverages new #local_names
- method to return the names of locals accessed via
- push_local/set_local etc.
- * Removed excludes, as all decode specs now pass
-
-commit 89c1026cecbb9fcd09a62139e2d28b24b5658c25
-Author: David Whittington <djwhitt@gmail.com>
-Date: Mon Jan 7 01:37:10 2008 +0000
-
- Added args to NoMethodError raised by Object.method_missing
-
-commit 0e4a02f0e2fede5d785b15a6b34c582c6ba586f1
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Sun Jan 6 12:43:14 2008 -0800
-
- Removed redundant Bignum#to_s. Moved private radix_to_s to bottom. Cleaned up to_s spec a bit
-
-commit 48446c40a759d60b7465d82b40f2911d0f7e444b
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sun Jan 6 13:45:22 2008 -0600
-
- Add some additional Math.asinh specs from JRuby.
-
-commit 7c81ca307cd01d3752a08487bc3742c8452d61c4
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Mon Jan 7 00:41:10 2008 +0800
-
- Add failing specs for Time.{local|mktime|utc|gm}
-
-commit 35816e118b327a150a2d26638f289633f5e51f16
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 6 17:56:23 2008 +0800
-
- Add spec for Time.local to handle string arguments (excluded for now)
-
-commit f9f36f5bb99ddb62e15cb9a9ddd98414e3df93e2
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Sat Jan 5 23:44:33 2008 -0800
-
- Allow Regexp to match nil.
-
-commit e650c39627b81498fc97c51725f2ac1277870e15
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Sat Jan 5 23:38:52 2008 -0800
-
- Add some IO#read specs
-
-commit 20257ecce0d3161fae7ac78454f2b8672f2c1de3
-Merge: bc576b8... e549cc5...
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 6 14:45:13 2008 +0800
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit bc576b8e26fdb43d050df4fe3ad5ed974ec85057
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Sun Jan 6 14:44:44 2008 +0800
-
- Fix handling of string-like second parameter to Time.local
-
-commit e549cc53a4905f21082a97cd6bcb279ace6d9eae
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Sat Jan 5 22:31:42 2008 -0800
-
- Don't shift more bytes than available in the Buffer.
-
-commit 71285a2a9a8d0d3e71c678872ff2a146d5b2dc16
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Sat Jan 5 22:53:51 2008 -0500
-
- Fixup the Process specs for setpgrp, getpgrp, setpgid, and getpgid.
-
- They no longer may unwarranted assumptions about the relationship
- between a progress group ids and process ids.
-
-commit 7b57b3ac6df612f81d60d3a31b030ba054b357a6
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 5 13:22:51 2008 -0800
-
- Patch from Brandon Mitchell for #195, Float#to_s bug.
-
-commit 70ddfd43fd727122f56e8bdfcf3febd1ac1b5479
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 4 01:01:11 2008 +0800
-
- Fix for Time#yday spec when Time.at might return yday+1 depending on tz
-
- * Wrapped Time.at in a with_timezone("UTC") for consistent results
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 7d4396e4e69fb7b046efdaaf87d1090a02c883a0
-Author: Kamal Fariz Mahyuddin <kamal.fariz@gmail.com>
-Date: Fri Jan 4 02:26:38 2008 +0800
-
- Fixed Array#fill behavior when passed index and negative count
-
- * Added additional spec when negative count is acceptable
- * raise ArgumentError when negative count absolute value exceeds index
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 8af2b55313eb55082df6a71cd3e6bd865f2901fc
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Jan 5 13:33:26 2008 -0600
-
- Save mtime during file creation to make mtime spec more reliable.
-
-commit 7043933af0475370462984c8d2df2b9301e58cfa
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 5 00:45:01 2008 -0800
-
- Updated CI excludes after spec description changes.
-
-commit 3d7650100ba1756a4d67be8044e31498ea96d88e
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 4 21:13:28 2008 -0800
-
- Multitudinous style cleanups in spec description strings.
-
-commit d54ed8791a74661adb87c938e92e037ece924c90
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sat Jan 5 00:29:22 2008 -0800
-
- A real, working eval and friends.
-
- * Implements binding, eval, etc.
- * Passes all eval and instance_eval specs currently
-
-commit 02ad19ab4132bf5d3ae35c2e11fa1a963d1f1805
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Jan 4 00:25:39 2008 -0800
-
- Fix a few more String specs, fix Integer()
-
-commit d67cfbcf4e7d35641de555ac1edd61b51780def8
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 4 19:16:43 2008 -0800
-
- Make class variables work with inheritance.
-
- Move class_variable* to Module.
-
-commit d79836e04d72796b723cdaab228871c87abe064a
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 4 16:26:21 2008 -0800
-
- Replace Struct with a Struct that can be subclassed
-
-commit 8efb042a9c160af9e9c177ca14aed220dedcc26f
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Fri Jan 4 15:41:43 2008 -0800
-
- Finished |*args| spec. Fixed MethodDescription and TestGenerator inspect methods
-
-commit 76cc487434f6cd9d60356560f1bbc3fba000397c
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Thu Jan 3 16:54:56 2008 -0800
-
- Fuck you git. Adds a broken spec to compiler2/masgn for splatted goalpost arg
-
-commit dd2697b602a732e3e00c131f54f9cc557ae0cbe3
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Fri Jan 4 15:40:50 2008 -0800
-
- Failing spec for case when with an empty body
-
-commit 22dcedebd484f655bba51399e38e83c5a14d4053
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Jan 4 18:31:48 2008 +0100
-
- Added Time#local specs with string-like second arg.
-
-commit 43ff733a3097fff44ba8a12334f20a1bf77a965f
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Jan 3 23:54:34 2008 +1100
-
- CompiledMethod#decode now uses local variable names (if avail)
-
- * CompiledMethod#decode now looks in the bonus tuple for the names
- of stack and slot local variables
- * Moved compiledmethod specs to spec/core/compiledmethod
-
- Note: Compiler2 appears not to be setting the bonus tuple, so code
- compiled under it cannot decode local names at present.
-
-commit 06006ec2a053ae49b243fa0aa98fc71c2ea7a524
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 4 01:24:49 2008 -0800
-
- Updated CI excludes.
-
-commit dff2e75df3c371522b6a3ba4495d269bf793fe97
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 4 01:01:24 2008 -0800
-
- Updated CI excludes for Bignum.
-
-commit 569fa3b9fc81410ce9fe6568427f0a0bc65b7036
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 3 19:26:22 2008 -0800
-
- Updated CI excludes for String, Regexp.
-
-commit 7aedec383850eacad5db8248bfcea7615a3d1793
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 3 17:48:32 2008 -0800
-
- Fix up setrlimit/getrlimit on darwin
-
-commit d9aea8bba7276b53ca7c18b8625531be389d2cdc
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 3 16:40:09 2008 -0800
-
- Refactor $~ out as a global, into Regexp.last_match directly
-
- * Uses MethodContext to store $~ now, so it's method local.
-
-commit c19dde305fd751c14a1b4dc798557e0b63c08c8d
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 3 16:25:54 2008 -0800
-
- Clean up compiler2 specs
-
- * For is still broken, needs more love
-
-commit d02603a7e225d3b48ecf7899ea74768880aba7ec
-Author: Gregor Schmidt <ruby@schmidtwisser.de>
-Date: Wed Dec 12 16:56:11 2007 +0100
-
- Add default implementation of Module#method_added
-
-commit 7ba5d1478106e4e0f5fcf21c66029df2f38d7e2f
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Sun Dec 30 17:55:21 2007 -0500
-
- Unquarantine Process.kill specs.
-
-commit d68b380bdd2e0a0ec3bd968ffabd02f6e30a3aa1
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Tue Jan 1 22:14:59 2008 -0500
-
- Improve kill, wait, detach, and setpriority specs for Process.
-
- Restore any previously installed signal handler after the spec has run.
-
- User IO.read(1) instead of IO.getc since rubinius has it implemented.
-
- Fix a failing Process.detach spec uncovered by the raise_error fix.
-
-commit da7329d094b6ff437d37e6a1fcaf93883ac9172f
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Mon Dec 31 16:23:24 2007 -0500
-
- Add specs for Process.setrlimit, Process.getrlimit, and Process.setsid.
-
-commit 42bef2feb46434b0ea67bc3f93d941d587c2d9c9
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 3 12:46:57 2008 -0800
-
- Updated Process spec excludes.
-
-commit ca98172b8a923cce1691b0fcc5d2418417d82662
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 3 10:07:55 2008 -0800
-
- Update CI excludes for IO from Evan's fixes.
-
-commit cde20d6c32156e4fc06859f1e84414f81f5af69e
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Jan 2 23:40:59 2008 -0500
-
- Fixed #require specs.
-
-commit 06d99a2ac4be06b50848056b381c91531293a49e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Jan 3 01:12:29 2008 -0800
-
- Add read buffering to IO, passes 100% of IO specs
-
-commit 86170283715371b5a87c0518f89c2b882a49bc93
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Jan 3 01:21:52 2008 -0600
-
- Fix off-by-one on a few signal values. Doh!
-
-commit c7a64b10410308cec83077a66cda5859b326f296
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Jan 3 01:13:27 2008 -0600
-
- Modify Signal.list spec to not depend on hash ordering.
-
-commit f2980d9584c08d873cf1646c281d083946bcbc6c
-Author: Nitay <nitay@powerset.com>
-Date: Wed Jan 2 14:36:56 2008 -0800
-
- Module#autoload:
- * raises a NameError when an invalid constant name is given
- * raises an ArgumentError when an empty filename is given
- * does not autoload when the specified constant was already set
- * registers the given filename to be loaded the first time that the Module
- with the given name is accessed
-
-commit e68bd05defe5ab749110af507c86769c9a036b25
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Wed Jan 2 19:04:48 2008 -0600
-
- Removing 'Range#initialize can't be called twice' spec.
-
- Evan agreed that these specs aren't useful, and I don't believe they're
- within the bounds of reasonable language specification since they're
- going around visibility and testing behaviors no sane programmer would
- ever be able to see.
-
-commit 1870720bac174feb627654f08c1749e1666c2acc
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Wed Jan 2 18:54:33 2008 -0600
-
- Fix inspect spec to guarantee the target thread is actually sleeping.
-
- A reminder for folks adding Thread specs: You *CAN NOT* know that a target
- thread is sleeping unless you are polling for status == 'sleep'. No amount
- of channel, lock, or state variable tricks will get around that. Please
- use polling if you want to guarantee a target thread is asleep.
-
-commit df3057a541862bbd1c5c72b8626bb591bb5ae6fd
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 2 16:39:37 2008 -0800
-
- Refactor Module#undef_method spec to #respond_to? and #instance_methods.
-
- Now only method dispatch is tested for #undef_method. #respond_to? and
-
-commit d2ecd4119a152370210ccb6c2a816c9dccb9fe90
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 2 16:00:09 2008 -0800
-
- Fix Rails indenting and whitespace
-
-commit f5b8afee4931bd09b0ce9fb88fc959c2ea0a1743
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 2 15:30:41 2008 -0800
-
- Fix Module#undef_method and Module#instance_methods
-
-commit 82bf31562361a21f85a90d5628a40ff50280c555
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 2 14:10:35 2008 -0800
-
- Rebuild excludes for #eof?
-
-commit b2aa0d56b04d7da5d333ba1449acda7c0b64c0c4
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Wed Jan 2 14:09:21 2008 -0800
-
- Add IO#eof? spec.
-
-commit addeb47d834d1ce60f8146f747defacf1682e6c4
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 2 22:31:30 2008 +0100
-
- Removed JRuby spec excludes.
-
- The JRuby excludes will reside in JRuby repository.
-
-commit 3239661ed5c38b37c966588341a043d6cdd9445b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Jan 2 21:28:11 2008 +0100
-
- Corrected String#modulo tests after clarifications from ruby-core.
-
-commit a0f3ba6632f8486e8f07a21a8e4720d8727ba4d2
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 2 11:28:42 2008 -0800
-
- Fix require_spec_recursive on Ubuntu.
-
-commit 857c39564df2d8da480f549fff46ec3ab880066e
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 2 00:48:53 2008 -0800
-
- A couple fixes. Updated CI excludes for last couple failures.
-
-commit 58c48ed05b493c71ee445062f27d47909e18b395
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 1 23:49:14 2008 -0800
-
- Updated CI excludes.
-
-commit 426f5a15eaac05ed1e900433837de0b9d0246c8d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 1 22:43:47 2008 -0800
-
- Moved CI excludes files from .spec dirs to spec/data/*.
-
-commit a1d6211f3185f23cbc2c929f0352feca05fd079c
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 1 22:03:43 2008 -0800
-
- Moved ruby specs to spec/ruby/1.8/...
-
-commit af55eefd29c8acaf462efe03d2e0b3d95195cb21
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 1 21:44:35 2008 -0800
-
- Updates for bin/ci and bin/mspec.
-
- * Removed -2 switch from both because compiler 2 is default.
- * Added CI_EXCLUDES_DIR and -E switch to bin/ci to allow for
- specifying the exclude directories. The default is '.spec'
- in each directory containing spec files. Use a path starting
- with a '/' to create the exclude directories relative to
- that path, otherwise the exclude directories are created
- relative to the directories containing the spec files.
- * Moved spec/excludes.txt to spec/data/critical.txt
-
-commit 0e6645eb74f1f63b84f674dbcdfa991153a3ccd0
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Jan 2 12:10:39 2008 +1100
-
- Couple of Breakpoint changes
-
- * Raise ArgumentError if no block given (spec for this
- existed, but was masked by RaiseErrorMatcher bug)
- * Added line property to Breakpoint
-
-commit 36a7acddfe74ab25895d13dd775741b042ba3b0c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Jan 1 23:10:13 2008 +1100
-
- Reorganise breakpoint specs to new dir layout
-
-commit 8aa6712dd9e5e870194f77ff74dc8cf11c273805
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Dec 21 16:15:19 2007 +1100
-
- Refactored BreakpointTracker in preparation for debugger
-
- * Moved code from debugger.rb to breakpoint.rb
- * Refactored code extensively to support debugger
- * Added breakpoint specs
-
-commit d16e905a67d64f67d7a24ce113f39b4b059c4139
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 31 17:51:59 2007 -0800
-
- Removed the rubinius dir from specs. It was redundant.
-
-commit 85ed07b6d739f013892a6cbcae5d0bb2c19f6e80
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 29 15:45:31 2007 -0800
-
- Split Ruby specs proper from Rubinius specs.
-
-commit b8e1466dc1b814bfb2022c1e4319d5ba63f5d762
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 29 15:02:55 2007 -0800
-
- Updated guards in specs.
-
- * Changed guard names to new, more descriptive names.
- * Removed all #extended_on guards for Rubinius-only specs.
-
-commit 5773ebe9e6f78abec9bfb03f144b5c7a86a27c7e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 29 00:50:56 2007 -0800
-
- Changed Float constants specs to compare against precise values.
-
-commit 71874fcdc9eaf45a5adecf57d7609831a2a8e6c2
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Dec 29 17:26:06 2007 -0600
-
- Fix dump_spec to expect 1 or more write calls, rather than exactly 1.
-
-commit d4bfb39910aa4adf2c0c4e2dee214487bac34093
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Dec 29 14:51:38 2007 -0600
-
- Add a spec for procs being block-passed and some peculiarities therein.
-
-commit 1b0333479bf6da2c76c8d3c1e1640dc156086d9f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Dec 28 08:24:30 2007 +0100
-
- Improved ObjectSpace#each_object spec test.
-
- Previously, the test was failing from time to time,
- depending on Garbage Collector behavior.
-
-commit 3d7e628acc6699f9652383317bd416d8c75329d5
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Fri Dec 28 05:27:24 2007 +0100
-
- Updated Time specs to use new :os guard.
-
- The Time specs use this :os guard to properly detect
- which external program with proper parameters to invoke.
-
-commit 7662638e9afa631f0581fc1c2b2b422b1b926f98
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sat Dec 29 03:06:51 2007 -0600
-
- adds Marshal.dump specs
-
- for nil, true, false, String, Symbol, Fixnum, Bignum
-
-commit 93431a28d687372b95f1a1420a3bd1f24e660117
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Dec 29 00:15:44 2007 -0600
-
- Guard Continuation specs to not run on JRuby (JRuby does not, will not support continuations)
-
-commit ccf745b9eafe068de6f888de24387bc0a0e68859
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Sat Dec 29 00:08:04 2007 -0600
-
- Fix for Fixnum size spec to guard "java" platform with 8 byte size
-
-commit 6f448f0dd72b5df2cc69e28db3d5593f897a9dbd
-Author: MenTaLguY <mental@rydia.net>
-Date: Sat Dec 29 00:58:58 2007 -0500
-
- a more modest spec for Thread.pass
-
-commit b32c2d95d044a4979ab92b5881e32fc8b169d931
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 23:51:10 2007 -0600
-
- Adjust Float MAX spec tolerance to work on both JRuby and MRI, since there's a few powers of precision difference.
-
-commit af7bb00beeb359fd6183def039b9a1fcd0ce7c48
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 23:39:15 2007 -0600
-
- Expand Float divmod array equality comparisons to use be_close with a default tolerance.
-
-commit dbdf373751bce2c8a334315c8c5ed21458614c70
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 23:34:09 2007 -0600
-
- Add a tolerance to the Float induced spec around the same scale as the value under test.
-
-commit a713d277e6a8148d4c53b66a3a8fa3aedbd6a108
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 23:31:25 2007 -0600
-
- Modify Float multiply spec to be_close with a TOLERANCE multiplied by a similar scale as the value under test.
-
-commit b82d8af43356de31d16b1c36296d9e819ce70d46
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 23:13:38 2007 -0600
-
- Fix Module class_variables spec to sort the variables before checking if they are all there.
-
-commit 1e60a25b57273dd6fd7e21b0a443da1f5c0be9e5
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 19:44:51 2007 -0600
-
- Mark Process#fork specs as not_compliant_on jruby.
-
-commit 021a6ff317ed826a46ca2168f4ee9c7540a27214
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 19:19:14 2007 -0600
-
- Remove fail and "failure" guard around the require/extension spec, since an unimplemented spec isn't necessarily a failure of any kind.
-
-commit 520c423860ef6553dae34eefd85188ab9b4773f6
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 19:12:52 2007 -0600
-
- Modify previous compliance change to callcc spec to use not_compliant_on instead.
-
-commit ab85bfff2f9fea8e28f9518311aacccd30f380dd
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 17:56:42 2007 -0600
-
- Remove compliance guards on identical spec's link/unlink, since they don't blow up now and JRuby supports them.
-
-commit e79c8af0ad6fb7ddf094b6ba4747932145f9b89b
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 15:19:24 2007 -0600
-
- Removing "fail" and "failure" wrapper from unimplemented "loads extension files" spec; an empty or unimplemented spec is not a failing spec.
-
-commit 0f6b7387bcc8df946ec8d7504cc3935b6d0f9c58
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 15:06:07 2007 -0600
-
- Add compliance to callcc specs, so JRuby doesn't run them (since it never will)
-
-commit ed43292ce58468e31b771eb4926a39dff8d70793
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 14:48:45 2007 -0600
-
- Make umask spec work with different host process starting umasks, clean up literals to be easier to read through.
-
-commit 7e9f96741739e544c547f2898e8b5183dec87323
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 14:43:02 2007 -0600
-
- Fix goofed-up paths in requires for rubinius-specific Integer spec
-
-commit d54fb1e7c3f586a6d8ac200d6de839ebe6cb4c46
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 28 14:40:50 2007 -0600
-
- Move rubinius-specific spec from core/kernel/Integer_spec to rubinius/core/kernel/Integer_spec.
-
-commit eb561025707736ebe196eab3b4ff2bd1c98f45a4
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 27 23:51:42 2007 -0800
-
- Fixed language/block specs to guard ruby18 feature.
-
-commit 5659d057d756effe3acba1037d0ad6d638d930dd
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 27 22:58:17 2007 -0800
-
- Changed Bignum specs to use value suitable for all implementations.
-
-commit 2646b1a17f898f05233622c9251c3c36632e82a7
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Thu Dec 27 23:43:42 2007 -0600
-
- implements m directive for String#unpack
-
- moves a couple misplaced methods from Numeric to Integer
-
-commit 496d6761d7377081ff76b263a51bb39d0e30d80a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 18:07:45 2007 +0100
-
- Marked one Rubinius-specific Kernel spec test as such.
-
- Kernel#compile is not official part of Ruby.
-
-commit 50e35293bd3a117874203a75d214c3435170e5d3
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 17:43:03 2007 +0100
-
- Corrected String#pack with 'DEFG' pattern test.
-
- Now, numeric comparison of values is used, with precision,
- not literal string comparison.
-
-commit 0ef00fe14a04ef240fcca17d15271f92f2a44525
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 16:00:20 2007 +0100
-
- Added String#inspect test case with malformed UTF-8 string.
-
-commit 5bbde0cda03ea782090586a9afdb620663633456
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Dec 27 13:30:34 2007 -0600
-
- switched ThreadGroup specs to use Channels
-
-commit e3abd8b834b9f923d94ae381e81977feb4a4f6f8
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Dec 27 13:22:20 2007 -0600
-
- added Thread#stop? and fixed Thread#status + specs for Thread#status
-
-commit f8835353bc8be47760f70811616991463e4e681e
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 09:18:24 2007 +0100
-
- "Unexcluded" one Struct spec test for JRuby.
-
-commit 8a1b127cb33e43b916b0ccd820c6e16680cd4030
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 09:12:23 2007 +0100
-
- "Unexcluded" 6 Hash tests for JRuby.
-
-commit ae4ce805fb7611ea6de12b01b2500f501b54bd6a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Wed Dec 26 09:01:35 2007 +0100
-
- "Unexcluded" 27 Array tests for JRuby.
-
-commit c84540f96d7e265732a204ed72b3873545624444
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 27 00:08:06 2007 -0800
-
- Fixed Set#delete? spec to actually call delete?.
-
-commit e137c3279f511b49442ce2cea1b1832c1a0c6ab0
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 27 00:00:56 2007 -0800
-
- Added some specs for Set.
-
-commit 8054ed86a93a72ad4629d6f52455892d620138b0
-Author: Nitay <nitay@powerset.com>
-Date: Tue Dec 25 17:30:56 2007 -0800
-
- require should prevent recursive includes infinite loop
-
-commit 23fb497a7ba2a853cbdc5e8a38b091df284a377e
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 26 16:50:22 2007 -0800
-
- Updated status output options for bin/ci and bin/mspec.
-
- * Made dotted the default output format for bin/ci.
- * Added -m MARKER option to ci and mspec.
- * Added "Started" output as requested by autotest folks.
-
-commit 036b073753763afe86330d3f7fa0f61d755ac991
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Dec 26 10:41:01 2007 -0500
-
- Moved class fixture back to spec/fixtures/.
-
-commit 91d46b86a86270bb3174909a2d5cbc343ea138c7
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Dec 25 19:20:18 2007 -0500
-
- Added specs for $~, $&, $`, $', $+ and $1..N.
-
-commit c434614505511b8816548efcf4a4cf56d77220f4
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Dec 25 19:19:11 2007 -0500
-
- Improved language-level class specs, moved fixture.
-
- * Class fixture copied to spec/language/fixtures/.
- * Disabled unnecessary class instance variable check and added
- new ones.
-
-commit 0a49f3485fe7e26cc7d7d5bc3cb800ddf9fd6231
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Dec 25 19:13:22 2007 -0500
-
- Changed strange_block_args_subspec.rb to block_args_subspec_strange.rb
-
- * Name change to improve alphabetical sorting.
-
-commit 2ac50215dd32fd7ad2f2c20c7ae06ed73dc9f856
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Dec 25 13:32:06 2007 +0100
-
- Added tests for Array#pack with "U" pattern.
-
- Note: The tests are exclided for Rubinius.
-
-commit 4c0993fa90010322bb823a9799a8b3ccdd585e2e
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Wed Dec 26 04:07:02 2007 -0600
-
- return excluded spec
-
-commit 0a69d9cd5a7d3a0be9411fa00c4eeebe5d270a0c
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Wed Dec 26 03:55:43 2007 -0600
-
- implements @AM directives for String#unpack
-
- squashes bug in a regexp where an alternation of things
- between begin and end assertions wasn't wrapped in group delimiters
-
-commit ddda4d49f5535577c147d2154ecdae7cb4e32e24
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 26 01:16:13 2007 -0800
-
- Moved Kernel#load/#require fixtures to spec/fixtures.
-
-commit 0438e9e61c5958c5daf691b025e34bc79e7b2573
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 26 01:06:12 2007 -0800
-
- Reorganized specs to group all Rubinius specs under spec/rubinius.
-
-commit a4c3e286e44ee3df88395b9b5f44d5804154ed2b
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 25 19:32:55 2007 -0800
-
- Updated CI excludes.
-
-commit 8535481571712cf8c35f437c42ec53dcbfd44bc0
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 25 15:52:53 2007 -0800
-
- Enhanced guard for detecting :ruby, :ruby18, :ruby19 engines.
-
- Changed dir specs to create the fixture directories with every
- run to prevent pollution of the directories from causing spurious
- errors.
-
- Added spec/core/dir/fixtures/mock to .gitignore.
-
-commit a6b07ec37da7a59f34f45dfc84a66729b12f63b7
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 24 16:25:16 2007 -0800
-
- Removed Dir specs mock directories from version control.
-
-commit b0e4addbf7c6505c760e143e5fac0dab0109d8ac
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Dec 25 13:17:28 2007 -0500
-
- Updated CI excludes for Dir.
-
-commit 80a9c6c2e2e5cd2acdcb6492c4a06fef258bb49e
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Dec 25 13:17:09 2007 -0500
-
- Moved Rubinius-specific parts of #load/#require specs to extensions.
-
-commit 85f6b6e24518868f39ff39a5014a41a233237671
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Tue Dec 25 02:53:45 2007 -0600
-
- implements U directive for String#unpack
-
- uses only one of the exception messages every time
-
-commit b414c94db1fa1af8e6cd3382c34fc6de5ed3bd1e
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Mon Dec 24 16:42:22 2007 -0800
-
- Merge identical specs
-
-commit e0f28c224a2348dbf7c005694971a86f8e6162e1
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Mon Dec 24 15:59:24 2007 -0800
-
- Kernel.Integer() shouldn't pass a base to String#to_inum
-
-commit eb93da7c578599469fe209f7b1d30f0f77d148f5
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Dec 23 16:43:33 2007 +0100
-
- Wrapped one String#crypt case into compliant block for JRuby.
-
- "hello".crypt("\x00\x00") is not really defined,
- and heavily platform dependent.
-
-commit 7594c89cf2f017cb1fffad16bac6fcc7c9629422
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Sun Dec 23 10:53:30 2007 +0100
-
- Added JRuby wrapper for String#% test.
-
- Allow "%e" % (0.0/0) in JRuby to return "NaN", and not "nan".
- I think, returning "NaN" is a proper behavior, and
- it seems that MRI 1.9 is also following it.
-
-commit eaf9e328e81f9c1d4e80737a96d0eea6b511fabb
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Mon Dec 24 06:55:30 2007 -0600
-
- implements BbHhIiLlSs directives for String#unpack
-
-commit 701945421d6a656f8b0b183052c4535a895e2afd
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 24 00:44:26 2007 -0800
-
- Converted specs to use the new #platform guard syntax.
-
-commit 238fbbc2331a1926f3d3f447d8433b046e7d34ac
-Author: Tom Mornini <tmornini@engineyard.com>
-Date: Sun Dec 23 15:43:26 2007 -0800
-
- Clean up language on now understood and fixed alias_method e2mmap spec.
- Fixing the alias_method problem has now uncovered something in const_set,
- so I've included a very vague test (require 'e2mmap') to document the
- problem until it's better understood.
-
-commit 69149b261ac13cc1a2b7c80c7b103d397fd96b9b
-Author: Tom Mornini <tmornini@engineyard.com>
-Date: Sun Dec 23 14:13:22 2007 -0800
-
- Add spec for alias usage that breaks e2mmap.rb
-
-commit 71d9a4144811b2c9c74edc55f348637c57b0cb84
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sun Dec 23 05:25:37 2007 -0600
-
- implements aDdEeFfGgXx directives for String#unpack
-
-commit bebafb1383a5126c959c33a1336f3a2e4b6993f6
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 18:16:14 2007 -0500
-
- Saner specs for stream-style Dir access. Passes 1.8.6-p111.
-
- * Dir#read, #tell, #pos, #pos=, #seek and #rewind which are a part
- of the stream interface to Dir no longer rely on platform-specific
- position values, instead opting to just ensure they work as expected.
-
-commit a2e4c318a3406c9532404611f14d2790695c0a7a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 16:29:00 2007 -0500
-
- Enabled Time#at spec to work with BSD `date`.
-
-commit 0e983f2e948ab997834dbc703e9eeb11d86a7022
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 16:17:14 2007 -0500
-
- String#to_i spec to check for correctly parsing 0x-1 and the like.
-
- * This was fixed in 1.8.6-p111.
-
-commit 5e635a46f4733bcc2071b52ea076584614fe5655
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 15:52:03 2007 -0500
-
- Fixed various String spec issues and added a few. Passes 1.8.6-p111.
-
- * String#% with o for octal numbers is still broken but that seems
- to be due to MRI's sprintf.c.
-
-commit 780f22bde03e280f5af2509bef260585341f4e0b
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 15:48:55 2007 -0500
-
- Fixed incorrect use of #should raise_error.
-
-commit 0b239b4f66c20ad5690e429639c4bf11a809ab58
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 12:22:20 2007 -0500
-
- Hash specs fixed. Pass under 1.8.6-p111.
-
- * Changed to use HashSpecs#frozen_hash and #empty_frozen_hash
- for clarity and being less error-prone.
- * Fixed various typos causing problems.
-
-commit 9a2450e5c51333474cf012c3a1364e95384af9e0
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 12:20:48 2007 -0500
-
- Kernel.caller specs revised. Pass 1.8.6-p111.
-
- * Fuzzier matching of the data in the call stack.
- * Fixed specs for omitting frames.
-
-commit 692f4e8a652e273096c0f77ffe571318c59d2b12
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 10:59:19 2007 -0500
-
- File.ftype specs pass on 1.8.6.
-
- * Use `find` to locate specific file types instead of relying on
- predefined paths being correct.
- * Re-enabled character devices.
- * FreeBSD does not implement block devices.
-
-commit f1251ebc602311ec305a4b1b35a765ee45b9c164
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 10:11:07 2007 -0500
-
- Bignum#div returns an Integer if evenly divided.
-
-commit b62e1b7a21df1d7736767530f216148b8a93e38a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 09:52:33 2007 -0500
-
- Fixed Array spec failures under 1.8.6-p111.
-
- * Array#fill raises if given a negative count.
- * Array#initialize will always raise if frozen.
-
-commit e3d6a3df6c1dfc37731ff4de5de32dc996bb61bb
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 09:37:46 2007 -0500
-
- Silence warnings from removing *.rbc in #load and #require specs.
-
-commit a11171e853b3efb94b4cba03786ea851d81411c6
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Sat Dec 22 07:39:40 2007 -0600
-
- implements CcQqVv directives for String#unpack
-
-commit eea90994f2a1b76ed11b29e05a16c9c299d59235
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Dec 22 00:23:29 2007 -0500
-
- Added __FILE__ specs to #load.
-
-commit 0e04ca49ebdba35a7a293b6de82d9d67c6ff4ac5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Dec 21 22:59:50 2007 -0500
-
- Correct __FILE__ information from #load and #require.
-
-commit 51c2543fe032b680a6c8f8cf8121196070c61c66
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 21 23:51:37 2007 -0800
-
- Replaced use of @path1 with equivalent nil in File#fnmatch.
-
-commit b9f979393456dc3c93250e3a50b54b489a25c5d1
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 21 23:29:51 2007 -0800
-
- Added -w to bin/mspec to emit warnings. Fixed warning in mSpec.
-
-commit 16ce249216f490b9f7921aa69932f9e8bd60ca0e
-Author: Jeremy Roach <jero_rub@yahoo.com>
-Date: Fri Dec 21 22:50:40 2007 -0800
-
- Implements N, n, and Z directives for String#unpack.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit e1d292e28fe409c087f314bb139371a1f248850d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Thu Dec 20 15:04:12 2007 +0100
-
- Fixed race condition in ThreadGroup#add specs.
-
-commit 469527ddf33484a4a77f3d73c611e9a393bd48ad
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Dec 21 12:02:50 2007 +1100
-
- Added CompiledMethod#decode specs
-
- * Added UnboundMethod#compiled_method accessor
- * Improved robustness of ISeq decode when dealing with junk at
- the end of an iseq
-
-commit 08c2f5c29a2debed90ae1fff817c30e269913609
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Dec 20 23:45:53 2007 -0500
-
- Re-enabled purging .rbc files in require_spec and fixed the masked problem.
-
-commit dd4f3c52e79d01e826918e49fa626d7358f87901
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 20 22:53:48 2007 -0800
-
- Clean up a couple of failures seen in ci. spec/core passes.
-
-commit a5667632ae8d112c0271e00cbba53a274075cd1a
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 20 22:49:05 2007 -0800
-
- Removed legacy, unused spec/reports/base.txt.
-
-commit 853e100b6f7fff24e4aaa40ed30c6add523f8df2
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 20 17:49:36 2007 -0800
-
- Fix a bunch of String specs (thanks random8r)
-
- * Note: rubinius now has the same behavior as MRI for Nan,
- Infinity and -Infinity when using String#to_f
-
-commit b220f4921fd799ac28c60132ca08cf16df6f713e
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Dec 20 15:37:25 2007 -0600
-
- fixed require specs to work correctly on any run including first
-
-commit 56ac483e3559e1d4913e4c36c9a8f007523fdab0
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Thu Dec 20 19:36:21 2007 +0000
-
- Fix typo in spec/core/regexp/union_spec.rb
-
-commit 634300eed40ef0ded16ab7cac7865dd783486c2d
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Dec 20 03:46:59 2007 -0600
-
- Add 'sleep' checks to threadgroup spec to avoid the same race conditions seen in kernel/sleep_spec.
-
-commit 72b7123c9b3d1d266f4ce035b4e99dd0c2dbd88d
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Dec 19 22:46:17 2007 -0500
-
- New compliant (moreso, anyway) #load and #require.
-
- * Improved #load and #require.
- * Specs for the above.
- * File.to_sexp and String#to_sexp allow empty input. They are
- processed as a file containing 'nil'.
- * Archive#get_object_fuzzy allows no extension or .rb instead
- of .rbc only.
-
-commit fe633062095096fe00599cbb89aa4370ab5ccb3e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 19 23:03:08 2007 -0800
-
- Fix Kernel#puts
-
-commit 364ca08cbbb1848b549d99deb11e2449ad99334a
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 19 23:10:17 2007 -0800
-
- Updated CI excludes.
-
-commit 5f1c381560a8d4d594749d42b5b2feeec341d4e5
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 19 22:24:10 2007 -0800
-
- Fix Kernel#open
-
-commit 3b3ed6304deab01cb448665c5f4b17d813f04e65
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 19 21:43:58 2007 -0800
-
- Cleanup more method specs, all pass on rubinius now
-
-commit 76bbbf275f4e835444f684b2e688b292f20c1ffe
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 19 18:08:09 2007 -0800
-
- Implement protected methods
-
- * Added a bit more verbose specs to methods_spec.rb, to show
- specific cases.
-
-commit dce06b35481bb1951c587d36f63abaae069d0ae4
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Dec 18 22:28:30 2007 +0100
-
- Wrapped one String#unpack test case into compliant block.
-
- The test case is platform-specific, and not suitable for, say, JRuby.
-
-commit bb4945ea7b9253150f753508e92633b6e355194a
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Dec 18 21:30:24 2007 +0100
-
- Added new String#unpack test to exclude file for CI.
-
-commit 1bd8beb8e0b335f1de309d6320312a1b64af1e4d
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Tue Dec 18 19:51:47 2007 +0100
-
- Added more tests for String#unpack with Z/Z* patterns.
-
- These patterns are known to be tricky, and their
- handling was changed during Ruby's life.
- See [ruby-talk:98364].
-
-commit d26edc2269a77667dbefcfb1ea6212d8ada9ef97
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 19 01:25:27 2007 -0800
-
- Fix a bunch of Task GC problems, better memory management.
-
- * Use ALLOC* macros instead of malloc/calloc directly
- * Also, simple fix for Time
- * A Kernel#loop implementation
-
-commit 4143b92e6112241ff2facd64047491ce579bf0e9
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 19 00:43:32 2007 -0800
-
- Finished converting Object.new to mock() in specs.
-
-commit 9cae61f827d2eeca0a744e551551efd6bc85a2ae
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 19 00:02:46 2007 -0800
-
- Spec #it blocks must be inside #describe blocks for RSpec.
-
-commit 7df00ef6d2471d0b37829e0a4d1ef45edf782a44
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 18 23:28:43 2007 -0800
-
- More conversion of Object.new to mock() in specs.
-
-commit 12463512d0ad48fae3a1843d9d409649551dd13b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 22:53:38 2007 +0100
-
- Corrected String#* test to pick large enough Bignum, even on x64.
-
-commit 79cbff2c9a0cb15e9e5767f94242fa4360a0c4a0
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 16:43:16 2007 +0100
-
- Removed race condition from Kernel.sleep spec.
-
- This problem caused JRuby spec runs to hang.
-
-commit 3032e60e10dd1ae61ffb40b351f4f6731395602b
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 15:43:42 2007 +0100
-
- Enabled one Hash#rehash test case for JRuby
-
-commit 1808106191856f4f82b948abc5c7e708a747d059
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 15:40:49 2007 +0100
-
- Issue #153: Hash#rehash test enforces unspecified impl detail
-
- Wrapped the test so that it won't run with JRuby.
-
-commit efbf30477ea289911d9cafbde89ecbe2c8c65089
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 15:25:23 2007 +0100
-
- Corrected :mri --> :ruby
-
-commit 60a3ede3c64b62fb26905ed1c236c0e241b64515
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 15:23:42 2007 +0100
-
- Issue #182: String#to_f spec corrections for NaN, Infinity
-
- JRuby AND Rubinius treat "Infinity".to_f, "-Infinity".to_f ,
- "NaN".to_f differently than MRI.
-
- MRI returns 0.0 in all those cases, but JRuby and Rubinius probably
- do something more meaningful, they return Infinity, -Infinity and Nan
- respectively.
-
- It was agreed that JRuby's and Rubinius' behavior is a feature rather
- than a bug, and worth preserving and checking for.
-
-commit 521a82d8c325a33b3409423d61b589c7b8681870
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 15:14:28 2007 +0100
-
- Refactored commonly used generators into fixtures.
-
- Thus reducing copy-paste.
-
-commit 86820a339c74e3ca8fc9515e5fdf31ad42780201
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 14:12:43 2007 +0100
-
- Initial version of Generator specs.
-
-commit 91353183ace65d8e751db14a829e8f24d043710c
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 03:18:19 2007 -0600
-
- updated excludes for Kernel#sleep and Thread
-
-commit 6de193c0819f74717eb2e9eff8480f0d801b0e41
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 18 01:01:31 2007 -0800
-
- Replaced Object.new with mock() where appropriate.
-
-commit 1217fa030ff26712e9718ebecfe351830c543d7e
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 02:16:10 2007 -0600
-
- fixed redo in loop by save/restore condmod around loop context in compiler1
-
-commit df757142c774becfc2cbc4b38e43e31056acbae2
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 02:00:27 2007 -0600
-
- spec for using redo,next, and break in one loop
-
-commit 7169fd31b7c22750241212c242bc8aacdafe632f
-Author: Vladimir Sizikov <vsizikov@gmail.com>
-Date: Mon Dec 17 13:08:09 2007 +0100
-
- String#sub specs wrapped to correct JRuby test failures.
-
- JRuby reports Ruby version to be 1.8.5, but in this
- particular case it behaves like Ruby 1.8.6
-
- Differences between Ruby 1.8.5 and Ruby 1.8.6:
- different error raised.
-
-commit 04e228e131d06cd764d69375ddfdf44e4fec2b38
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 01:27:00 2007 -0600
-
- spec for Thread.pass and updated :mri to :ruby
-
-commit 11348e25ba30199e3beb05f8c38c18820fbefc3f
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 01:11:38 2007 -0600
-
- Some minor fixes in Thread specs
-
-commit 5cb3bcbf8f1d2a2237200ca0a9a9c6408d478ad6
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 01:11:05 2007 -0600
-
- spec and basic functionality for Thread.stop
-
-commit 3301fbb3ec43b5252c0aa6d45eb2f0e21581ff0a
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 01:09:49 2007 -0600
-
- Thread.sleep doesn't even exist in rubinius
-
-commit bd964f579f84a39097ecee1271664d672b6553a7
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 17 21:40:16 2007 -0800
-
- Replaced :mri with :ruby for spec guards.
-
-commit d21810882621356c35dcd101daca5ee5549f6607
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 00:42:32 2007 -0600
-
- Threads should report there status of sleep, aborting, and run
-
-commit 85a6476a236bd1e65d42ca03846c662a10842f37
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 18 00:41:09 2007 -0600
-
- Thread#status should return nil if Thread terminates with an exception
-
-commit ecb4455a75f4af2ae0059ca4960c2282b4ec632a
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Dec 17 23:50:24 2007 -0600
-
- specs for Thread#{key?,keys} and added key type checks for Thread#{[],[]=}
-
-commit c1a5d7e52b33ba6686441c61652bcc41ae0547f8
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Dec 17 22:15:37 2007 -0600
-
- specs for Thread#[]
-
-commit c2c7f0adc6ebbad925adb2471b6064b67528b420
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Dec 17 21:47:52 2007 -0600
-
- ensure LocalThread#current != Thread.current
-
-commit d05dac276f36326e143aa75bb43e4ab07bd8ddc9
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Dec 17 21:28:44 2007 -0800
-
- Fix a bunch more Kernel specs
-
-commit 4ddd0e144b4e4f64c51fc8d64952826d92a5e83f
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Dec 17 19:45:26 2007 -0800
-
- Fix Thread.abort_on_exception and Thread#inspect
-
-commit a12ad6fbc2589a7864a7c784386fb6ce7dae1db1
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Dec 17 21:29:49 2007 -0600
-
- Kernel#sleep and Thread#join specs now use locks to maintain automaticity instead of while th.status == 'run' loops
- added a Channel fixture to Kernel to support the use of locks in Kernel#sleep specs
-
-commit 72e3fb453c266e514b817daa66bf6033f1d19e40
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Dec 17 19:01:18 2007 -0800
-
- Fix callcc specs, revert all locals back to using the locals tuple
-
- * compiler1 now does what compiler2 is going to do, ie, only use the
- locals tuple to store locals. Storing them on the stack has proved
- to be a pain, and wont be used further.
-
-commit 6e35be2ddef8d055e064462c88a8b3f33eb4fe0f
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Dec 17 18:37:16 2007 -0800
-
- Faster Class#new, initialize can be private
-
- * Class#new now uses a bunch of inline assembly to be able
- to call a private initialize
- * Clean up Module#name a little
- * Made machine's rbt a little more robust
-
-commit 47a5bbf34ef8a60a18c1c8c6130d493a299ff852
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Tue Dec 18 01:10:33 2007 +0000
-
- Make sure files opened with "w" are truncated.
-
-commit 0fdc8c9b7d05cc2e96908b280ac144de0d04f646
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Tue Dec 18 00:16:27 2007 +0000
-
- Fix excludes for spec/core/stuct/{new,struct}_spec.rb
-
-commit 5b1252e6b2d8f8d70343b06f3520114de2040524
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Sat Dec 15 17:31:25 2007 +0000
-
- Minor fix to struct_spec to include fixture.
-
-commit 4fd0356ab9e9bb5c2a805b1f863b3177458966fe
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Sat Dec 15 16:29:49 2007 +0000
-
- Add case to spec/core/class/new_spec for names of nested classes.
-
- * Updated spec
- * Add some comments where this may be fixed
-
-commit 86736d564f34a2f97f7c7bedcab09c2472861b01
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Sat Dec 15 16:16:26 2007 +0000
-
- Fixes for struct class names.
-
- * Tighten up specs to show what class names should be.
- * Fixes #inspect
- * (Partially) solves the larger issue of an anon class getting a name when
- assigned to a constant - works now when Module.const_set is called.
-
-commit ad0d5ff2396baf43c8b2e37a3132765a074b241d
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Fri Dec 14 02:33:23 2007 +0000
-
- Fixes related to Struct.new
-
- * Fix to method_table to correctly handle DelegatedMethods
- * Changed spec/core/stuct/new_spec.rb to allow :rbx to call
- to_sym on objects passed to Struct.new to get the symbol
- value.
-
-commit 18f10dc700fe24f3bd230063bc7c1e8a82e8348f
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 17 08:58:22 2007 -0800
-
- Updated spec excludes to run with bin/ci under the new mspec.
-
-commit 678fb90c5c8aa96e10a9f95f520312f12f8fa3f2
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 15 22:43:44 2007 -0800
-
- Changed true/false/nil specs to not use def in describe block.
-
-commit 9e132474aafb6a0f0c968c2e085b09bfc07e1a0d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 15 18:49:31 2007 -0800
-
- Fixes to run the specs under RSpec and mSpec.
-
-commit cd3ecf52645b94921db92393e6e4d295d12bba88
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 15 00:59:11 2007 -0800
-
- Misc fixes to mspec. bin/mspec -t r spec finally runs!
-
-commit f3b3f70bb47b04e7a67c1dbc3ae38711857b5184
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 13 22:46:54 2007 -0800
-
- Multitudinous miscellaneous fixups for mspec and mmock.
-
-commit 55ab5b2ee42e4fabcfd8c51d6fac304cdfec31c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 10 01:01:58 2007 -0800
-
- Various fixes to mspec to run Rubinius specs.
-
-commit 86c0f131608b4ad7cba93eabd172a48e5b60ca0f
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 7 15:34:06 2007 -0800
-
- Added runner guards to omit specs that will always fail under RSpec.
-
-commit 75706dbfabbe359b6410f0d3743f0ea682146ac1
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 7 14:03:46 2007 -0800
-
- Added #runner guards to mspec.
-
-commit 3da390988031bf0066a849934ee758475ebbfa04
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 7 02:38:13 2007 -0800
-
- More fixes to run the specs under RSpec.
-
-commit 2b0f4e408b733dcd9089a19d78cd8e4cce20b99c
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 6 18:40:33 2007 -0800
-
- Yet more spec cleanup to run under RSpec.
-
-commit 1e4171d4682f55776e01e42f564714548c1d9bd9
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 6 02:16:42 2007 -0800
-
- More changes to run specs under RSpec.
-
-commit db020d30374e419792f76077757784008953c0a6
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 5 02:01:30 2007 -0800
-
- Various changes to get the specs running under RSpec.
-
-commit 968c2daa5345a0cddb8d3d5bd2b6bf2eeb0c1d6f
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 23:51:52 2007 -0800
-
- Convert remaining mocks to RSpec syntax.
-
-commit e5dc3ac814d1cda923131257dfbc9a30bf501b62
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 23:28:17 2007 -0800
-
- Convert remaining 'should_raise' to 'should raise_error'.
-
-commit a7be230ac71ece2bb8dcece72d629bcd0ce6a5e0
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 18:29:26 2007 -0800
-
- Converted specs from mini_mock to RSpec mock syntax.
-
-commit 4136e2fef4a81eb6e9e14070ff5301638f9acf14
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 02:25:31 2007 -0800
-
- Integrated mini mock with mspec. Updated spec_helper for main specs.
-
-commit d71c0c7412af01d6295d8caab43a80d0221ea16d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 01:49:17 2007 -0800
-
- Added #shared and #it_behaves_like to mspec.
-
-commit da61adc0a079c858385773b12d683e2f5e2cc0e8
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 4 00:43:15 2007 -0800
-
- Converted 'should_be_ancestor_of' to 'should be_ancestor_of'.
-
-commit 5ed0096aac58fef09fc766d808aea74356aacfa8
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 3 17:57:56 2007 -0800
-
- Replaced dev_null with CaptureOutput.
-
-commit 62282bd5cb5c555e6447dcf2d6d0da355913fe8b
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 3 17:30:01 2007 -0800
-
- Replaced 'should_include' with 'should include'.
-
-commit f990a7c58a7eee6dbbb3c50df7682942048b959f
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 3 17:21:50 2007 -0800
-
- Replaced 'should_be_close' to 'should be_close'.
-
-commit c53601c56bd222dfacf03f134132869eb71c5146
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 3 17:10:41 2007 -0800
-
- Finished converting should_raise to raise_error.
-
-commit 165dd99535b0829d2e2364fac24375068969c6ab
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 2 23:22:54 2007 -0800
-
- Convert should_raise to should raise_error for RSpec compatibility.
-
-commit c9ff50a4b4be25614cc0ac2ea5540cfe87a939d3
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 23:30:44 2007 -0800
-
- Moved mspec out of spec dir.
-
-commit e9a40a77b6fa7d08969ea195aabbb930b665fe02
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 23:25:59 2007 -0800
-
- MSpec base formatter and specs.
-
-commit 2fc3ac3f8efbaf0861cadfd59bcdf926d2196284
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 20:32:42 2007 -0800
-
- Port fix to ruby engine detection from mainline.
-
-commit 9a52e660536b4723bf24e2717fec757a1bdfa49f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 01:35:52 2007 -0800
-
- Match RUBY_NAME against /^ruby/ to pick up e.g. ruby1.8.
-
-commit 85536b98862f6abec310bfad03be17652ee65944
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 01:01:46 2007 -0800
-
- Implemented mspec matchers.
-
-commit c953335397c6c8b9d7b27a3d240fde3b3518cb48
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Nov 27 01:35:07 2007 -0800
-
- The rest of the mspec big picture.
-
-commit 2f598f193eb1b10065c8e1a8d5c2aaa89c689072
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Nov 27 00:39:59 2007 -0800
-
- Added base operator matchers and specs.
-
-commit 0cc0b5a97661970d4cbb5e46406e7ee06421e637
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 26 21:03:33 2007 -0800
-
- Migrated mspec and ci runners to mspec dir.
-
- Created stubs in bin/ci and bin/mspec that call the respective
- scripts in spec/mspec/scripts.
-
-commit b98d65eaa90d966fc2f7b8f8387266e241c202de
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 25 01:03:26 2007 -0800
-
- Added specs and guards for mspec.
-
-commit 7bb316d1291c9d0a16904d4a3ee60094a713f215
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 24 21:40:46 2007 -0800
-
- Prevent MSpec's #should(_not) from overriding RSpec's.
-
-commit c446988257a2104d72abd4a362dc21ca6183aab0
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Nov 20 22:47:25 2007 -0800
-
- Defines #should and #should_not for mspec.
-
- Specs for #should and #should_not.
- Adds example for using mspec "base" layer.
-
-commit 1aecf8e828dfd3d86f43d8c9c927e7c0ccb16b68
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 12 00:40:04 2007 -0800
-
- The mini rspec big picture.
-
-commit f2979b03f29e7ac810b81f9087ea53923de5a35c
-Author: Charles Lowe <aquasync@gmail.com>
-Date: Mon Dec 17 15:18:24 2007 +0100
-
- Added missing error checks to Dir.chdir block form.
-
-commit 028fee4e6d48514cae53f87c143bb68501bf58e9
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Wed Dec 12 20:01:35 2007 -0500
-
- Add further specification of size changes during Hash#delete.
-
- This was actually failing a while ago but now passes after recent
- changes.
-
-commit f757f4359c86f778ac8e5931b8915511fd03506d
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Wed Dec 12 19:59:28 2007 -0500
-
- Tighten another spec in core/hash/equal_value_spec.rb
-
- Hash#== compares keys with matching hash codes via eql?
-
- This spec was using hash keys where key.eql?(key) was false.
-
- That's pretty pathological, but there's probably some real
- non-conformance with MRI here. MRI can test for object identity
- without calling eql? so a key is still found even if it doesn't
- eql? itself.
-
- That's not really related to the behavior this spec is specifying,
- though. So, this patch just uses a less pathological implementation
- of eql?
-
-commit 3f73ddf6bec5c704ceb5ed43481971860293353d
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Wed Dec 12 19:49:49 2007 -0500
-
- Tighten spec in core/hash/equal_value_spec.rb
-
- "Hash does not compare keys with different hash codes via eql?" was
- failing because it detected that eql? was called on a key. However,
- eql? was not being used to compare keys with different hash codes
- from the two hashes. Instead, eql? is used to compare a key to itself
- during hash element reference, in order to distinguish between two keys
- with equal hash codes that aren't eql?.
-
- The tightened spec only fails if the keys are compared eql? to each other.
-
-commit e355e98a32f34619628a17f5052750da6881cda9
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Wed Dec 12 12:26:15 2007 -0500
-
- Add specs for hash stability of various Numeric subclasses.
-
-commit 0d774c99254b2c5992a17ecb2a5a12dcd2cad05e
-Author: Chris Shoemaker <chris.shoemaker@cox.net>
-Date: Tue Dec 11 20:37:45 2007 -0500
-
- Add a Hash#store spec for storing unequal keys w/ same hash.
-
-commit edfff4981285007ecac132f565243150a8a8bd7e
-Author: Curtis Schofield <123@noself.net>
-Date: Tue Nov 27 19:02:45 2007 -0800
-
- Specs created for Process#gid and Process#uid
-
- * both are using the unix system command 'id'
-
-commit 4e269d01238537cc45f4c347b12053616007d94d
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Dec 16 23:46:50 2007 +0100
-
- Excluded evil Thread specs.
-
- This makes bin/ci usable (pass) again on my system, where it was horribly
- broken before.
-
-commit b32c46ba95f2ecdaf646a030b96ee9b3737929a0
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Dec 16 23:37:26 2007 +0100
-
- Excluded failing Kernel#eval specs.
-
-commit 0c56f3a1f84dd94d1f9685af9e9d6e0efd0cfabf
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Sun Dec 16 20:24:54 2007 +0000
-
- Tighten up specs for what should happen when array shrinks during iteration.
-
-commit bfa8c532605c9e3b3d7f853516de9aae596c611d
-Author: Hunter Kelly <retnuh@gmail.com>
-Date: Sun Dec 16 19:11:25 2007 +0000
-
- Added specs for Array#each when the array is changed during iteration.
-
- Ditto for Array#each_index.
-
-commit b3aa2af4a3467b4eeb8765010286c12bd5adfbf9
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Dec 15 22:53:35 2007 +0100
-
- Sanitized Object#id spec.
-
-commit cce5b7004a774041d78c3b2e55af8063335a9512
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Dec 14 19:02:57 2007 -0800
-
- Fix sleep spec, implement Thread sleep status and death detection
-
-commit c2475838be23ae287075b7e9ea832013f1db77c4
-Merge: 30f20cf... d061b86...
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 14 10:56:53 2007 +0100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 30f20cfbd67487c426827406890fdb06fac8045c
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Fri Dec 14 10:56:17 2007 +0100
-
- Fix race conditions in Kernel#sleep spec by ensuring target thread is actually sleeping before continuing.
-
-commit d061b864f636210e40982d961b0aa5afc24543d0
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 13 23:04:27 2007 -0800
-
- Fix require specs to not require checked in .rbc or .rba files
-
-commit 41831976d25a4d5a8e26673199276098cc45b4d3
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 13 22:40:43 2007 -0800
-
- Fixed Thread#run, added corruption detection to rbc files
-
- * Thread#run was confusing the Thread scheduler, cause things the VM
- to quit running.
- * Added corruption detection to .rbc files in the form of a SHA1
- hash placed in the .rbc, just after the header.
-
-commit 77f0f29060d5ba3f33dc45029525acb715eb61c2
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Dec 14 15:10:59 2007 +1100
-
- Compiler2 fix for attrasgn in masgn
-
- An attrasgn node contained within an masgn does not include
- the assigned value in the attrasgn sexp. This was leading
- to the argument count to []= to be understated by 1.
-
-commit faaa1932fe05ee4d506b768f8d9d884af5345547
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Dec 12 19:59:11 2007 -0600
-
- fix non-determinism from Thread.sleep by removing blocking sleep
- add check for duration of 0 or 0.0 to instant return and added more specs
-
-commit e98b2d1f9788c1813bef2d920779c95effbd3d9f
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 11 17:27:43 2007 -0600
-
- spec and fix to allow floating point timeouts to Thread#join
-
-commit 801cb5ef58a6debfd348a33f864737cbce7c3d77
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 11 17:26:58 2007 -0600
-
- added noncompliant spec showing that sleep(nil) is allowed in rubinius
-
-commit 84d280810c840d6699b5c9ad094964fe779235df
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Tue Dec 11 16:30:41 2007 -0600
-
- fixed Thread#sleep to allows floats, and switched Thread::sleep, Kernel::sleep to use Thread#sleep on current thread
-
-commit 3d10a8a10741786ba76a4cc1083934f908d52ec2
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Mon Dec 10 17:13:34 2007 -0800
-
- Allow Thread.new to take arguments
-
-commit 4f5258b938a7aacf31e73b5fe6312e3c927d9cf8
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Mon Dec 10 00:21:20 2007 -0800
-
- Fix rb_define_alloc_func
-
-commit 7ab0f524de5a6b796ec1000402392cb138150eed
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Fri Dec 7 15:06:45 2007 -0800
-
- Initial ThreadGroup implementation
-
-commit 53fff95e300b1b26ed16f12c13684eadf8235d7a
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Fri Dec 7 01:30:55 2007 -0800
-
- Add rb_str_substr
-
-commit ec82de9f67e271718b874c0d777765da696bef88
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sat Dec 8 15:26:17 2007 -0800
-
- Add wrapped struct spec
-
-commit 65998d601aae601b3b43878f534362136a01ff17
-Author: Brian Takita & Nathan Sobo <brian.takita@gmail.com>
-Date: Fri Dec 7 17:18:24 2007 -0800
-
- Added specs for Module#undef_method.
-
-commit 97f8c9c32b9400ae42d0dc80aa7e17b22864fce9
-Author: Brian Takita & Nathan Sobo <brian.takita@gmail.com>
-Date: Fri Dec 7 16:13:02 2007 -0800
-
- Moved Object#to_a to Kernel#to_a. Added VM.coerce_to_array.
-
- VM.coerce_to_array will be used for splatting any object.
-
-commit 865ce7d771a101bc8c2c9ae3a82cbc3f37450c4b
-Author: Brian Takita <brian.takita@gmail.com>
-Date: Fri Dec 7 12:47:08 2007 -0800
-
- Merge branch 'array'; commit 'nathan/array' into array
-
-commit b4541a90f84c898e3cd9851ac4b207d559078a59
-Author: Nathan Sobo <nathansobo@gmail.com>
-Date: Thu Dec 6 23:33:10 2007 -0800
-
- Updated language/array_spec.rb for more detail on splat operator.
-
-commit 577b2f1c395dc49165842c405fb47bbb7591158a
-Author: Nathan Sobo <nathansobo@gmail.com>
-Date: Thu Dec 6 18:30:16 2007 -0800
-
- Fixed :many_if for compiler 1.
-
- Before it was translating many_ifs to a flat array of if statements instead
- of nesting them. Also, multiple boolean expressions in the case were not
- expanded to a boolean disjunction.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 1d555fa07aaed8e59e728cb0013daa10b3b17b25
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Dec 6 21:24:44 2007 -0500
-
- Add some JRuby-inspired eval specs
-
-commit 3131fb81eef380d163d028f5587475bbf170befb
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 6 12:19:49 2007 -0800
-
- Fix minor constant lookup issue and add timing to mspec
-
-commit 26897cd85c693cac10229d7467436717552088c0
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Dec 6 11:42:36 2007 -0800
-
- Fix another constant lookup bug
-
-commit 06a3f07999aeb4f7379ea40205451d326d1ba596
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 16:37:15 2007 +0100
-
- Updated CI excludes for IO#each and IO#each_line.
-
-commit b495ab1019e9ee136e9d099faa51cba03c48e947
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 16:01:31 2007 +0100
-
- Extended argument checking in IO.read.
-
- We're now checking that offset isn't negative either. This is done
- before the length argument is checked, mirroring MRI's behaviour.
- Also fixed a typo in the length check.
-
-commit 4fa2fbb6b6c27ced5d6cf902e63e3989c2d29b64
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 14:56:41 2007 +0100
-
- File.truncate raises Errno::ENOENT if the given file doesn't exist.
-
-commit cb7a0a7315e57f1adff0976bcd6b0c4a1a94d8c5
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 14:15:55 2007 +0100
-
- Added support for the length and offset arguments to IO.read.
-
-commit 9fe8f2bd73e28d28b7a9249e629ab7681321e4d5
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 14:07:21 2007 +0100
-
- IO.read only accepts file names and uses File to open and read them.
-
-commit 7ab1d9f3434e3f3b021de2f4087f2502e229c7a0
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 14:00:19 2007 +0100
-
- IO.new(nil) raises TypeError now.
-
-commit 227f6b4bf45b55eb659d41507d38fe5071ef7424
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Dec 6 13:24:31 2007 +0100
-
- Fixed a typo in File.writable?.
-
-commit 645f30882c9dd39d13f49e45f2f32c43ebe25182
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Thu Dec 6 03:51:11 2007 -0800
-
- Update Dir excludes
-
-commit e60ee517013d44c2ec6faf147f7dbd685fa520c2
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Thu Dec 6 00:40:17 2007 -0800
-
- Fix flag checking in Dir.glob
-
- Also clean ".", ".." skipping
-
-commit fa681ad7a3c1d0e1b4fb0702c2fc63cd80ec9377
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Wed Dec 5 18:08:41 2007 -0800
-
- File.fnmatch? should accept escaped wildcards
-
- Also fixes more Dir.glob specs
-
-commit e6b8ce23729606bf6fa748ea63c0e0a59b48a476
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Wed Dec 5 15:35:32 2007 -0800
-
- Don't unescape leading period in File.fnmatch?
-
-commit 1cf054a08b0aeea7c348ff26c71ccaf22c02ce70
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Dec 6 02:36:54 2007 -0500
-
- Rename Array#pretty_inspect to avoid conflict with pp
- Hardcore bikeshed action on the way TestGenerators are inspected
- Change describe.rb to call the renamed pretty_inspect
-
-commit 519d1226027623274766641a256e2a9753257266
-Author: Nitay <nitay@powerset.com>
-Date: Wed Dec 5 16:07:25 2007 -0800
-
- Fix Constant = Class.new setting of name
-
- Signed-off-by: Kevin Clark <kevin.clark@gmail.com>
-
-commit 568c57ca57d4a9183e492024e17aa1352902d1d2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Dec 5 20:31:43 2007 -0500
-
- Clean up mspec output to prepare for unit_diff support
- Use pretty_inspect to display compiler2 TestGenerator output
-
-commit e250521194380f4c942fd6d53664b746ca63e3e3
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 5 17:27:27 2007 -0800
-
- Fix constants spec to scope the fixtures
-
-commit 7010073617a4fa95ea5491284fef97a083d9d4f3
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Dec 5 14:42:27 2007 -0800
-
- Vastly simplify and fix constant lookup
-
- * New constant lookup specs to test behavior
- * Added StaticScope object and field on CompiledMethod which stores
- a StaticScope instance which indicates the lexical scope of the CM.
-
-commit 163e56646a817301201af843b45c973da058688c
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Dec 5 23:00:16 2007 +0100
-
- The spec for Dir#rewind doesn't pass on Rubinius.
-
- It's not platform specific, but we don't have a working Dir#pos yet
- and the Dir#rewind spec relies on it.
-
-commit 3afe61bd78aa9e850f081b83ca2c478ae297bda1
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 5 13:51:05 2007 -0800
-
- Changed mini_rspec to show failures unless being run by autotest.
-
- Added dir_entry.rb to .gitignore.
-
-commit 0c661894b54615ee4915d61569e072ffdfa8826d
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Wed Dec 5 09:17:24 2007 -0500
-
- Much-improved tiny option parser lib/options.rb.
-
- * The Options API is much more user-friendly now,
- size is still about 100 LoC
- * Specs for the API.
-
-commit 092e0081c26eeda2ca6561eb19123b468965c84a
-Author: Ryan Davis <ryand-ruby@zenspider.com>
-Date: Wed Dec 5 01:40:31 2007 -0800
-
- Added support for autotest.
- Requires a new release of ZenTest to actually work.
- I'm tired, I'll do that tomorrow
-
-commit 9e3e41d71d1bab8104ae17ff34aaa2311be3b0b1
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Dec 4 22:59:49 2007 -0800
-
- Commit miss for require specs
-
-commit d1a6f0805b739930e54406188e32ac1e0f30a74b
-Author: Eric Hodel <drbrain@segment7.net>
-Date: Tue Dec 4 22:24:49 2007 -0800
-
- Add specs for Kernel#require, never add .rbc files to $LOADED_FEATURES
-
-commit a60e3bf901b62fbbbef59acb2c6c9f164be1fbbc
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Dec 5 14:10:15 2007 +1100
-
- Cleanup case spec, update excludes
-
- * converted case specs to not use should
- * separated out case specs with target expressions from those without
- * updated excludes for two failing specs under compiler1
-
-commit f0de77911ff0b4532a47fb9803685e8d968d51ec
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Tue Dec 4 09:42:49 2007 +1100
-
- Fixes for compiler2 when_spec failures
-
- * Added compiler2 spec for when without an arg
- * Added spec for when without arg with an else to
- spec/language/case_spec.rb
- * Implemented many_if sexp compilation
-
-commit c9c67738ecae341441098993923838a15b64d166
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Dec 4 20:42:27 2007 +0100
-
- Test Etc.getgrnam() with "daemon" instead of "root".
-
- The "root" group seems to be a Linux-ism.
-
-commit 1fd6d97e8eb20ce9908cc0abd09b7c5555ff5720
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Dec 4 19:31:24 2007 +0100
-
- Post-move fix for the Options spec.
-
-commit ead52428d99549b6b53b8897d969e80072395ef6
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Dec 4 19:12:28 2007 +0100
-
- Moved codearchive.rb, options.rb and readline.rb from kernel/core to lib.
-
-commit 0e4568bcc23011957cc250de2a93031648281b21
-Merge: 78fba04... fbc5ad5...
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Tue Dec 4 00:50:46 2007 -0600
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 78fba04c31e9d97c32862e9e104e3917dcff9137
-Author: Charles Nutter <headius@wlan100.headius.com>
-Date: Tue Dec 4 00:39:05 2007 -0600
-
- Making socket spec more reliable by using nonblocking accept for TCPServer and adding a "ready" flag for UDPServer.
-
-commit 7e925ea53239207f5dd9ac5daddda8e0f1f3b687
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Dec 2 23:33:29 2007 +0100
-
- Implemented Etc.
-
-commit 450778cf5f416f6b9531664d4fff2c159c93cbe7
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Sun Dec 2 01:39:28 2007 -0600
-
- Shared spec for class_eval.
-
- - removed method-arguments from describe string
- This was causing bin/completeness to report 0 examples for Module#class_eval/module_eval
- - examples checking for TypeErrors test the exception is raised, but don't check
- the exact message as it is not part of the interface.
-
-commit cd0d11c7eb23d881f1dd73701bd3edc12c5bd744
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 1 15:28:41 2007 -0800
-
- Updated CI excludes for Dir.[].
-
-commit e41e501bcf686937fbd3b8cfc86f325d7e06184d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 1 10:54:35 2007 -0800
-
- CI spec excludes updates.
-
- * Fixed rake pristine task to whitelist Kernel#require fixtures.
- * Updated CI excludes for Dir.glob and Dir.[].
-
-commit 8f362a0350238366565a373f1feb9594efe03407
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Dec 1 18:50:55 2007 +0100
-
- Make sure we delete the directories we're creating in the mock dir.
-
-commit dfc1b1cd32f47b48dd358ca50226d614425ef8b2
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Dec 1 18:08:27 2007 +0100
-
- Dir.chdir now always resets the working directory when called with a block.
-
-commit 02f41a92bbafd1a555344e1082970e090cd1f9a5
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 30 23:41:29 2007 +0100
-
- Call StringValue on require's and load's argument.
-
-commit 601fd404ba04f383ee286be015edb7e8c58574d5
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Nov 30 14:27:44 2007 -0800
-
- Refactor Kernel#require
-
- * Refactor a bunch of Kernel#require into Compile#require_feature
- * VM.load_library now detects if the extension is already there
- and doesn't readd it
- * Added specs for #require
-
-commit 9b903cb7c5c6a3bfbaa3a7a91dc7bad830af7294
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Nov 30 10:56:02 2007 +1100
-
- Compiler2 fix for anonymous masgn, e.g. * = 1,2
-
-commit 08bc0a2f14494a30d5956d5bdcca9eb37c921780
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 30 00:16:07 2007 +0100
-
- Made check_argcount work with methods that don't take any arguments.
-
-commit 96108240fead7d764f3ec37d5eb20294f3a9dd97
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 29 21:45:32 2007 +0100
-
- Updated the CI excludes for Method#call.
-
-commit 61805ab7fac6ae9855baa05b42aebe66c3a2b3d3
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 29 21:44:49 2007 +0100
-
- Made Method#[] an alias for Method#call.
-
-commit 219d34dedf6ff0ed083cb5f1e8b6a5c437ad366c
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 29 21:22:05 2007 +0100
-
- Enabled the Kernel#method_missing specs.
-
- They pass now that they specs aren't confused by the Dir spec helper
- methods anymore.
-
-commit de5320efe8095e612e235bea7053084bb61d300d
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 29 21:17:58 2007 +0100
-
- Moved the Dir spec helper methods in their own module.
-
-commit 1ae47b5c091c209597bec7475935bbcff34b50b5
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 23:45:09 2007 -0800
-
- Applied patch from #151.
-
-commit adb5b139afa452869464fe53b710d7cb8b93131b
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 20:29:38 2007 -0800
-
- Better fix for guards to distinguish ruby, ruby1.x from ruby1.9.
-
-commit e53f72172e395c7766dcecadd2ffd6c7caf303e7
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 28 20:15:27 2007 -0800
-
- Patches (or modified patches) from #157-162.
-
-commit b07eeee79ea5a0c0160c34aec2d690f1b46f7380
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Nov 28 14:43:41 2007 +0100
-
- Fixed Bignum#modulo and Bignum#remainder.
-
-commit 85b05b5103aaeb5d946e0f691f77af2dafa6f30a
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Nov 28 01:00:07 2007 +0100
-
- Unified the File.unlink and File.delete specs.
-
-commit 2ec59a82f279a4ba6b5b781c90a7714aba767ed9
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 23:30:43 2007 +0100
-
- Be more specific wrt the expected exception.
-
-commit 54236949e9b974d4c4dcf95b63318c844c62aca4
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Tue Nov 27 19:58:50 2007 -0600
-
- Module#<=> is working, Updated CI excludes for Module specs.
-
-commit 55c7529f4c8b02eff7e0b594f33b28750877fca2
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Tue Nov 27 14:53:02 2007 -0600
-
- Specs for Module#private/public/protected
-
-commit 5b693fae3464abb6a5aa05d8236bd8f4610c89d4
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 19:36:06 2007 +0100
-
- We cannot use File.exists? to check whether a symlink exists.
-
- Use File.symlink? instead.
-
-commit e7eb6a8e1e1310c08220db0ed7979ec4c721fccb
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 19:34:48 2007 +0100
-
- Moved the after(:each) block before the specs, so the block is actually run.
-
-commit 4c284abb32029029ab7002147ef544493c7070f6
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 19:00:30 2007 +0100
-
- Added a missing Errno.handle to File.readlink.
-
-commit f163ca7c5e4a03d698a881853d1e0fab8a5be1a4
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 18:42:08 2007 +0100
-
- readlink() only works with symbolic links.
-
- This makes the spec pass on MRI.
-
-commit ca1cb21b5f694b3850a838f88d3ac5ded7de3e1f
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Nov 27 18:40:43 2007 +0100
-
- Naming convention fixes.
-
-commit cbf351cb59152a5528f6c6105cee96c67f7f6fcd
-Merge: f70d531... 5452983...
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Mon Nov 26 19:48:21 2007 +1100
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit f70d5314fcc75ef2e32fbd484de58bd5f7ed6cbc
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sat Nov 24 17:29:29 2007 +1100
-
- Implemented File::symlink and spec.
-
- Kudos to the Melbourne Railscamp :)
-
-commit c4a6a804185c18a182206afc1b8d5209d208077e
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sat Nov 24 01:08:41 2007 +1100
-
- Removed trailing whitespace.
-
-commit 9b9820e512f56b2c23c760887251d72c187aa297
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sat Nov 24 00:50:11 2007 +1100
-
- "Added File::readlink spec"
-
-commit 2dd272afe315dae0ad0b9bd49b6dfa9e98e50b1c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Nov 23 17:11:54 2007 +1100
-
- Spec-ed implementation differences on masgn RHS eval order
-
- Rubinius is (for now) deliberately non-compliant wrt eval
- order of RHS expressions in an masgn.
- * MRI, JRuby eval left-to-right
- * Rubinius evals right-to-left
-
-commit 361a1adcee182cf069352effd0949064b621bddc
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Fri Nov 23 16:16:08 2007 +1100
-
- Additional parallel assignment specs - use of to_ary
-
- * Added spec for when to_ary should be called on the RHS of an masgn
- * Added additional example of a complex masgn (from JRuby tests)
-
-commit 97cb3f5758f102cf8a07262c4c9bef4b22ca88b7
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Thu Nov 22 22:04:51 2007 -0600
-
- Added specs for metaclasses of true/false/nil on metaclass_spec as suggested by rue.
-
-commit d4f9eb7cd5fb17e3e8ce52db39e95a96362d3ad0
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Nov 22 13:05:10 2007 -0800
-
- Fixed wording of Rubinius extension Bignum domain specs.
-
-commit 50e1f80ef54d25aaa69d52a3d422547593836ac6
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Thu Nov 22 17:18:54 2007 -0500
-
- Added excludes for Kernel#open and Thread#abort_on_exception
-
- * Excludes Kernel#open raise specs
- * Excludes Thread#abort_on_exception specs
-
-commit 25607d4d884b4597bc69560e9390cd9dc1f4e44d
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Thu Nov 22 13:47:50 2007 -0600
-
- Specs for Module#alias_method
-
-commit c207618ad4113501aa5df4adb5d5aa3a60f5b9ff
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Nov 22 10:59:34 2007 -0800
-
- Use RUBY_ENGINE first, then pull in rbconfig
-
-commit ed5a46e13b35d6ad48cce1d3eed96c2f78ace049
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Thu Nov 22 11:42:36 2007 -0500
-
- Added basic specs for abort_on_exception
-
- * Added specs for Thread#abort_on_exception ($DEBUG on and off)
- * Added specs for Thread#abort_on_exception=
-
-commit 05ecef9162ba2c4a0da90c966a20a4f45c353d93
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Thu Nov 22 08:39:53 2007 -0500
-
- Added specs for when parameters are missing or invalid parameters are given
-
-commit 25d2c940d561dcac2c06df747762a229dddfbed1
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Nov 22 15:33:17 2007 +1100
-
- Another parallel assignment spec - rhs should evaluate l->r
-
-commit 8e4f8de446b842c13ad45a8e0e2c3c1ebf30bddb
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 21 17:42:17 2007 -0800
-
- Stop-gap prevention for Kernel#callcc hanging CI specs.
-
-commit a9d7163e4d9e8d4fb79c9769691b232676a44bd8
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Nov 21 15:50:39 2007 -0600
-
- remove compliant(MRI) from callcc specs
-
-commit 812e922c8e7cda728d6b7f32933b75eb009eef11
-Merge: 2e221b9... f24bb1f...
-Author: Nathan Witmer <nwitmer@gmail.com>
-Date: Wed Nov 21 12:32:18 2007 -0700
-
- Merge branch 'callcc_spec'
-
-commit f24bb1ffdf941df78098da262a62e881653b1a99
-Author: Nathan Witmer <nwitmer@gmail.com>
-Date: Wed Nov 21 12:31:28 2007 -0700
-
- Added scope-related callcc specs, compliant(:ruby) only.
-
-commit 2e221b9f1d7ffa41431e5bd51fdd36434e7f838f
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Nov 21 14:41:43 2007 +0100
-
- Spec and fix some more String#slice bugs when given nil, also use Undefined.
-
-commit db338d9d8705fd668a5639d483ff47908aa014ca
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Nov 6 16:53:13 2007 +0100
-
- Fix String#rindex when given nil as offset.
-
-commit 6eab3b692a50c1a37cc39c21d743de1488402f64
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 21 00:00:24 2007 -0800
-
- Added MRI stdlib Fcntl to lib/ext with build script.
-
- Added lib/fcntl to load extension. This may need a better solution.
- Added INT2FIX to subtend.
-
-commit 5268c0b29c1fb07a911fe601e30b21ffe04f7e81
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Nov 21 17:02:14 2007 +1100
-
- Additional specs for parallel assignment
-
- MRI allows parallel assignment to:
- - assign via object.method=
- - assign via []=
- - use a lhs arg as an arg to another lhs assignment
-
- All three scenarios currently fail in Rubinius, apparently due to
- miscalculating the number of args to an assignment method under
- parallel assignment.
-
-commit 462f68b95a70c24e41cad5a40969c4651c7de181
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Tue Nov 20 02:12:44 2007 -0500
-
- Added specs for Kernel#open when block is given
-
-commit ab9e40600fd2522d4abce86f7b8bdc632f6e9018
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Mon Nov 19 23:42:55 2007 -0500
-
- Added very basic specs for Kernel#open
-
-commit b47efc9f9872ecca68a06f6864f39617e06762b0
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 19 00:24:15 2007 -0800
-
- Updated CI excludes. Runs clean on Leopard.
-
-commit 3ff04e52bc9cb03439567ddb9b3b63b3034b30c3
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Nov 19 00:03:58 2007 -0600
-
- more specs for Kernel.callcc, ensures callcc return value semantics
-
-commit 06d5312c51b09faef87d2deb53f3c472eaa94100
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Sun Nov 18 17:49:44 2007 -0600
-
- basic callcc behavioral specs
-
-commit 53433f0e9ddba2eac876f7a1fb0f9d292ee37286
-Author: Nathan Witmer <nwitmer@gmail.com>
-Date: Fri Nov 16 16:51:18 2007 -0700
-
- Added Kernel#callcc spec and fix for LocalJumpError with no block given
-
-commit d324779b8b5c8dd84438c08ec4f2b2574282f93e
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 15:17:21 2007 -0600
-
- Added Module.nesting
-
- Some specs are failing on rubinius because the parent
- field is not being properly set.
-
-commit cff726c9dc3631b2e0ddc3e12bd3af532f7e1ef4
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 14:49:38 2007 -0600
-
- Added spec for calling Module.nesting on root level
-
-commit 05adb6070889d7021a1e53ab82b855c3554d4f5c
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 14:45:23 2007 -0600
-
- Fixed specs for Module#constants
-
-commit 1f1c857e1d8c37213a91daaad3fc3bfcbf2bef61
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 14:43:55 2007 -0600
-
- Fixed spec description for calling Module.nesting from methods.
-
-commit 242c947c6e4d007685e8aa0c44ac505c7dab4239
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 14:38:32 2007 -0600
-
- More specs for Module.nesting
-
-commit 3560fd7ef0d5a65a9cb055d87fa7103ed3bdb029
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 10:24:45 2007 -0600
-
- private keyword specs reflecting problem described on ticket #133
-
-commit fd31e1e592237832bd5e605f604d15385df0615a
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 16 04:15:27 2007 -0600
-
- specs for Kernel#block_given? by Francisco Laguna
-
-commit 87ebce4cf2430198578decdb4c7dc1003db37f8e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Nov 15 22:07:39 2007 -0800
-
- Ticket #121 by Jeremy Durham -- File modes
-
-commit 4a67e0ade233aaaa3a2ff17161b298872f8a5f83
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Thu Nov 15 14:20:19 2007 -0600
-
- Splitted enumerable_spec.rb into a file per method.
-
- Added some specs by Francisco Laguna.
-
-commit 0b933650330f57e7db1bf8574d0b7eecf0635996
-Author: Bryan Helmkamp <bryan@brynary.com>
-Date: Tue Nov 13 11:34:20 2007 -0500
-
- Added specs for File.mtime.
-
-commit 42a7de27c1a6082fee7b9baaf05b9394ffe90ddd
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Nov 12 19:57:38 2007 +0100
-
- Updated CI excludes for File#atime and File.new.
-
-commit 3d106d6a9b8ce0b34e7b6f9426da51b83fe5f676
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Nov 12 19:54:43 2007 +0100
-
- Added File#path.
-
-commit 247da25a0120d468fe9f189a6235962f9658b65e
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Nov 12 19:23:09 2007 +0100
-
- File now deals with numeric modes and accepts a permission argument, too.
-
-commit 087deaed0dcf4ae2c8dc713eeccfed9a0ebabe6f
-Merge: 4355e96... 1c9d213...
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 23:15:01 2007 -0800
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 4355e96b05de4d4d086dfa86b8fe19bdcecfbe82
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 23:14:16 2007 -0800
-
- -a
-
-commit 7e975d1aca38a3bfe07fda431aeaba376bce19c1
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 23:09:47 2007 -0800
-
- Get rid of irrelevant specs
-
-commit 1c9d2133fc294964ce08e9a7020083c379f74ca0
-Author: David Waite <david@alkaline-solutions.com>
-Date: Sun Nov 11 23:46:08 2007 -0700
-
- Remove temp directories within mkdir spec on exception.
-
-commit 2110fc75dc6a7ab521249f259bc6fdc78d565b11
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 22:36:08 2007 -0800
-
- Update CI Excludes
-
- * Expected failure of "raise an Exception if it has
- the wrong number of argments" due to dispatcher bug
-
-commit 0f2a183a46ba085d9c99ed4767cd18c0482e6d45
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 22:14:07 2007 -0800
-
- Implement File#atime
-
-commit 671b340f340ab6b8d9c13b27d52a782ce3268b2a
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 11 21:24:34 2007 -0800
-
- Update CI excludes
-
-commit f7ba96f6b41de9a3696a03e9efe25c8b037a4f07
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sat Nov 10 11:24:12 2007 -0800
-
- Adds spec for File.open
-
- * In resonse to Lighthouse Ticket #102
- "File.open should throw Errno::EACCES opening non-permitted file"
- * Passes MRI, doesn't yet pass RBX
-
-commit 719329b3f5179766e23a27e427cd0c0846c85ffa
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Mon Nov 12 10:38:42 2007 +1100
-
- Added IO#to_i implementation and spec.
-
-commit cc100fc08be101ecdf0daba1966977fb8e39fa6e
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Mon Nov 12 10:30:25 2007 +1100
-
- Added IO#fileno implementation and spec.
-
-commit d036f5c16a4836d638be83108be35df532d9221a
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Nov 11 23:17:12 2007 +0100
-
- Made SystemStackError subclass of StandardError.
-
-commit bf1c3dc3e463aeaf4e0cee1cbd46b15e7693a395
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Nov 11 20:36:25 2007 +0100
-
- Removed an old Method#arity spec exclude.
-
-commit 72c3495f3513e54c2488292bcdaca9208b6f0339
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 11 10:44:53 2007 -0800
-
- Removed transient dirs from Dir specs.
-
-commit 11f0ed51b4bfb3bea2b544a82b3158fd3daf2ad8
-Author: Victor Hugo Borja <vic.borja@gmail.com>
-Date: Fri Nov 2 03:02:28 2007 -0600
-
- Specs for Module#remove_const
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit e8158f14f0f02e3b0cdcb4182e1277928324cc0c
-Author: Nathan Witmer <nwitmer@gmail.com>
-Date: Sun Nov 11 08:19:10 2007 -0700
-
- Fixes for UDPSocket spec
-
- * Renamed the description to match what was actually being tested
- * Uncommented the code and wrapped it in an "it" block, to prevent
- conflicts/hangs with bin/completeness runs.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 9b973a98d2ebddacd50f0fcb58903bb53bdff3f5
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Nov 11 13:30:22 2007 +0100
-
- Ticket #98: Dir includes Enumerable now.
-
-commit 8d957f186cd4d2c5e6b236de4a0878d38b464848
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Nov 11 13:26:00 2007 +0100
-
- Implemented Module#included_modules.
-
-commit 0021b24ba490fe01f96ef17957328feeedfc4c29
-Author: Nathan Witmer <nwitmer@gmail.com>
-Date: Thu Nov 8 21:42:41 2007 -0700
-
- Commented out code in UDPSocket spec so bin/completeness doesn't hang
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 56687aed201fb864587807cca893268a9f1e2050
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 11 00:10:14 2007 -0800
-
- Method fixture for yield specs.
-
-commit 421aa58f9135807487864adcdcac79f7b6da33c1
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 11 00:08:35 2007 -0800
-
- Specs for yield keyword based on patch in #114.
-
-commit 5ba0b2030c55474f9d8a096d309678ca24a4699b
-Author: Jeremy Durham <jeremydurham@gmail.com>
-Date: Sun Nov 11 01:35:08 2007 +0100
-
- Ticket #105: Implemented Bignum#eql?.
-
-commit 47356fe39033f8571559a4fef933681fda871efd
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Nov 11 01:14:26 2007 +0100
-
- Made specs for Kernel#respond_to? and Kernel#method pass.
-
- KernelSpecs::Foo#baz is defined in another spec, so these two specs
- may not rely on #baz being undefined. This is a horrible workaround
- for the problem that multiple specs make use of the same module and modify
- it freely.
-
-commit 68b4fc7c0192f537fe9727927ac35c440dbdc03a
-Author: Akshay Rawat <akshay.rawat@gmail.com>
-Date: Thu Nov 8 18:21:03 2007 +0530
-
- Updated CI excludes.
-
-commit a1eee3814a5d054cd00e26b40c063d41880bf6c7
-Author: Chris Pettitt <cpettitt@gmail.com>
-Date: Sat Nov 10 14:10:47 2007 -0800
-
- Refactor IO.gets spec to have less duplication.
-
-commit 56497d27bdb3a82d549f89b9fc9fcf0709f99b3e
-Author: Chris Pettitt <cpettitt@gmail.com>
-Date: Sat Nov 10 14:07:21 2007 -0800
-
- New spec: IO.gets('') should advance the file position to the next non $/ character.
-
-commit 95158f5a4141d5d3e2893304e49bfeb62cc7b226
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 10 13:35:03 2007 -0800
-
- Added rescue to prevent meltdown until rbx begin/rescue/ensure is fixed.
-
-commit a39155cb029ca3c1e5e5d69e0e269c685c040f6e
-Author: Chen Yufei <cyfdecyf@gmail.com>
-Date: Sat Nov 10 12:24:38 2007 +0000
-
- Fixed IO#gets when separator is empty.
-
-commit f9c31ce1d2a68c15def98aad6c6ff35eb56cd523
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Fri Nov 9 20:24:40 2007 -0800
-
- Clean up Enumerable#include? specs
-
-commit f017fad69be5d4034a4c5437acf77ec4749b0d75
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 4 20:54:06 2007 -0500
-
- Clean up Enumerable#(collect, entries, find, find_all) specs
-
-commit 81550f082396b4455c3681ae966be1371be0a5db
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 4 13:18:52 2007 -0500
-
- Update excludes
-
-commit d5fd2ee893ea608c7e19cb674a4da7b9f49542e6
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 4 12:16:58 2007 -0500
-
- Cleanup/rewrite Enumerable#find tests for sanity and clarity
-
-commit 39f21aa76f6ddc45be79e4e4e978b4c1c2beed71
-Merge: 17d2e4c... c1b9f74...
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Fri Nov 9 20:25:13 2007 -0800
-
- Merge branch 'master' of http://git.rubini.us/code
-
-commit c1b9f74f88be963e72de763da9130f46869d89fb
-Author: Chris Pettitt <cpettitt@gmail.com>
-Date: Fri Nov 9 12:36:04 2007 -0800
-
- Fix some failing specs for IO#each and IO#each_line.
-
- Also refactor some common code into a helper method.
-
-commit 74af37b849507e504503359a08245effaad7634a
-Author: Chris Pettitt <cpettitt@gmail.com>
-Date: Fri Nov 9 10:58:33 2007 -0800
-
- New specs for IO#each and IO#each_line
-
- This change adds some new specs for IO#each and IO#each_line factored into
- a shared .rb, because one is the alias of the other. Added failing specs to
- excludes.
-
-commit d162a396b566846445328d6c42d3d5f10fcf7ee6
-Author: Matt Pelletier <matt@eastmedia.com>
-Date: Fri Nov 9 02:32:25 2007 -0500
-
- Add and refactor patches from Andrea OK regarding #send
-
-commit 63f0ed010e65549597f6bddb0686ba04157ca478
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Nov 7 09:52:25 2007 -0800
-
- Fixed Method#call spec failing from renamed fixture method name.
-
-commit 1ef46468d7808c52b07388130069cb2e7854bff8
-Author: Matt Pelletier <matt@eastmedia.com>
-Date: Wed Nov 7 04:48:39 2007 -0500
-
- * Update CompiledMethod#arity to be accurate for cases of required and/or optional arguments, with or without blocks
- * CompiledMethod#arity is still inaccurate when splat argument is present (the presence of splat overrides #required)
- * Add specs for more thorough coverage of various argument use cases
- * Includes known Rubinius-failing specs for splat-related arity
-
-commit b7726f26dae95936aa1c3fdf2c52dd18ef7413cf
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 17:48:51 2007 -0800
-
- Updated CI excludes for fixes to public|private_class_method.
-
-commit eb18f898e3ae8e5a1bf3b01291a12516c6a22301
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 17:18:22 2007 -0800
-
- Added Module#protected_method_defined?. Updated CI excludes.
-
-commit aa8904cdbd8b4851be4f05cec3000b04cfc9f6c1
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 17:14:12 2007 -0800
-
- Added Module#private_method_defined?.
-
- Fixed specs for Module#public_method_defined? and
- private_method_defined?. Updated CI excludes.
-
-commit 063b61759ee86f5def2422d16f1eb854c8b9eb76
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 13:39:21 2007 -0800
-
- Updated CI excludes for StringIO.
-
-commit 3c79f871379d2d4b5431138033f723efbf4a795d
-Author: Dr Nic <drnicwilliams@gmail.com>
-Date: Sun Nov 4 16:45:30 2007 -0500
-
- Extended StringIO spec "flattens a nested array before writing it" to ensure deeper test scenario
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 916d617a60cf83ac26c3090310236193f5842ff6
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 13:11:54 2007 -0800
-
- Updated CI excludes for String#scan.
-
-commit fee1d904197c369c561ae3b11aaf582f1b87d1b0
-Author: Matt Pelletier <matt@eastmedia.com>
-Date: Sat Nov 3 16:06:16 2007 -0400
-
- Fix test of String#scan. Do not force matches into array using splat.
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit cc9182cfcde60a63bf566f73c6004b7e46347e77
-Author: Daniel Lucraft <dan@fluentradical.com>
-Date: Thu Nov 1 17:01:03 2007 +0000
-
- Added File.rename
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit fc2b7aa65ab338d8ff543552659046c93659c3ce
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 12:06:13 2007 -0800
-
- Commit rework of Carl Drinkwater's patch from #72.
-
-commit 7f6564b96762d7b3deb9f021789182f5c664a766
-Author: Chris Pettitt <cpettitt@gmail.com>
-Date: Sun Nov 4 10:38:04 2007 -0800
-
- Fixes for two IO#gets spec failures.
-
- This patch fixes the following two IO#gets spec failures:
-
- IO#gets assigns the returned line to $_
- IO#gets returns the entire content if the separator is nil
-
- Signed-off-by: Brian Ford <brixen@gmail.com>
-
-commit 705e8e05496167b1af3a1e3ff3446d325ca54e07
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Nov 5 02:10:56 2007 -0800
-
- Added Module#public_method_defined?.
-
- Updated CI specs for #public_method_defined?.
- Small fix to find_method_in_hierarchy to symbolize arg.
- Updated some spec wording and removed spec'ing exception string.
-
-commit 17d2e4c6ae0c40376fe121786a362c8bc8ce951c
-Merge: 2b77ee8... c07472c...
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 4 20:58:42 2007 -0500
-
- Merge branch 'master' of http://git.rubini.us/code
-
-commit bd6c27f4724bdc461a7036e6373a0ad23060020a
-Author: Trotter Cashion <cashion@gmail.com>
-Date: Sat Nov 3 15:57:21 2007 -0400
-
- Added operator precedence specs for '&&' and 'and'.
-
-commit 2b77ee8b74373a3251973d96c931422909605e29
-Merge: 30d7618... 76aa72e...
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sun Nov 4 13:43:23 2007 -0500
-
- Merge branch 'master' of http://git.rubini.us/code
-
-commit 2c90ce28cc73e08d9fb74b5c7e815807314ba269
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 4 07:18:09 2007 -0800
-
- Updated CI excludes from 85d63b676e.
-
-commit 85d63b676e463a2bec9a322bc8eeffd2daee433b
-Author: Chen Yufei <cyfdecyf@gmail.com>
-Date: Sat Nov 3 23:39:23 2007 +0000
-
- Added specs for IO#gets
-
-commit be5b9595f2077080c0c1179ab9689352d8faea3a
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 4 00:31:12 2007 -0700
-
- Updated CI excludes.
-
-commit d46ad4b63d4a5f77609b0880b7f24e8e27404805
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 4 00:11:52 2007 -0700
-
- Updated CI excludes.
-
-commit 1f307223c673c6744f8b85fc3e707a3419b1a0e8
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Nov 4 00:06:48 2007 -0700
-
- Guarded #freeze specs for MRI and JRuby.
-
-commit ca50fd7d979c36f8af306e0e1474aac5408dd66d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 3 23:22:31 2007 -0700
-
- Guarded specs for #frozen? for MRI and JRuby.
-
-commit 16b36030a796b877809d5d6ea556266c4b4a6413
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 3 20:53:26 2007 -0700
-
- Removed NULL characters from language/precedence.
-
- Enhanced rescue output when loading spec files.
-
-commit 10510ece16ebb5e0ba921e0be631a4740f3e4453
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sat Nov 3 23:09:30 2007 -0400
-
- Fix a method_missing cache error.
-
-commit b313c5632b039c03a448ae3b1046701c8b3243a2
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 3 14:10:29 2007 -0700
-
- Changed shared spec behavior to be compatible with RSpec.
-
-commit 7b825b89e96b3c8e38f9b8bcc8edf2bc6ec6ff22
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 3 14:09:47 2007 -0700
-
- Fixed language/class specs.
-
-commit 30d76181b0b3a9c5ac99c9d0e22a6a451346eff4
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Sat Nov 3 16:47:49 2007 -0400
-
- Fix Dir#each/Dir#entries/Dir.foreach specs. They weren't updated for fixtures
-
-commit f44a8cceb9a186a7127276db2207dfc79957ee8d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Nov 3 13:06:35 2007 -0700
-
- Guard File.(un)link for jruby.
-
-commit 1ec2c3a99ca562c8944aac1f4a60f8e0af0aaf17
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Nov 3 18:20:48 2007 +0100
-
- Properly resize the array in Array#<<.
-
-commit 8dec9918d8a6233ec2cde29d54687a5d950dc8df
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Nov 3 17:13:57 2007 +0100
-
- Fixed Array#unshift for the case when @start > 0 && @start < values.size.
-
- Also extended the Array#unshift specs to cover this case.
-
-commit 50b90918cd5a9a05e475690703c7867b443d191b
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Nov 2 13:47:53 2007 -0500
-
- added IO::foreach, fixed gets to use string separator, and fixed IO::readlines to use File.open
-
-commit 3efc01e110473d003ffb0a1376ec179f30e600de
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Nov 2 13:30:44 2007 -0500
-
- specs for IO::foreach and specs to test IO::readlines,IO.readlines with string separator
-
-commit fad18610b4416dfcfaf35db5029e880dff7e9820
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 29 14:10:11 2007 -0500
-
- basic exec implementation and a single basic spec (not sure how test test exec)
-
-commit 730fc3ed9afc54612d14093148fb8583c9e39fe3
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 21:41:25 2007 +0100
-
- Return mkdir()'s return value from Dir.mkdir.
-
-commit f5766696e701a069f908b3b5d5cfbccfee15ef1f
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 20:46:11 2007 +0100
-
- Implemented Dir.foreach.
-
-commit c696f1edc50c58b87270811c0c9aa0e49b356fe7
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 20:38:36 2007 +0100
-
- Implemented Dir.entries.
-
-commit e8e6188b252172690c1b584e528e3c71035897cd
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 18:16:13 2007 +0100
-
- Raise an error if the opendir() call in Dir#initialize fails.
-
-commit 024309b560c6c69f6f331c614df1da221be7054c
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 16:15:19 2007 +0100
-
- The Array#[]= spec seems to work now, so enable it.
-
-commit 76f118e62a0784326f5edf1c0fe46f6b6e682eee
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 14:28:49 2007 +0100
-
- Made Math.ldexp only accept integers as the second argument.
-
-commit 22bd7369efd1f738835e9c0a6a4624a26dae02d1
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Nov 2 13:30:50 2007 +0100
-
- Implemented some missing File::Stat methods.
-
-commit d6dc42d9085fed5f8bf482d7f84dd9c5fbd4423c
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Nov 1 12:24:53 2007 -0700
-
- Fixed specs failing MRI for File.stat and File.basename.
-
-commit 46f4de189e987f3071ede57f2bb1f7c892d67bd4
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 1 17:30:47 2007 +0100
-
- Fixed ticket #83: Array#push doesn't die anymore after calling Array#shift.
-
-commit 8debed24e957e48b10d60885d9a43083aab4d923
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Nov 1 11:14:22 2007 +0100
-
- In the Numeric#coerce spec, coercing strings to numerics should work.
-
- We can remove the TypeError checks from this spec, since those
- are included in the specs for the Numeric operators.
-
-commit 28cf656fb25ce38453acb2efdcf2e9ac16bb4460
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Nov 1 01:33:31 2007 -0700
-
- Removed Hash#fetch definition from fetch spec.
-
- Fixed spelling of Hash#find_unambiguous.
- Updated CI excludes.
-
-commit a6a69b469d94d0912ccbf123fdb9f53cbaf32830
-Author: Akshay Rawat <akshay.rawat@gmail.com>
-Date: Tue Oct 30 21:47:51 2007 +0530
-
- In the Time#isdst spec, don't depend on the system's current time zone.
-
-commit 1be129f98e0d548a023cc32f5ab763361e2a9c6b
-Author: Daniel Lucraft <dan@fluentradical.com>
-Date: Wed Oct 31 21:05:04 2007 +0000
-
- Fixed String#split to not return non-matching captures anymore.
-
-commit 5f7f798ef26fc8ee1e83c5e392c1fb2e60e31382
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Oct 31 21:54:56 2007 +0100
-
- In the Numeric#coerce spec, don't try to coerce strings to numerics.
-
-commit e26b7645af27d5bfc250c2c11f7e72349750f5c7
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Oct 31 10:52:13 2007 +0100
-
- Added a failing spec for Ticket #83.
-
-commit 9144f0c55eb5f40409bec514f08f89bdba61f800
-Author: Daniel Lucraft <dan@fluentradical.com>
-Date: Wed Oct 31 13:57:54 2007 +0100
-
- Fixed math/constants_spec.rb.
-
-commit 4b521cacb667ca5245954bc03ebfec67c0ac235c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Wed Oct 31 23:26:45 2007 +1100
-
- Modified spec to reflect expected differences in masgn retval behavior
- between rbx (true) and MRI (array of rhs vals).
-
-commit 1f6c50f5c77566e66cb0b842733b7f4f4b24e937
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 30 18:13:47 2007 +0100
-
- Use a fixed timezone for the Time#strftime spec.
-
-commit 60a25e997def085f3ae29773ce70ddc5b7c38d46
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 30 00:47:38 2007 -0700
-
- Fixed Kernel#raise to not output if $VERBOSE == nil.
-
- Guard Marshal.dump specs to eliminate error output until
- a proper Marshal is implemented.
-
-commit e446f2e329a6dfaacb45b5b86ba43ebd9ec606a3
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 29 23:17:49 2007 -0700
-
- Added IO::SEEK_SET, SEEK_CUR, SEEK_END with FFI.
-
- Fixed IO#close to raise IOError if already closed.
-
-commit fcb1ac4d076c07065878c2e65bf7bb44ddef400c
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 29 22:37:23 2007 -0700
-
- Specs for IO#seek and IO::SEEK_SET, SEEK_CUR, SEEK_END.
-
-commit a3570f6702dabd303fcd10d4cfc0e753cff69bb5
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Oct 29 22:33:34 2007 +0100
-
- Make Module.new actually work.
-
-commit 9709fa96b91afe5140f76726f1f7d4b89f8a6d54
-Author: Brian Donovan <brian.donovan@gmail.com>
-Date: Mon Oct 29 11:30:32 2007 -0700
-
- Ticket #75: Fixed Enumerable#sort_by.
-
- We must not call the comparison proc when the object and pivot are
- identical.
-
-commit 52e97da6bbcd28ec4349abcf25b089648d085652
-Author: Akshay Rawat <akshay.rawat@gmail.com>
-Date: Tue Oct 30 02:18:56 2007 +0530
-
- Enabled Math specs that were fixed by Ticket #59.
-
-commit 0f98800d4ab1db526304f1d26597ca3880c811da
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Oct 29 19:29:16 2007 +0100
-
- Ticket #59: Kernel#send now calls private methods, too.
-
-commit 754e48c223c3464c7d048452585c07b8d0b3d8c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 29 00:11:41 2007 -0700
-
- Specs for IO#rewind.
-
-commit 0bfd6bcca8fb287899fadeae81dd7c00b05d07e9
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Oct 28 23:40:37 2007 +0100
-
- Module#public_instance_methods now handles attribute accessor methods.
-
-commit 0a22b36b9bc50a34f1da1d0e994f1a6689195652
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Oct 28 23:26:17 2007 +0100
-
- Added a failing spec for Enumerable#sort_by.
-
-commit 006534b173a186c25c228b653d5ac9d81b20f57e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 21:51:40 2007 +0100
-
- Update Module spec excludes.
-
-commit 496df827eeeb600858fa8c7b26482aa3f653fee1
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 21:50:47 2007 +0100
-
- Make Module#ancestors specs pass.
-
-commit 18185cde2b47374c304e2528a084ea1f7b5178d2
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sun Oct 28 19:46:22 2007 +0100
-
- Added a failing spec for building an array that includes a splatted array.
-
-commit f120a470a5e07a7e53b1e006173942d58956e86b
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 19:33:10 2007 +0100
-
- Extended Kernel#` specs.
-
-commit 7e184c5bbc7be16cc8f7be01713543f222edd267
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 19:00:52 2007 +0100
-
- Removed Exception message dependencies and extended Kernel.String specs.
-
-commit 2853dc58209b3b8d122cee66c7d83e967d0879de
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Sun Oct 28 23:01:54 2007 +1100
-
- Fix for multi-arg operator assign through [], e.g. x[0,3] += 5
-
-commit 91b88710ddc1e8553e51c404cee4039f4d6abf24
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 13:05:08 2007 +0100
-
- Fixed File.ftype specs.
-
-commit 448fdc2def3a9ab249dadf9335568ca30b76f70e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Oct 28 00:36:11 2007 -0700
-
- Updated compiler specs.
-
-commit 0fb510c14ee8787b5965d5665e50da92a988faa6
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Oct 28 00:32:41 2007 -0700
-
- Fixed Bignum#coerce specs.
-
-commit 5e52a259b91e81fe5497f44107dee6ffd613b3be
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Oct 28 00:22:40 2007 -0700
-
- Fixed wording on Rubinius Bignum#coerce extension specs.
-
-commit 19e0259ca51691afe341b1217ab92862b307fe17
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Oct 28 00:15:18 2007 -0700
-
- Revert "Remove invalid and failing Bignum#coerce spec."
-
- This reverts commit 2371b920ca3f956213ab9e406a3b5d2afab4f18e.
-
-commit 4986ec283ee5aa9e392065c74d64952d36554b91
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Oct 27 23:50:05 2007 -0700
-
- Updated CI excludes for Array#pack.
-
-commit 5472f30201d7cddd4465adb246fa32927fe03d91
-Author: Alan Hurdle <alan.hurdle@gmail.com>
-Date: Sat Oct 27 18:38:30 2007 +1000
-
- Bunch of fixes to Array#pack to pass the current set of pack specs
-
-commit 20210a617a3f31c5dc0eda9fa371c49200c11f67
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 02:30:02 2007 +0100
-
- Updated spec excludes for Module specs.
-
-commit 712e3cc6a5d8a69834449e1039dfae3e07fcdcc2
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 28 02:18:00 2007 +0100
-
- Removed the dependency on some Exception messages.
-
-commit 2371b920ca3f956213ab9e406a3b5d2afab4f18e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 27 16:15:33 2007 +0200
-
- Remove invalid and failing Bignum#coerce spec.
-
-commit e1e62e7749d47c838d6b7cd1e95863c0c90d3de0
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 27 20:59:49 2007 +0200
-
- Fixnum#div now always rounds towards negative infinity.
-
-commit 9a4ccbe8381db5b6280c9d1dfcf6fa21a4838c4e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 27 15:09:57 2007 +0200
-
- Updated Spec excludes for Bignum and Fixnum specs.
-
-commit 889c939a668b9b1a4fd8f5a0cfd8bad85c3a5977
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 27 14:24:27 2007 +0200
-
- Fix Integer#[] when given a Bignum.
-
-commit 45d97332f4ec5a174884024c954ceeb6eb852f5f
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 27 13:46:51 2007 +0200
-
- Partial fix for #68: Fix Hash#fetch to correctly handle yielding with a default value passed.
-
-commit a785ea28f39c71a98007a7fafc23985dd21b596f
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 27 13:39:42 2007 +0200
-
- Updated CI excludes for recent Hash fixes.
-
-commit 6dd909fede466ed813ec7c5d207c5deeb69c9eb7
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 27 11:33:22 2007 +0200
-
- Fix for #67: Enumerable#sort should not depend on #size.
-
-commit 720489aa52bfabd492c307330204772b5eba6755
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 26 00:21:37 2007 -0700
-
- Updated CI excludes for spec/language.
-
-commit 41e8a07252b2df9c1e858922195a72f9a40c882c
-Author: Akshay Rawat <akshay.rawat@gmail.com>
-Date: Fri Oct 26 02:37:18 2007 +0530
-
- private keyword should mark a Module method private
-
-commit a201e631cbaabcc5964cfa3eb28a9fa8be1bf347
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 26 00:11:01 2007 -0700
-
- Added spec/language into CI specs.
-
- Updated CI excludes for spec/language.
-
-commit 833fe76de0c0b900ef5255b2abecd19943404c0c
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 25 23:53:35 2007 -0700
-
- Updated compiler specs and CI excludes.
-
-commit f31e5af358d2b5c3ff4afd3819b3a3e571427f8e
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 25 23:28:13 2007 -0700
-
- Migrated Adam Gardiner's compiler patch 236d213de8 to stable.
-
- Updated CI excludes for language/variables specs.
-
-commit bd9e47b1b7624df5e2ae0f31a7fd53c787ecc7e4
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 25 22:50:22 2007 -0700
-
- Fixed language/variables spec to use fixture class.
-
- Added CI exclude file for language/variables specs.
-
-commit 688f03ac452f698105812c28c29dcc7162b7037c
-Author: Adam Gardiner <adam.b.gardiner@gmail.com>
-Date: Thu Oct 25 22:43:20 2007 +1000
-
- Added specs for operator assignment, i.e. +=, *=, ||= etc
-
-commit 982dfee01bedb55e8dbf62d279bc4a375e58ec50
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Oct 25 16:53:45 2007 +0200
-
- Don't hardcode the result of Hash#to_a in the Hash#shift spec.
-
-commit 4bf7c8d2d387c002004da5df9f9c2a06fb65e61e
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 25 01:42:32 2007 -0700
-
- Commit tilman's language block spec additions with some modifications.
-
-commit ff8f6f5b5f5285b0fcf361d84523bf21320074b2
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Oct 24 20:20:12 2007 +0200
-
- Extended the Hash#[] spec with a test case for ticket #65.
-
-commit dc61b1e771c70e54f98859da3dd31a4ea61384e1
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Oct 24 07:11:07 2007 -0700
-
- Specs after(:each) MUST come before it blocks.
-
- Updated CI excludes for IO.read specs.
-
-commit 06539bad037e0ef7368ea5cbb5780fce7bbea443
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Wed Oct 24 21:26:49 2007 +1000
-
- Initial IO::read specs.
-
-commit a2f26d7a7b1997510edff1792eaec6507ba38208
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 23 19:30:46 2007 +0200
-
- Implemented Numeric#remainder.
-
-commit 2bc5fcee6be4db3e0e0c46aa7c1b8ef5a5c57957
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 23 19:10:54 2007 +0200
-
- Fixed Bignum#modulo(0.0).
-
-commit 68965dc12ea369f6db64c208cb2ce123c1398bb8
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 23 10:20:04 2007 +0200
-
- Extended the Numeric#nonzero? spec a bit.
-
-commit 290ddde29d6c64e9c81f69780b7b0c967b2b4901
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 23 10:15:57 2007 +0200
-
- Added Numeric#nonzero? and killed bad Fixnum#nonzero? in bootstrap.
-
- This fixes the Numeric#nonzero? specs.
-
-commit e9a1b257fc95c181e46c679d301a324134a725d4
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 23 16:07:58 2007 +0200
-
- Enabled the Numeric#step spec now that it works fine.
-
-commit f4016db94eee2ec93a2cc487181c9ec2fa0d59d0
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Oct 17 13:51:04 2007 -0700
-
- A number of fixes found while debugging test/unit and optparse
-
-commit 7c7920c3e7727c3514b493ba299a52c5e5cde8f6
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 22 18:12:42 2007 -0500
-
- Numeric#step is capable of floats and passes all tests
-
-commit ebc6ec5be0239bba544c55ff77fdc88903f4bb28
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Oct 22 20:56:33 2007 +0200
-
- Made the Symbol#inspect spec pass.
-
-commit f0db8c3d1bb5dc444fc72ed5ca222f4cf5df8b35
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 21 14:00:30 2007 +0200
-
- Fixed a bug in process_op_asgn1 and added a simple spec for it.
-
-commit 4fbce6e8a6ab8fbb6b69944677678611db68bcf2
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 20 20:03:50 2007 +0200
-
- Fixed a failure in String#sub specs
-
-commit ca0332f9edb9e01ae216dee90674fb6f9809951c
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 20 22:33:42 2007 +0200
-
- Fixed the Bignum#size spec for Rubinius' implementation.
-
-commit ae9c2ac3fe9dc59a027af7571d6d3083bcccb490
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 20 14:14:49 2007 +0200
-
- Don't rely on #respond_to? calls.
-
-commit 94938622aaf74e1f068c3b7ec8bfeccf763792ba
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Fri Oct 19 20:56:50 2007 +0200
-
- Extended the private spec.
-
-commit bf000a15edcfdd30c43ae6563b5766617f245a60
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 19 00:49:16 2007 -0700
-
- Updated CI excludes.
-
-commit ad146fc7ae22bfc26a536a40cf8dc4c0338cf25c
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Oct 18 19:45:27 2007 +0200
-
- Added a spec for the 'private' keyword.
-
-commit f15b5a8c818932d0ab5bea46f48a326e468b3511
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Thu Oct 18 19:44:54 2007 +0200
-
- Added Object#should_not_include.
-
-commit 80fdbd626d8ff99dc7ba4cf23a05d44ad98bd0cb
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Oct 18 09:31:51 2007 -0700
-
- Updates Hash so:
- * No longer freezes keys
- * Specs reflect the lack of freezing
- * shift spec doesn't fail purely because to_a is broken
-
-commit 197f36b6626b61203709704db869324a539764d5
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 20:11:50 2007 -0500
-
- moved File::expand_path to platform and made several fixes + new specs
-
-commit 7e8506fd510ab4e6f07e6d36456fdfef6e5b080a
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Wed Oct 17 21:07:44 2007 +0200
-
- Make sure that File.dirname doesn't modify its argument.
-
-commit 271bc31ba814e68fb414ebf29cf9648f57fe4cb6
-Author: David Altenburg <david@gensym.org>
-Date: Wed Oct 17 00:39:59 2007 -0500
-
- Added to fork spec: check that fork returns a nil pid for the child process
-
-commit 5d45341c55400a51d8cae3128bba265e7d441fab
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 05:19:49 2007 -0500
-
- moved File.basename to platform, added specs, and fixed specs for all but a disputable behavior
-
-commit ae7afd794881a4dedadf876f61369e5e88da695b
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 04:47:24 2007 -0500
-
- added platform/file.rb and fixed File.dirname for all and updated specs
-
-commit 71bf9b1c9cd7fb81692186d21b133fde43e8a6b7
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 03:44:33 2007 -0500
-
- spec to check if break exits all types of yields and loops correctly
-
-commit 3a546b40271d35bf7c60bb56a68ca49089ac9a34
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 03:01:40 2007 -0500
-
- clarified include_spec
-
-commit 40d8ed96fa689daf31039e71f91ed5520a821aa2
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 02:38:46 2007 -0500
-
- specs Module#include and Class#include that check to see if constants, public_methods and instance_methods are imported correctly
-
-commit ff462080a58aaa61759830e18f3a5757a883980d
-Merge: 5a2c858... 5cf41ab...
-Author: Jon Guymon <gnarg@kiryo.(none)>
-Date: Wed Oct 17 01:55:33 2007 -0400
-
- Merge branch 'puts_specs'
-
-commit 5cf41abaff9dc04cdba5fe50492d4ebfdde2a274
-Author: Jon Guymon <gnarg@kiryo.(none)>
-Date: Wed Oct 17 01:55:01 2007 -0400
-
- normalized specs for IO#puts StringIO#puts and Kernel#puts
-
-commit 5a2c858086c1b02a54864ff82c12d4bf3a559535
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 17 00:43:24 2007 -0500
-
- fixed posix File.join and added edge cases to specs
-
-commit e7972b8617b8b0ef2a19a1f7ddedd4d93ab80f5c
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 16 21:17:21 2007 -0700
-
- Commit gnarg's loop specs (#49).
-
-commit 3fcdd60b4c9fc20081987bb13aab37b9419939a3
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Tue Oct 16 19:46:36 2007 +0200
-
- Make this spec usable by loading pathname.
-
-commit 276b6cc5620a5a3629d56b04ade7c397a48c2488
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 16 00:53:11 2007 -0700
-
- Exclude metaclass instances from Module#ancestors list.
-
-commit e108e7f3f8a6ef7cf2acf4bb7e7a6609900a3ebc
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 16 00:06:54 2007 -0700
-
- Updated CI excludes.
-
- Updated compiler specs to match recent changes.
- Added compiled core/string.rb from changes in edeffe90517.
-
-commit 1a1410f394b3de23b63560f2a5c1312cc6451d2e
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 15 19:49:40 2007 -0500
-
- spec for __FILE__ added
-
-commit e158c3130f033a1029ae26888b8e7e541f2b388a
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 15 19:46:58 2007 -0500
-
- spec for __LINE__ added
-
-commit d09ad9e6b28c91f5d00db5d0b369c4932eabbe2b
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 15 18:45:48 2007 -0500
-
- spec for throw/catch inside of ensure reverted and clarified
-
-commit 0e5336f1572fc1ad766cff61d8843410d28df9db
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 15 18:33:27 2007 -0500
-
- spec super refactored into fixtures and expanded to test all methods on each class
-
-commit b998ec8e682c3a0f2160066bb84f40b68f748407
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Oct 15 16:26:58 2007 -0700
-
- Implement undef and Module#undef_method
-
-commit fed8486110930cabce64e0421638a867740e4d21
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon Oct 15 15:54:44 2007 -0700
-
- A bunch more language spec cleanups.
-
-commit 66086cb333432a29d4c4ce4fec6a01c0ac88c5a5
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Oct 12 19:33:59 2007 -0700
-
- Bunch of compiler fixes to pass more language specs
-
-commit 680e0ca4cafb20fa053f0dd5cd72915da9fbc86f
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Mon Oct 15 17:36:09 2007 -0500
-
- specs for super involving inheritence, modules and metaclasses
-
-commit 167febd232f5cf4696cf8e81a96d1c9d80744e36
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 15 15:32:48 2007 -0700
-
- Update CI excludes on OS X.
-
-commit 948e2573800859931e8c61e72069c21e9a50193b
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 15 14:23:02 2007 -0700
-
- Update compiler specs to match recent changes.
-
-commit a015bac050e1080548bd947c5f59b344175a809d
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Oct 15 23:51:01 2007 +0200
-
- Enabled the remaining Bignum#& spec.
-
-commit 0b37b2946772ea41fe7b14c762be7fdbaa4a6f8d
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Oct 15 18:20:56 2007 +0200
-
- Updated Spec excludes for Bignum.
-
-commit ae613272bcf0c260ad3da00ffd14d4a76422ac46
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Mon Oct 15 08:30:11 2007 +0200
-
- Added the beginnings of a File.stat spec.
-
-commit 81147d2eadb0397c2bcc1b9dd620bb55b6e0e53d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Oct 14 11:33:21 2007 -0700
-
- Fixed Float#to_s for numbers of the form "\d+.0".
-
-commit 2f9ba53190ca19ca425126d1319f47b3bbce12f6
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 14 18:57:04 2007 +0200
-
- Updated Bignum excludes.
-
-commit 0c81822cf703da13f6a8783cc6cd4ad453d2ff74
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 14 18:05:45 2007 +0200
-
- Add some OpenStruct specs.
-
-commit add2a900029530cb35b6463525313f432b7f36f4
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 14 17:29:38 2007 +0200
-
- Extended some more Bignum specs.
-
-commit 45cf3a275d390d4ae1d995eca89e10ba82d2288f
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 14 17:29:01 2007 +0200
-
- Extended the Fixnum#to_s specs a bit.
-
-commit d8a42cdd57967ee07cccfa5f3f814d97353c48c9
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 13 23:16:37 2007 +0200
-
- Fixed the bug that broke 'case' blocks with a single 'when' statement.
-
- Acked-by: Wilson Bilkovich <wilson@supremetyrant.com>
-
-commit 5624627fd61378fce65aebf2ffacc39c45ac5ee6
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 13 23:48:32 2007 +0200
-
- Ticket #37: Fixed Bignum#& segfaults when the argument isn't a bignum.
-
-commit 2081e5f53ba80cb9aa2ee272d4e543db1d4e732e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 23:43:08 2007 +0200
-
- Modify and extend Bignum specs a bit.
-
-commit 7917f4f8a538a3251e3cb17d55e4cf2a523af8d5
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 23:42:44 2007 +0200
-
- Modify the fixnum specs a bit.
-
- Remove dependencies on Exception messages.
-
-commit 171f25c25865da618c2e2a9a7b221abda613efa4
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 02:02:12 2007 +0200
-
- Extended Fixnum#<=> specs a bit.
-
-commit f708429a161c52dd713b4239527247c57fa158af
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 13 23:30:37 2007 +0200
-
- Guard bin/ci from running the new Bignum#& specs, which segfault (on OS X at least).
-
-commit 19f40e0ae1b60c037d0c38537a0924ad5726902a
-Author: Ben Curren <ben@esomnie.com>
-Date: Sat Oct 13 13:46:35 2007 -0700
-
- Refactored const_name_to_sym to share logic with Class#attr.
-
-commit ee9daad614fa746a3fe2fc1b9123c65dbb0814c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Oct 13 11:52:08 2007 -0700
-
- Identify which ruby platform and version before changing this spec!
-
- Revert "Fix spec to expect correct result."
-
- This reverts commit 8268469c563943cba6c1afce5d84defbc35f1789.
-
-commit 14a7781944491e5a1c3f5c664adcac4e1c383f2f
-Author: Tilman Sauerbeck <tilman@code-monkey.de>
-Date: Sat Oct 13 17:15:24 2007 +0200
-
- Added a failing spec for 'case' with only one 'when' statement.
-
-commit 8268469c563943cba6c1afce5d84defbc35f1789
-Author: Tom Mornini <tmornini@engineyard.com>
-Date: Sat Oct 13 03:22:47 2007 -0700
-
- Fix spec to expect correct result.
-
-commit 671f93c69e74976c3f5886c7fe8eb32402ccd338
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Oct 12 19:06:07 2007 -0500
-
- specs exiting threads using return, raise, and throw
-
-commit 119154a3ea5ecee20e77726b38fb58ee4b536d48
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Oct 12 18:59:47 2007 -0500
-
- spec to ensure throw exits from correct nesting and can return a value
-
-commit f36f68f075b34b5436257aba1ae41c14c04adcae
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 01:54:42 2007 +0200
-
- Method#[] specs should include the fixture classes.
-
-commit 22d32a24eb799307e42af55b04752c74ff500080
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 01:40:01 2007 +0200
-
- Extend Bignum#coerce, Bignum#&, Bignum#| and Bignum#^ specs.
-
-commit e1f682e27d2486d65297cf2121c354a99954a56e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 13 01:38:55 2007 +0200
-
- Removed a dependency on an exception message in Fixnum#coerce specs.
-
-commit 9754ed5e74eeb6d62f0015f3615d077aa2e58a6f
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Fri Oct 12 21:41:56 2007 +0200
-
- Fixed File.chmod and File#chmod specs on win32.
-
-commit 5ad3a4b7035bdade48586191c6e26cde1e74976c
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 13 01:37:46 2007 +0200
-
- Remove wrong spec from Bignum#divmod.
- Update CI excludes.
-
-commit b068c8634b56cd9129f9fc7c309bfa81869209c8
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Oct 12 18:21:52 2007 -0500
-
- specs for behavior of throw/catch and how they interact with ensure
-
-commit 45d4a8be8f20b2b70d32d0fdd340feb8897a1ad7
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 13 01:21:21 2007 +0200
-
- Add (skeletal) Process::Status.
- Set $? in Kernel#system and Kernel#`.
-
-commit ef1499962a16a7ce85bffe9e61863d2806caf6ec
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 23:52:16 2007 +0200
-
- Regenerate core/dir.rbc and CI excludes for Dir.
-
-commit b999f31ded2a7eccb856d95653a2826a3a190204
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 23:02:39 2007 +0200
-
- Fix typo in Dir.mkdir.
-
-commit de235630aa08df803be0420084b0a61ee35f5448
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 12 13:56:13 2007 -0700
-
- Added dev_null spec helper for capturing or silencing $stderr, etc.
-
- Fixed failing specs on OS X MRI 1.8.5.
-
-commit 01e27ea5fa0e0f0d170cd88f128adfbb2a2703bd
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 22:01:43 2007 +0200
-
- Add spec for backticks and their setting of $?.
-
-commit f7b18c19e47c15f3ab05f8fa548eff034206b0d8
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 12 13:21:03 2007 -0700
-
- Added guards to make specs pass on ubuntu feisty MRI 1.8.5.
-
- Fixed rspec_helper should_include to take multiple args.
-
-commit b2d25d4a502dca79ea98f60d937be7dbd8f496d2
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Oct 12 14:19:55 2007 -0500
-
- spec for retry/redo to control order of an enumeration
-
-commit eec535a19dc2b20156349720dc3bb526c9fa4f1e
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 18:53:33 2007 +0200
-
- Revert "Fix Kernel#`: set $? to the subprocesses exit status. Add a spec to check that."
-
- This reverts commit 40da2d5c68196c3c9002c4ca75ead0fefc520bef.
-
-commit 40da2d5c68196c3c9002c4ca75ead0fefc520bef
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 18:43:44 2007 +0200
-
- Fix Kernel#`: set $? to the subprocesses exit status. Add a spec to check that.
-
-commit 5da57253750e854bd9baf5378684222a895e7fd9
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 16:24:18 2007 +0200
-
- Shield "strange block args" spec from being run by mspec.
-
-commit 2a8f7d7dd6b0f7f800320f84d16d5d089357e085
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 12 14:48:42 2007 +0200
-
- Fix block specs for MRI.
-
-commit ade6c39f6199198e0015558698bc7d0333f7bcd0
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Fri Oct 12 12:07:49 2007 +0200
-
- Fix Array#delete specs.
-
-commit 825af45d5effb6909bb0832f92621b96e51dc380
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 12 01:15:23 2007 -0700
-
- Updated CI excludes.
-
-commit e1bfb47d3560929512cbdf5c27f56c92435ce29f
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 12 00:40:53 2007 -0700
-
- Removed printing summary at exit in mini_rspec.
-
- Set $VERBOSE=nil when running the specs.
- Fixed specs failing MRI.
-
-commit 1f1a041d8bcfaeb8dd3cb17f7d31b21281e690a2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 11 18:26:14 2007 -0700
-
- Moved shared specs to shared directories.
-
- Rewrote Module#method_missing specs.
-
-commit f9177eb198003b495f485a13910808fe603030ad
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 20:54:22 2007 -0700
-
- Added a failing test for setting and getting constants on an instance of a module.
-
-commit d9cbad87fd4d578e4f637627fa03cab312882a36
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 20:51:27 2007 -0700
-
- Updated the excludes for module tests.
-
-commit 938f034bad41f4fe3391b941e536bce9e1be0af6
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 20:49:57 2007 -0700
-
- Updated const_set_spec to not create a new instance of Module for testing purposes.
-
-commit 550caaf78723b00f95c5f8f38215b15a0940698a
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 18:21:01 2007 -0700
-
- Updated the excludes for the tests that are now passing.
-
-commit 82c51fc652e215f0dc421099329c03a37af8e8f8
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 17:56:48 2007 -0700
-
- Updated const_set and refactored the valid_const_name? further.
-
-commit c6323c74d0ee7b554d2cfbff3bd8d85ea910e0c9
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 12:01:27 2007 -0700
-
- Added logic to remove Object and empty from a recursive string for const_get and const_defined?
-
-commit c108d2a623f5041f46b6efa32d0b331f4f91d669
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 11:58:04 2007 -0700
-
- Added back the recursive case for const_get and const_defined?
-
-commit b976f184d8ade3b5d32d3e7ec11027c21c2bce2a
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 11:33:41 2007 -0700
-
- Refactored const_defined to use const_get.
-
-commit 82c5c14b948cedbf3bed5f7996634b0238e4de55
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Oct 11 17:38:05 2007 -0700
-
- Bunch of compiler fixes, almost have test/unit and optparse running.
-
- * Adds support for /ao#{name}/o (aka dregx_once)
- * Invalid redo's raise an exception at runtime instead of compile time
- * defined?(a.foo) works
- * Lots of work on getting the block arg semantics right, including a new
- instruction, passed_blockarg which is used to detect at runtime how
- many block args were passed in.
- * bug in 'yield 1, 2' versus 'yield [1, 2]' fixed
- * A little better error reporting on compile errors
- * Fixed Class#<, added #>, #<=, and #>=
- * Fixed Hash.new
- * Fixed nested case problem
-
-commit 1369b104a3f966dd4d279362afdc6ccb72f06de3
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Oct 11 22:47:16 2007 +0200
-
- Fix String#eql? specs.
-
-commit b190009707c120edb257a9ad92697145092c5612
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Oct 11 10:57:10 2007 -0700
-
- Shield parse errors in block args properly
-
-commit 0509ecbd6aeb973061866c5e04c590f975174b41
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 10:21:08 2007 -0700
-
- Updated tests to test FixNum being passed to const_defined?
-
-commit 80116298779dc5afd3294cd83d758d76d0dcdf50
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 10:16:46 2007 -0700
-
- Added error checking to const_defined?
-
-commit eed3ae097b1dae17e45cdb959b75d1fa7cf21c1b
-Author: Ben Curren <ben@esomnie.com>
-Date: Thu Oct 11 09:25:53 2007 -0700
-
- Convert paramter to_str if it responds to the method.
-
-commit 348df85a082eee56c301bce594d6c522050e34dd
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 10 18:49:34 2007 -0500
-
- specs for language/retry and updated redo to show differences between them
-
-commit e924e2bb206317e8f5375c979f5e4e1046fccca9
-Author: Tom Mornini <tmornini@engineyard.com>
-Date: Wed Oct 10 00:55:47 2007 -0700
-
- Add Class#attr, refactor Class#attr_reader, Class#attr_writer and
- Class#attr_accessor, pass all specs for Class#attr_*, fix a couple of issues
- with said specs.
-
-commit 21b0bdc67c6a8cc4ad4b9d3942a2608fb45da31d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 9 15:10:04 2007 -0700
-
- Commit #198, patch from Will for Module#(private|public)_class_method.
-
-commit 2cf5f0b4683d0a65181c1450d0714c4e165db1cd
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Oct 9 21:00:13 2007 +0200
-
- Moved shared specs.
-
- Moved shared specs into the 'shared'-subdirectory so specs don't depend on each other anymore. Added some more shared specs.
-
-commit e558fab61ce9f7c5211d005aff2c5e8fc1b39931
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Oct 9 19:53:46 2007 +0200
-
- Fixed a failing Array#each spec. Closes #14.
-
-commit 0d77eefd718c826e02376edc8643364eb511773d
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Oct 9 19:09:17 2007 +0200
-
- Removed remaining dependencies on Exception messages in Fixnum specs.
-
-commit dd4063ba46eb313a57957d76dce3608dd8e5c161
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Oct 9 18:58:01 2007 +0200
-
- Fixed String#crypt spec.
-
-commit d5a2bb2b000fae7391e512c5bcab054ce967de3b
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 9 09:35:51 2007 -0700
-
- Updated CI excludes after applying Akshay's Precision specs patch.
-
-commit 10cd5764bbf51f1defa6815f8b07fcdce0de8875
-Author: Akshay Rawat <akshay.rawat@gmail.com>
-Date: Thu Oct 4 21:48:15 2007 +0530
-
- Specs for the module Precision
-
-commit 2e711c30e4e9ce50d9c20ab14a3b99ea47be32e9
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 13:56:45 2007 +0200
-
- Make IO#puts specs pass in MRI.
-
-commit 13dc28c47c3211f01663d002847badb50277f277
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 13:44:51 2007 +0200
-
- Silence warnings when running Hash specs in MRI.
-
-commit 52f903938f4eacf4465f7a36cacb25aa662aa559
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 13:44:02 2007 +0200
-
- Turn Hash#values_at into a shared spec.
-
-commit 1e02ced5a68f16b8a65809136d954c68c9fdc590
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 12:59:58 2007 +0200
-
- Add a few more specs for Struct#new.
- Regenerate CI excludes for Struct.
-
-commit 94ea8c1f25761384796e9499e0b4b3faeba9da66
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 12:48:03 2007 +0200
-
- Silence warnings when running Struct specs in MRI.
-
-commit 5ea6b219a8465cfad86dae9ae12d6a8d85812532
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 9 12:42:58 2007 +0200
-
- Apply patch from ticker #23 by Jon Guymon (gnarg).
- Make Struct specs not depend on method argument evaluation order.
-
-commit 8cbf7b94300e6ebcc0ee3cbe0de8123ef3563e96
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 8 22:08:29 2007 -0700
-
- Fixed that including a module includes the whole chain.
-
- Fixed that Module#include only allows modules.
- Simplified some module fixtures.
- Updated CI specs for module.
-
-commit 4e7e2768d50392831a4d26f236d4cff733418225
-Author: Ben Curren <ben@esomnie.com>
-Date: Mon Oct 8 11:54:51 2007 -0700
-
- Added puts spec for io and updated IO implementation to match MRI's. Updated Kernal#puts to delegate to $stdout.puts.
-
-commit edc724086e84725995ed1720d4fa7a781fd9c3c6
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 8 09:24:40 2007 -0700
-
- Updated CI excludes for Module#define_method.
-
-commit a53ddb723a10d692223f05a49679e17f403fa128
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Oct 8 01:05:04 2007 +0200
-
- Fixed some Fixnum specs to not depend on error messages.
-
-commit d6bc4b47f3f395980c92f323cf029da1ccdba709
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 7 23:42:12 2007 +0200
-
- Added another failing spec for Module#define_method.
-
-commit 49435e31289f593a118377b3513ec9e7cdfea06b
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 7 23:37:19 2007 +0200
-
- Added failing specs for Module#define_method when given an UnboundMethod.
-
-commit 821c0114777fb2a77f1c85f216ee54e4c5340943
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Oct 7 22:29:47 2007 +0200
-
- Apply patch from ticket #15 by Jon Guymon (gnarg).
- Add Struct#eql?.
- Rebuild core/struct.rbc.
- Add more struct specs.
- Update CI excludes for Struct.
-
-commit 1f14c3510d4563930d11155f36717c0fb851c678
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Oct 7 18:13:33 2007 +0200
-
- Added some GetoptLong Specs.
-
-commit f9c8c00649212b924561300abbd0cb037c1d278d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Oct 6 23:00:05 2007 -0700
-
- Update CI excludes for File#executable.
-
-commit 6d4427d07fc474e2404cdd2b6f3b925d99d90e67
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Oct 6 22:50:45 2007 -0700
-
- Updated spec/excludes.txt from 72 items to 17.
-
- Added -V | --verbose flag to bin/mspec.
- Updated CI excludes.
-
-commit d4f5e44a8e2f8e682b779f45d12d060e83eb9fc7
-Merge: a035e9d... 42abc5e...
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 15:18:45 2007 -0400
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit a035e9d3d204cf7e5ddb2fec72ca471ff33c3b9b
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 15:13:28 2007 -0400
-
- fix a bug in the File.executable? spec
-
-commit 3c23c945aaf143aa8706b1cd2956908a71940e26
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 15:09:55 2007 -0400
-
- fix bug in File.executable? spec
-
-commit 94e59065bf921ae167a6b04edfef40de336978a1
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 15:03:14 2007 -0400
-
- Revert "Revert "Add a few more Proc#call specs. And CI excludes.""
-
- This reverts commit 7658362c3882c6be2ef67f6b57d6c6796ff5de98.
-
-commit 42abc5ed6e1ced2fa86e9dc9379c6bed4da4537e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Oct 6 11:40:49 2007 -0700
-
- Updated CI excludes for Kernel specs.
-
-commit 7658362c3882c6be2ef67f6b57d6c6796ff5de98
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 14:29:28 2007 -0400
-
- Revert "Add a few more Proc#call specs. And CI excludes."
-
- This reverts commit 567659dee34014d037d4797bf0c171597e0ac05d.
-
-commit 567659dee34014d037d4797bf0c171597e0ac05d
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 16:23:54 2007 +0200
-
- Add a few more Proc#call specs. And CI excludes.
-
-commit d8e737b09f8ed984e57b4fbbd5c016a7643aa67d
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 15:56:33 2007 +0200
-
- Fix Array#slice specs. Regenerate CI excludes.
-
-commit c79eeb620296a1802e6d194463063555638911bf
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 14:34:05 2007 +0200
-
- Fix Array specs that depended on respond_to? being called on coercion.
- Regenerate CI excludes for core/array.
-
-commit 8a60522fd8237fdfa36ef5518c9642216c66f8d6
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 14:08:22 2007 +0200
-
- Guard Array specs for #freeze. Fix MRI Array specs for #freeze.
- Regenerate CI excludes.
-
-commit eaaab65c54c3b81397441169761774ef95867297
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 12:47:55 2007 +0200
-
- Add specs for Proc#call. Regenerate CI excludes.
- (Most of these seem to be from e6cf8978.)
-
-commit 19bcb0f6ec1b2247985823492f0c25f0aa5d94ab
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 12:09:29 2007 +0200
-
- Slightly amend the core/hash specs.
- Regenerate CI excludes.
-
-commit 6d1afe325098a73757980bb208fb2c8c64bd016b
-Merge: ac9365e... 0d22ef5...
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 01:13:59 2007 -0400
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit ac9365e384263b6f062353f2afab3e33d8f84f3e
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 01:13:23 2007 -0400
-
- added spec for OpenStruct
-
-commit e6cf8978a6dd441d5d4793c48438fab4150ca750
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Sat Oct 6 00:14:01 2007 -0400
-
- added several tests to Proc
- added tests for Kernel#lambda and Kernel#proc
-
-commit 7b69ae066cab2252375d1ad19c6f17b365c47c32
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 18:51:11 2007 -0700
-
- Updated CI excludes for Array.
-
-commit f216e89033d10f3500798561282e48aa0e5b5537
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Fri Oct 5 20:45:41 2007 -0400
-
- really simple spec for the Singleton class.
-
-commit d682b176237a988afa7ebdb3460d64ea41fab919
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Oct 6 01:54:31 2007 +0200
-
- Applied esomnies
-
-commit b3018362c0cad86a5a026eb39b5f6ea4a8af1192
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 01:24:05 2007 +0200
-
- Guard Hash specs for #freeze.
-
-commit a185f463adbab1d6f82126dde9abe88a29e83283
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 01:15:23 2007 +0200
-
- Fix workarounds in core/hash specs.
-
-commit d796eb3d8a5d9a070b105f1fe0e9f46be5bfaaee
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Fri Oct 5 17:09:48 2007 -0500
-
- specs for UDPSocket client/server
-
-commit 46a9c1a0d0610865b659c289293b444f0b3d6ae9
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 15:32:56 2007 -0700
-
- Fixed bin/ci to not load spec/excludes.txt for every file.
-
- Fixed bin/mkspec to not overwrite an existing spec file.
- Updated Fixnum CI excludes.
-
-commit 1099f49c06de5621aff36216179f46c308e60a38
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 14:40:24 2007 -0700
-
- Added basic IO#readlines spec and implementation.
-
-commit edc438039ee503c7b9d1fb83b04bd9bc1664cda5
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sat Oct 6 00:09:41 2007 +0200
-
- Regenerate core/hash.rbc, core/hash CI excludes.
-
-commit 2ad7d015a316620a488ed1cdeb45fe696b9d410a
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 5 23:56:59 2007 +0200
-
- Extend core/hash specs to check for LocalJumpErrors.
-
-commit 42d961f0ab8a7e23a822b41ca82aaed5a48da2bf
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 5 23:21:20 2007 +0200
-
- Refactor and fix Hash#inspect.
-
-commit b51402d8724478b85789d19857a2a48442470fcb
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 11:29:08 2007 -0700
-
- Fixed bin/mkspec to not create the spec file stub if the file exists.
-
-commit efe79de398db491ce97666a3f4f3b38265c1ab95
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 10:55:52 2007 -0700
-
- Updated CI specs. Guarded String specs for #freeze.
-
-commit 8647951df433d427be31bec060edf5b7efb46e46
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Fri Oct 5 17:04:25 2007 +0200
-
- Replaced all occurrences of Object#coerce_to with Type.coerce_to and removed Object#coerce_to.
-
-commit 778e11d2df647cf91a712bb30df34152c71dbc3f
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 5 11:42:40 2007 +0200
-
- Don't work around rbx bugs in Hash specs.
-
-commit 4b42923eb2cdebe43f9e9dd80fff98d9ded26e4b
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 5 11:29:33 2007 +0200
-
- Fix Hash specs to pass in MRI again. (Doh!)
-
-commit 8a4f0b1c0d95b7a87ed99583797cf7d3710fb15a
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 02:24:30 2007 -0700
-
- Updated CI excludes for Hash.
-
-commit cecbf342546f37f4923728e8381e7fafcb039633
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Oct 5 02:22:41 2007 -0700
-
- Changed bin/ci to run in a single process. Updated CI excludes.
-
-commit ba0f4ef5405665c84af4410d70be5ef911a93195
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Oct 4 22:58:50 2007 -0700
-
- Adds the intern spec from Ticket #8
-
-commit 0721f6ea40f51202ec9d2d421061be92e05a18b9
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 22:39:00 2007 -0400
-
- Commit #207 Xavier Shay Enhanced specs for Hash
- fixed Binding#dup spec
-
-commit ce4a1866ef65e041fbed224c3f694ca534d0a0d1
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Oct 4 18:24:21 2007 -0700
-
- makes String#delete faster
-
-commit 7ec0eeadf554150159f0a04468b16de8f06c2e8a
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Fri Oct 5 00:32:25 2007 +0200
-
- Whoops, two more frozen TypeErrors I forgot.
-
-commit 78a3de42bf0e6f1478b2aac903c25143fd56195a
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Thu Oct 4 23:17:42 2007 +0200
-
- Regenerate CI excludes and core/hash.rbc after revert.
-
-commit beaa5d022b19cb70213d4fe14e10d7f1a5f90a3a
-Merge: c7ea881... 8cb4b0b...
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Oct 4 16:12:41 2007 -0500
-
- Merge branch 'spec_block_parameters'
-
-commit 8cb4b0b2c3c766618a523a0ef9a83106761ee2f8
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Thu Oct 4 16:11:15 2007 -0500
-
- specs for setting variables in block parameters
-
-commit c7ea8812f74184e6ee33bb236766f32fface2f95
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Thu Oct 4 22:57:09 2007 +0200
-
- Regenerate CI excludes for spec/core/hash. New hash.rbc.
-
-commit 939e8c533fb70586f8c7c6f3506d6be13f492d78
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Thu Oct 4 22:11:18 2007 +0200
-
- Fix Hash specs: don't depend on coercion to call respond_to?
-
-commit 422e45f210ec9dc2438ae3b11544823bb6ffdd50
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 16:21:27 2007 -0400
-
- added specs for FileTest#exists? and FileTest#exist?
-
-commit e43466b52184a042bd38d33273acf7afa4580a96
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 16:12:58 2007 -0400
-
- added spec for File.exists?
-
-commit 9f69c8193d92752a2be7c21d23dfe90fb9765f11
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 16:03:33 2007 -0400
-
- fixed grammar error in Method#clone
-
-commit 9321aacf703eaec6d6bc26cce83ed7475cb27d46
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 16:00:31 2007 -0400
-
- added several specs for Module
-
-commit a282c1c4c137e1bdeae34f2f9cd58bc73f257809
-Author: Jason Yates <jaywhy@gmail.com>
-Date: Thu Oct 4 14:19:07 2007 -0400
-
- added specs for Kernel#binding and Binding
-
-commit 3e92b4528dbf47b80a25232979554f7e4309460a
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Oct 4 10:45:10 2007 -0700
-
- Fixed ffi_sprintf_[fd]. Updated String spec CI excludes.
-
-commit 9e9a292a8a4befeb8a928d476119b02ac0df976e
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Thu Oct 4 18:53:47 2007 +0200
-
- Alias Object#object_id to Object#__id__
- Regenerate CI excludes for spec/core/kernel
-
-commit 8790e93c6d231baf7da07f11d02b91a38d28375e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Oct 3 18:23:42 2007 -0700
-
- Superclass checking and loop {} fix.
-
-commit 718ae6f28223e94b8ca0f3af7ce321c81a597804
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Thu Oct 4 15:05:59 2007 +0200
-
- Slightly extend Object#kind_of? specs.
-
-commit 7fa087a7058fe8872bb9743abd6dd472cd2119d7
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Oct 4 08:43:55 2007 +0200
-
- Fixed some String#slice specs.
-
-commit b9be176a9e64669f2a787c9bdebc1ba30e344d97
-Author: Paul Meserve <pmeserve@gmail.com>
-Date: Thu Oct 4 01:37:56 2007 -0400
-
- adding String#each_char
-
-commit c1b17108a78a4dc5d3e224158f8f9d76232003e6
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 3 17:42:06 2007 -0500
-
- basic specs for Kernel#sleep
-
-commit 1fe895518bdccb93991f85a92f53876ed3d4df13
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 3 14:16:14 2007 -0500
-
- added spec for Kernel.local_variables
-
-commit 00417283b36dcb58da82c6fc2e9be7580de945b0
-Author: Charles Comstock <dgtized@gmail.com>
-Date: Wed Oct 3 14:15:25 2007 -0500
-
- added specs for Kernel#global_variables
-
-commit 5b944520099f129462c3b03fa6ee7d1bb0636fc0
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Oct 3 14:07:09 2007 +0200
-
- Fix String#index specs.
-
-commit c9cdef77c7fa8dda92c91cee5a47624b9c9dc9e8
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Oct 3 14:05:34 2007 +0200
-
- Fix String#hex specs
-
-commit 4625a7afe509545f782cd4631632b4d7a58011aa
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Tue Oct 2 23:53:20 2007 -0700
-
- String#% works with a few exceptions:
-
- * %u doesn't work (it's aliased to %d for now, as in 1.9)
- * There's a weird glitch in Float(10_1_0.5_5_5) that I can't track down
-
-commit 54ab6f559093e66f78cfa30db8aa6587061552d6
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 02:05:41 2007 +0200
-
- Extend Kernel#kind_of? specs.
- Regenerate CI excludes.
-
-commit 4583be7e7ed76e5843dcb396f8bae735f341de73
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 02:03:58 2007 +0200
-
- Remove superfluous whitespace from Object#kind_of? specs.
-
-commit 5c237626469f4b0f4d227916752dd2e03510fcf9
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:50:33 2007 +0200
-
- Remove superfluous comment from Object#kind_of? specs.
-
-commit 7a2c673d04b0d0506e89073ff231104e21c3304c
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:47:56 2007 +0200
-
- Simplify Kernel#freeze specs.
- Move Object#extend vs. frozen? spec to extend_spec.
- Rebuild CI excludes for Object#extend specs.
-
-commit 3f6a27603b0b1f91ce32b9ff2a5fe3222fa7220b
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 2 17:03:37 2007 -0700
-
- Commit Charles Comstock's language return specs.
-
-commit ad4e7affcbaae4f0e967c97da485313168595a5e
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:36:27 2007 +0200
-
- Fix Kernel#caller.
- New core/kernel.rbc.
- Regenerate CI excludes for Kernel#caller.
-
-commit 73b2ef1c889c940d22da6ad6bb8882eef66592fa
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:34:10 2007 +0200
-
- Add spec for checking the default argument value for Kernel#caller.
-
-commit 180ecd6a7fa1d32e1932a322b1f8f82efd558e7f
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:32:29 2007 +0200
-
- Add spec for checking that Kernel#caller returns nil.
-
-commit 9ad0c1428df70c9fd9e0081651e3b60cf5773267
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:30:46 2007 +0200
-
- Add spec for checking the argument handling of Kernel#caller.
-
-commit 7a9483b823115b3122a4e42b21dfcb5b0f369a54
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:23:17 2007 +0200
-
- Refactor the tedious part of the Kernel#caller specs.
-
-commit e204755859e4dc147217816ab3bf587db3d51dd6
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Wed Oct 3 01:22:26 2007 +0200
-
- Cleanup description of Kernel#caller specs.
-
-commit dadbbb7930b62a4a6e47c8c32a4d9f26fcea38b4
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 23:52:49 2007 +0200
-
- Regenerate CI excludes for spec/core/kernel. Again. Because I fixed the typos.
-
-commit 4a3587da37fd27effb30356fdd2e496f8c898be7
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 23:45:33 2007 +0200
-
- Fix CI specs to pass in MRI 1.8.6.
-
-commit a46f5085f3c2a4849fe709044e447e5d6dacda4f
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 23:27:51 2007 +0200
-
- Fix typos in spec/core/kernel specs.
-
-commit cb3d5867ec91a59a2a75136eb5210a10540b0ce0
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 23:27:23 2007 +0200
-
- Regenerate spec/core/kernel excludes.
-
-commit 22e6fe0ef8dbf13aa01124447e09c9dc96f63fe3
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 23:26:51 2007 +0200
-
- Fix Kernel#Array spec: don't depend on the exception message.
-
-commit 7b79130f38925cb48712be617cef5a80c71f0ba4
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 2 14:29:42 2007 -0700
-
- Commit #5 (LH) Charles Comstock Process.wait2 spec.
-
-commit 859c119a48909030f29a2085fbe0a80ed96d2408
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Oct 2 20:57:31 2007 +0200
-
- Fix Float#to_i and add a spec to catch the old misbehaviour.
-
-commit f2b5b2304588b4fb0efd9818c79a4b9774b2c850
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Oct 2 19:07:49 2007 +0200
-
- Fix some String#scan specs.
-
-commit 8e0ce11df329181efa440cbd55f29848e12188bf
-Author: Kevin Clark <kevin.clark@gmail.com>
-Date: Tue Oct 2 00:39:15 2007 -0700
-
- Add error handling for Dir.mkdir/rmdir
-
- Add aliases for Dir.delete/unlink
-
-commit 20e66dd965bfceb29e4939090a0fd543d05392a3
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Oct 2 00:21:49 2007 -0700
-
- Commit #206 Jason Yates' UnboundMethod specs.
-
-commit 00d7d22b7d106c6aac5d9664cb444e14811171b0
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Mon Oct 1 17:57:29 2007 -0700
-
- First pass at actually getting my modulo impl working
-
-commit c90766a09c7e1fe7a2261f8b09d9caa8eaf2214e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Oct 1 21:21:34 2007 +0200
-
- Fix the String#crypt spec.
-
-commit a0f6f8e51a6f7a65230f8f2ea53587ccb09f9270
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Oct 1 20:18:29 2007 +0200
-
- Changed the String#to_f specs a bit.
-
-commit 21d43e565bb55a31b45dc9fabbefface156ec516
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Oct 1 16:13:28 2007 -0400
-
- Add failing Array#pack spec for use case taken from Mongrel
-
-commit b1d70b4a847fc1c8df3eb4a219c4318420121e82
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Oct 1 09:04:03 2007 -0700
-
- Commit #205 Jason Yates' Method specs.
-
-commit de7e0f0183d072f101e0781635fc2fdb1af1b851
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Mon Oct 1 00:11:12 2007 +0200
-
- Fix compiler specs to expect sret when appropriate.
- Rewrite compiler specs for multiple assignments.
- Regenerate CI excludes for compiler specs.
-
-commit 1d1e704306fca4453d600259e87175dcdc9de314
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 23:27:12 2007 +0200
-
- Add edge cases for File#extname specs.
-
-commit 108d757e6c24447b89fa785b2bf091b72d29933d
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 22:34:15 2007 +0200
-
- Regenerate CI excludes for Dir specs.
-
-commit 20c6c3cd9b5d59b9782b702ac6afeb828e895d5f
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 21:49:52 2007 +0200
-
- Make Dir specs pass in MRI.
-
-commit dcd172338bce5b70cb367db3c1e6f4653c05f9e8
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 21:10:36 2007 +0200
-
- Fix case comparison with Symbols.
-
-commit 2a45cd71d1eb90a7c11ff62d81371df9479b0d43
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:28:32 2007 +0200
-
- Add specs for String#tr! and String#tr_s!.
- Cleanup specs for String#tr! and String#tr_s!.
- Regenerate CI excludes for String#tr! and String#tr_s!.
-
-commit 6418bd672c8ea031d8ac2364c8a98bb631e53deb
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:26:19 2007 +0200
-
- Add specs for multiple asignments with splats vs. Array#dup.
-
-commit 10b04881d286acab9dc97147750743e03ee4509f
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:25:14 2007 +0200
-
- Fix Class.new to raise TypeError when the superclass is not a class.
-
-commit 0b9debba0672305f8551f5d5f35cdd3aaf16c1f1
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:20:49 2007 +0200
-
- Add specs for the names of classes generated with Class.new.
-
-commit e15cef6eb851318838351a4d8717b708bb09d31d
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:15:43 2007 +0200
-
- Remove debugging output from spec/core/dir/chdir_spec.rb
-
-commit f3251ba0e8ade79f157bc02dca550481488bf888
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Sun Sep 30 13:15:17 2007 +0200
-
- Remove debugging output from spec/core/extensions/rubinius/options_spec.rb
-
-commit 5d4d2abaf02aef6caa7e532208da5e5f57bc6373
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Sep 30 20:54:14 2007 -0400
-
- Working Socket implementation and specs. Still needs readpartial to support Mongrel.
-
-commit b514e53f589d509c287516d8dd985f96e66d9a1c
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat Sep 29 15:44:06 2007 -0400
-
- Working IPSocket#peername implementation
-
-commit 965ed2d88527ae8aa4ac962e8ca84180f61e6345
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Sep 24 02:34:26 2007 -0400
-
- Yet another interim socket commit
-
-commit ecd54e981a1098c4b3abf14587212e7d1d9049a6
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Sep 20 16:29:21 2007 -0400
-
- Another interim Socket commit
-
-commit 351bbdf08f190e24328328df7b3f995b8dc27a9f
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Sep 19 22:17:52 2007 -0400
-
- Interim commit of Socket work so I can generate a patch
-
-commit 65a73cdfea95c5991f2044bee150e53643216ad3
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Sep 26 13:15:45 2007 +0200
-
- Added some Marshal#load and Marshal#dump specs.
-
-commit 89e1b91c606dfe18581c3ed3923340b952471d8e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Sep 26 13:15:19 2007 +0200
-
- Extended Specs for Kernel.Float and Kernel.Array
-
-commit 5d46933362b8c54cb5d0370bbf61e063459de514
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Wed Sep 26 13:14:41 2007 +0200
-
- Added specs for Symbol.all_symbols.
-
-commit b3324808584d7b4ee6af58d98eeb7c2162c31208
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Sep 27 10:57:46 2007 -0700
-
- Commit #180, Jason Barton's specs for Module#undef_method, #remove_method.
-
-commit 2e1219fc03d9cb673074ee34b1f8af4bdffe9c0e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Sep 27 18:49:26 2007 +0200
-
- Fix Kernel.Integer by making use of String#to_inum. Add some more Kernel.Integer specs.
-
-commit b0d4747cab49f4a17e9899392171087d7b67f687
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Sep 27 18:23:42 2007 +0200
-
- Fixed String#to_i. Added String#to_inum. Extended String#to_i specs.
-
-commit 2799c392b3f5383e9e74745ceb9cf7a52f82918b
-Author: Paul Meserve <pmeserve@gmail.com>
-Date: Thu Sep 27 01:20:00 2007 -0400
-
- fix for Struct#new and a small struct spec changes
-
- (also re-ran bin/ci on struct specs - most of the changes were from previous commits though)
-
-commit 30d9bf1f6ef9dcff067d427d6226bbce985f5e69
-Author: Paul Meserve <pmeserve@gmail.com>
-Date: Wed Sep 26 19:08:37 2007 -0400
-
- raise proper error when passing non-block args to Enumerable#all?
-
-commit 1ef1e0ef65ef3c86558da3d313dee5cada6dd4c5
-Author: Paul Meserve <pmeserve@gmail.com>
-Date: Wed Sep 26 17:25:17 2007 -0400
-
- adding alias for Float#quo to fix a couple number specs, and some modifications to Enumerable#min/#max, along with a couple new spec assertions. fixes failing specs and implementation should be a lot closer to MRI
-
-commit 547dd89791d92f061afcaef7184f054affae871d
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 26 09:46:50 2007 -0700
-
- Fixed placement of after(:each) block in numerous File specs.
-
-commit fa3dcbfdd623a7a7cdb15bc29b38ae47bb4056d5
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Sep 25 20:25:36 2007 +0200
-
- Added specs for UnboundMethod#arity
-
-commit 33783408b8ce1bdfcd205fd02bc3848119a632cc
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Sep 25 18:00:10 2007 +0200
-
- Added specs for Class.
-
-commit 0edea3c3a7dda5c453c527b2cef3ffba1eef1396
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Tue Sep 25 17:25:40 2007 +0200
-
- Created some specs for Proc.
-
-commit 62c92f1c3aef6c2ff7ab8cbcd49eefb236d5caed
-Merge: b79d04d... 2d9c698...
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 26 01:09:42 2007 -0700
-
- Merge branch 'dir'
-
-commit 2d9c69848f4ca34685b95b07e17d1b5fe1ec2391
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 26 01:09:28 2007 -0700
-
- Updated CI spec excludes for Array, Dir, Fixnum, Enumerable, Hash.
-
-commit b79d04db673d9b7b5cc47f2918bccf1b0400bdbd
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 26 00:56:01 2007 -0700
-
- Commit crayz's patch from #195, #196, #197.
-
-commit ec960578671a327469d9545d6ced827736ceafa0
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Sep 25 19:40:54 2007 -0700
-
- Fixed Dir specs failing MRI after conversion.
-
-commit 00b398352ed0f4cbcd326d56b7f8a4469056ee0d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Sep 25 00:54:06 2007 -0700
-
- Many cleanups of Dir specs.
-
- Added Dir specs fixture directories and files.
-
-commit b75cfa7c0a9871dc34b8b315ca2311e65000b2f3
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Sep 23 00:41:36 2007 -0700
-
- Converted Dir.glob specs.
-
-commit 3d8ea2a55e67cc6cfb85d2f4f7845a45984f6504
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Sep 25 21:52:54 2007 +0200
-
- Fix a few Struct specs. Failures are down to 15.
-
-commit a477ff678e9f5f39d3d2b94e559c77b34f0c56c5
-Author: Martin Kuehl <martin.kuehl@gmail.com>
-Date: Tue Sep 25 20:51:38 2007 +0200
-
- Fix compiler warnings in Subtend spec extensions.
-
-commit db3e1be4e25b7e8cc463443d050afe9a5acaa7de
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Mon Sep 24 22:31:03 2007 +0200
-
- Extended Fixnum specs.
-
-commit d136b779736af52d1eac08a40814ab4a47de93b3
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Sun Sep 23 17:47:30 2007 -0700
-
- Array#each explosion spec
-
-commit 8a24a71ff13aac465f7f4a14587981c3c23dc800
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 23 20:06:04 2007 +0200
-
- Extended Comparable specs.
-
-commit ea9ba046ddfe91601d4453972a6d6f8fce96c392
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 23 12:17:17 2007 +0200
-
- Fix Numeric#divmod and Fixnum#divmod.
-
-commit 1c5ecb9d2e9066c66b9f0625d65cc4cefaee1f83
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 23 12:00:16 2007 +0200
-
- Fix Float#to_i for infinite, negative values. Fix Numeric#/ and Numeric#div. Add Numeric#do_coerce.
-
-commit 2d67d024e11e887eb07622963bfc36b0ec377746
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Sat Sep 22 20:08:38 2007 -0700
-
- Added Onig 5 and got rindex working with it
-
-commit adc26eb525447010e28fc884eaa54b9d2228f4d6
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 23 01:35:11 2007 +0200
-
- Fix Kernel.Float specs
-
-commit 9a2ecf258fee3bda410776b3d3b77366590d64fe
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Sep 22 23:18:46 2007 +0200
-
- Extended more Fixnum specs. Removed the spec/fixnum/induced_from_spec.rb.
-
-commit 53b0042824bb1b1c523d790cb3645aec6b789abe
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Sep 22 22:35:53 2007 +0200
-
- Extended many Fixnum specs.
-
-commit 8661cdb78cd2c4afa0fb231aa9cc959e338e097e
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Sep 22 22:35:11 2007 +0200
-
- Extended nil#to_s spec.
-
-commit 4008d8b39032ffa5667e95fb445ff816b1428330
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Sep 22 14:25:27 2007 +0200
-
- Added some more specs and fixed some bugs in Range#initialize, Range#step and Range#each.
-
-commit 254e3d57dc6e859616ca7e0c44058d4b73211f68
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sat Sep 22 11:31:02 2007 +0200
-
- Some updates to Range specs.
-
-commit b87e28bfc06e81fe5c4c3d6e285947f635f79f61
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Sep 21 20:12:18 2007 -0700
-
- Commit wycats Regexp.regexp_match_region primitive.
-
-commit eaa56811836b4b5ed09a5e26d00f26eb004f2853
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Sep 21 18:44:25 2007 -0700
-
- Added StringValue to some File methods.
-
- Upated File CI spec excludes.
-
-commit 83f7b6020dbc881fbd6bd13da6ebb049d6080c2c
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Sep 21 17:54:53 2007 -0700
-
- Upated spec excludes for Float, Fixnum, and Math.
-
-commit af0b0c8da8357fcae7437f6cdfd7797f03ffd73b
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 20 22:10:54 2007 -0700
-
- Fixed a number of string-related issues:
-
- String#inspect respects $KCODE
- String#inspect returns tainted subclass
- String#dump is no longer a copy of inspect, and does not respect $KCODE
- String#match tries to call #to_str if it can before throwing an error
-
-commit 9409ace6d3e97946d10f9f7fcefa69ebcae43c47
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 20 16:55:11 2007 -0700
-
- String#index works
-
- Tweaked spec because [[x,y], [x,y]].each{|x,y| ... } wasn't working
-
-commit 6a72e4c4defef170f53a31c930c112022934dbc4
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Sep 20 15:22:28 2007 -0400
-
- Correct StringIO#reopen specs and implementation. Submitted patch for 1.8.x stable.
-
-commit 2b10dd99c2de4f97b5faa45060eba929d02052c4
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Wed Sep 19 22:20:33 2007 +0200
-
- Implemented File.identical?
-
-commit 2c3c1fc7bd2f6365b28262cae46872eb0925c2e7
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Wed Sep 19 21:48:13 2007 +0200
-
- Implemented File.link.
-
- Kudos to the Frankfurt Rails User Group! :)
-
-commit 0330b22006e39b5b173c78800f412831296de59a
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 20 01:32:43 2007 -0700
-
- String#gsub works correctly
-
- There was a weird segfault issue which I tracked down to a use of gsub inside of gsub.
- I got things working by extracting that functionality into a mini-gsub for just that
- use case, but we should fix it.
-
-commit 6c825ce63ca0eb7d6f882a767ee0e6a597219883
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Sep 19 22:14:31 2007 -0400
-
- Discover and fix an edge case in StringIO
-
-commit 6bd7adcfa115f11829a7efe8f526fabbb56d5c4c
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Sep 18 19:00:20 2007 -0700
-
- File.fnmatch(?) now passes all existing specs.
-
-commit f626f4199b88ca09a2ba75127270c0bec2ec2c86
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Mon Sep 17 15:04:44 2007 -0700
-
- Adds a new match_all primitive
-
- * will be used as the base of regex-related String functions
- * is called match_all instead of scan because it's more primitive than Ruby's scan
-
-commit 0b42d4d2610ec36a4ae5e21c37d5b587f2b9dcf8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Sep 17 02:06:50 2007 -0400
-
- Avoid using $/ in IO#puts and StringIO#puts
- Additional StringIO specs and fixes for failures
-
-commit 75969031a57bea50e4a6450bbc9ae9e5adf76fa7
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Sep 16 18:26:29 2007 -0700
-
- Replaced File.fnmatch FFI version with custom version.
-
- The custom version is needed to be as compliant as possible
- with MRI on different platforms.
-
- Lots of fixups to File.fnmatch specs.
-
-commit 18d098062cb1b996a571a946740eea7c52421e12
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Sep 17 01:11:45 2007 -0400
-
- Some failing sprintf specs and then the fixes for said failures
-
-commit 84f94ab41d72012e4ec3d0d236b183fd8a51fbe0
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon Sep 17 00:53:30 2007 -0400
-
- Additional StringIO specs and fixes for the failures that arose
-
-commit 9b44df55c682f239f036d46efe45edc2190a7345
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Sep 16 12:55:27 2007 -0400
-
- Add StringIO spec for $/ global handling
-
-commit dfcba62eb69f88d373359c75c3fa7fe827e24c69
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Sun Sep 16 00:43:41 2007 -0700
-
- Fixes string/equal_spec to pass
-
-commit 5026350a166b94fc5fffff70dae510fa2abf2094
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Sun Sep 16 00:20:52 2007 -0700
-
- String#slice works
-
-commit a4f3aa09d3aeb8d2b0a640ca9f659a5945692e04
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Sep 15 13:49:42 2007 -0700
-
- Added ability to read/write to pointer to int or double in FFI.
-
- * Fixed Math.frexp to use pointer to int to return exponent.
- * Completed Math specs.
-
-commit 1a88ca4def8d7aa566a4254eebee3236a1359fc8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Sep 14 20:57:01 2007 -0400
-
- mini_rspec.expectation_messages.yak_shave!
-
-commit 64f53c8b40b3a80b41a2c27b4ac7255b7aad5f4d
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Sep 14 02:18:16 2007 -0400
-
- Hopefully full StringIO coverage now
-
-commit 7cf9fe62bc9a5a00ae69ed3cac82e50012f3bb69
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Sep 14 00:54:33 2007 -0400
-
- Yet more StringIO specs
-
-commit 92da0550bd32db984fbb54f105b9701867d4faf9
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Sep 14 00:38:55 2007 -0400
-
- More StringIO specs
-
-commit 29826669197f44850d323910c7e60897e1ef7796
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Sep 14 00:23:45 2007 -0400
-
- Beginnings of StringIO specs
-
-commit 0c19e3557125dd366ddd119a34451715bfe5e7a1
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Wed Sep 12 18:11:49 2007 -0700
-
- Fixed object allocation bug and Bignum spec
-
-commit e42a1b960f530a987527d8795a98b2de18fea824
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Sep 13 19:19:03 2007 -0400
-
- Re-implement Module#define_method. Passes existing specs.
-
-commit a8b1a148e5fbfeb3c91558fd6caccc95006a5617
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Thu Sep 13 03:55:15 2007 -0500
-
- Adding a non-compiling spec to case_spec and updating core.rba that didn't seem to get updated correctly.
-
-commit bbd682ba2e12ba5907fe2edf2f14f11fb110cac8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Sep 13 04:04:33 2007 -0400
-
- Fix anonymous 'rest' arguments
- Suppress stray STDOUT traffic from 'defined?'
-
-commit 8f11498019eb49a4dd8bf52c4361432ebb1175d5
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 22:21:30 2007 -0700
-
- Updated CI process.
-
- * Changed bin/ci to generate an exclude file per file put
- in .spec directory.
- * Generated CI spec excludes files.
- * Updated .gitignore to not exclude .spec directory.
- * Moved the critical excludes file to spec/excludes.txt
-
-commit b736263ff325efabb907f300c1c69a2e63bd5620
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 22:21:30 2007 -0700
-
- Updated CI process.
-
- * Changed bin/ci to generate an exclude file per file put
- in .spec directory.
- * Generated CI spec excludes files.
- * Updated .gitignore to not exclude .spec directory.
- * Moved the critical excludes file to spec/excludes.txt
-
-commit 58ff9428a2a20e93e3682f834e32f754ed2c47d4
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 18:39:48 2007 -0700
-
- Fixed specs failing MRI.
-
-commit f54b1dffb9372e5cb1c71d93c67f2407fce0a1d0
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 17:17:46 2007 -0700
-
- Fixes to specs failing MRI for hash, float, fixnum, file, enumerable.
-
-commit e1d359eec451a69deb67ffdedd09b86d00774cc2
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 14:34:50 2007 -0700
-
- Fixes to Hash specs based on Ruby version differences.
-
-commit ee5eec5d32bb42fbf549068905ddebe215fbcf70
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 08:53:47 2007 -0700
-
- Fixed failing specs in kernel, module, numeric, string.
-
-commit 4f0af824f132428762f1e06409ca16c1022867bc
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Sep 12 06:24:16 2007 -0700
-
- Added #platform and #version guards for specs.
-
-commit 355c602704cd402a1d7cbadc9b4d8fae0b34f1f4
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Sep 11 00:35:03 2007 -0700
-
- Misc changes to specs to cleanup after the breakup.
-
-commit 85336c6a83736b01d63b645baf0e7e18bb5ce569
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 23:21:24 2007 -0700
-
- Converted exception, kernel, struct, object specs.
-
-commit e10bc8cbbaa26123724dad9f97f44d82e8cbf600
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 21:48:15 2007 -0700
-
- Converted string and numeric specs.
-
-commit 8ec64d24811a7951756c840c98a66a7c7d2ae7c8
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 18:35:18 2007 -0700
-
- Converted array and module specs.
-
-commit 2849f4a41b3fbda6c626d934bbf3d7476ea31848
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 15:22:36 2007 -0700
-
- Converted enumerable, file, hash, process, regexp, thread.
-
- Fixed bin/mkspec to remove '=' from string for file name.
-
-commit ffa5328aa8ed7ea079c0cc8b4228ababa5919cf6
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 13:16:14 2007 -0700
-
- Converted time and bignum specs.
-
-commit 7798952047471d28a8e12a796092c4df7ae002f2
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Sep 10 01:21:38 2007 -0700
-
- Converted range, math, matchdata, integer, float, fixnum, comparable, io.
-
-commit 423d85f4a7eb4b40d2eea83a462f5c38c4a6aee3
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Sep 9 23:43:14 2007 -0700
-
- Added dir and files for ENV. Converted true, false, nil, symbol, process.
-
- Added .spec to .gitignore.
-
-commit 8274bdcd0c747c21806065feb743e7794231f48f
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Sep 9 22:40:37 2007 -0700
-
- Converted kernel specs.
-
-commit bc1917d630d7938b62a866c3825dfa08e5ec99e1
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Sep 9 21:57:03 2007 -0700
-
- Initial create of spec/core subdirectories and files.
-
- Updated bin/mkspec to exclude Exception subclasses and
- OptionParser (which is in Object.constants because of
- the script requiring it). Also normalize TrueClass etc.
- to directory 'true'.
-
-commit b941eceb681c57d23d35f952b11b2a2d3a1ea4dd
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Sep 13 01:00:22 2007 -0400
-
- Add a minimal spec for the 'undef' keyword
-
-commit 3af389594f3828763a85d8eef65f773b183e1b46
-Author: Charles Nutter <headius@charles-nutters-computer.local>
-Date: Wed Sep 12 19:33:36 2007 -0500
-
- Adding a bunch of default argument specs to language/def_spec.
-
-commit 6b4936e834a2814602be54f01e08dcdc1f9433b5
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 9 16:58:35 2007 +0200
-
- Another fix for multiple mock expectations on the same method.
-
-commit f686ff256289263eb473249dd734cf2214c41cc2
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Sun Sep 9 16:13:53 2007 +0200
-
- Mocks now support multiple expectations of the same method with different arguments.
-
-commit 860e0d08adc8cdee9ac4d9ff3bd0e30d5d3aaa49
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Sep 8 02:36:19 2007 -0700
-
- Added to critical-excludes and ci-excludes. bin/ci -f s -C runs to completion.
-
- rake build:core compiled string.rb, so checking in core.rba.
-
-commit c9c79c910a57e5628d1743f3b440c0066875500e
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Sep 7 23:24:44 2007 -0700
-
- Added Math methods using FFI.
-
- Added Kernel.coerce_to and rewrote Float(), Integer(),
- Array(), and String() with it. Float() needs to be fixed
- to raise on strings like rb_cstr_to_dbl does.
-
- Fixed -C options for bin/ci and bin/mspec.
-
-commit b8d8b8c8475fde1ce3519e29788a34780dffae8c
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 19:40:02 2007 -0700
-
- Fixes String#<<
-
- * Added taint if other has taint
- * Fixed 10 spec failures
-
-commit b0b85547ab9dd16ba88a75c64a91c3ae0d079b27
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 15:36:44 2007 -0700
-
- Added bus error to critical-excludes
-
-commit ed13a10112d0a262a48c8e5db7d1eaaa3e076e55
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 15:19:51 2007 -0700
-
- String specs work in 1.8.6 MRI
-
-commit 6fc507c96e990139c311900c73c7e31447879071
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Sep 7 12:03:09 2007 -0700
-
- Changed VERSION and RUBY_VERSION to shadow MRI (currently 1.8.6).
-
- Added RBX_VERSION (currently 0.8.0). Updated loader -v to display
- RBX_VERSION and RUBY_VERSION and truncated BUILDREV.
-
- Enabled before|after(:all) for mini_rspec.
-
-commit 8ce602f80b35f5859c58730968a9a7053a87bd59
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Sep 7 11:16:16 2007 -0400
-
- Array#uniq, #uniq! simplified. 72 failures.
-
-commit 38f271a1b7d49074d8db9285553756fb75ffe78b
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 11:23:36 2007 -0700
-
- define_attr added to subtend
-
-commit 843706d585334c30943c8bbdd3ef6ca22297d42d
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 10:48:51 2007 -0700
-
- Added rb_cstr2inum to subtend
-
-commit 97a22e2144b623a62780995333d65986c98c4ba2
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 10:42:30 2007 -0700
-
- Added rb_const_defined to subtend
-
- It also seems that my fixture for require didn't make it in; adding that as well
-
-commit 0ac9ec2b0f381bf2fb3a36cd0b6f30748771e818
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 10:21:28 2007 -0700
-
- Added check_*_type to subtend
-
- * check_array_type
- * check_string_type
- * check_convert_type
-
-commit b2bf1c44fa7c2663e6fc0b27127aa4f5e38e073f
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 09:45:03 2007 -0700
-
- Added rb_attr_get to subtend
-
-commit 81605662ab8acc5a50536f1fc613e7d24e142df1
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 00:27:38 2007 -0700
-
- int2inum added to subtend as well as INT2NUM
-
-commit e80084e6b245173c17403891c65d86db1e6b3022
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Fri Sep 7 00:02:06 2007 -0700
-
- rb_str_split added to subtend
-
-commit 90f1fa95825caa8b21e147248d1a7d999579b937
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 23:51:56 2007 -0700
-
- rb_require in subtend added
-
-commit 5bb87f516b2a26f77a864a15636331102d6d8499
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 22:58:29 2007 -0700
-
- rb_to_id added
-
-commit e0532b3fb62089da7b7362ec2232997878a1221d
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 22:31:30 2007 -0700
-
- Added specs
-
-commit 75f7a1d2b37067f55099dd117e8fcd905baa748d
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 21:59:12 2007 -0700
-
- string subtend fixes
-
- * rb_str_cmp added
- * rb_str_cat fixed with working spec
-
-commit f058cea3e5291c349f5b2b1cfbdad4d734240f95
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 21:34:52 2007 -0700
-
- added rb_define_const
-
-commit ec7ca7f45ef32794afb919851e4bfd5e8d7aa46d
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 21:03:44 2007 -0700
-
- rb_include_module added
-
-commit 5b3471544508e973ba6afbd16daf47f5796f8b30
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Sep 6 20:41:09 2007 -0700
-
- float_new added and some functions missing in ruby.h added
-
-commit cd2af0bae996a4addfe23baa0558125a8a5523e7
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Sep 6 17:09:06 2007 -0700
-
- Fixed subtend. Added diagram of the context chain.
-
- NMCs (NativeMethodContext) now use the proper context stack.
- The stack maintenance was all screwed up when calling in and out of
- native methods, which was the source of a few problems.
-
-commit da5f9e6f942c11d906760e952debae4d05b3d872
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Sep 4 22:26:48 2007 -0700
-
- Added load-order dependency generation to rake build:(core|platform) task.
-
- Added 'depends on:' declarations to kernel/platform and kernel/core files.
-
- Updated ci-excludes.txt to reflect recent spec checkins.
-
-commit 7b1ca6f305e33b34a99e8c9e049843a76cceeca7
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Sep 2 21:29:49 2007 -0400
-
- Add more 'alias' specs. Show singleton methods in 'public_methods' output.
-
-commit 5c0b5fcb2a0c9f47a04e6a5d5027484224d0a942
-Merge: 4896039... 01c2126...
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Sep 2 18:58:53 2007 -0400
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 48960394ab7f36ccd1b18609677b40721c30d7a2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun Sep 2 18:57:29 2007 -0400
-
- Add some 'alias' specs that fail on rbx and pass on MRI
-
-commit 01c2126b705327d99aa183d51dc014169e8b4e07
-Merge: 04602c6... b6d92ec...
-Author: Florian Gross <flgr@ccan.de>
-Date: Sun Sep 2 19:45:25 2007 +0200
-
- Merge branch 'master' of git@git.rubini.us:code
-
- Conflicts:
-
- spec/core/string_spec.rb
-
-commit 04602c6756a9199b64e7d909c01dc995b25fa8a7
-Author: Florian Gross <flgr@ccan.de>
-Date: Sun Sep 2 19:32:47 2007 +0200
-
- * New specs for String#tr_s(!) and upcase(!)
- * Improved specs for String#capitalize!, downcase(!) and swapcase
-
-commit c94f83b20f7b11dc48c523c84de59b9ac6f76cce
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 23:15:07 2007 -0400
-
- Array#reverse_each, #rindex fixed and cleaned. 80 failures.
-
-commit f531f812f87283b950c62648e3cf08a7400c2779
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 22:03:05 2007 -0400
-
- Array#replace fixed, specs. 88 failures. * Disabled specs for #initialize_copy which is private.
-
-commit 1656b8a04a40bc5a43adec88ffd1480d9da6ba28
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 11:50:56 2007 -0400
-
- Array#reject, #reject!, specs fixed and cleaned * Added spec to check #reject returning Array and corrected implementation.
-
-commit e1c499c6feafc19788addd098a6da052904cb09c
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 11:25:45 2007 -0400
-
- Fixed logic in Array#rassoc, specs. 91 failures.
-
-commit da79b116d3fdc5fd4cd04f5ad1ad44b2c269ad77
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 10:38:39 2007 -0400
-
- Array#push checks frozenness, specs. 92 failures.
-
-commit 290aa6fe561453821f59be3fa92695d0b0d77c04
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 10:26:25 2007 -0400
-
- Uncommented most of Array#pack specs. * float -> int conversions still hang both C and c and are therefore disabled.
-
-commit 885f2522244c1792f45260194aba085028d5c919
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Fri Aug 31 09:59:30 2007 -0400
-
- Fixed logic errors in Array#assoc, Array#include? * Both, contrary to docs, compare elem == obj, not the other way around.
-
-commit d825038a409f4d931e80736e2de49ff0752857a9
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Aug 31 00:12:06 2007 -0700
-
- bin/ci supports options for separately running spec files
-
- Use bin/ci -s to separately process each spec file. Use
- bin/ci -m to run all the spec files in a single VM process.
- -s is the default for --create, but -m is the default for
- everything else.
-
- Updated ci-excludes.txt and critical-excludes.txt.
-
-commit 7dfe5cb7936051685a2c79effb6295b9aa179810
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Aug 30 23:44:28 2007 -0700
-
- Updated ci-excludes.txt to only exclude failing specs.
-
-commit fb09f0a7a6969adffd8d99bf869eb50c91eef097
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu Aug 30 20:31:20 2007 -0400
-
- Fix object and array specs that failed under MRI
-
-commit 6fb73244537b61a20538c1f3d5a060a40a358be5
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Thu Aug 30 17:08:12 2007 -0700
-
- Fixed two typos in the subtend string specs
-
-commit 00256f41d4e3ebfcdafdc25e27bfbf4bc7d3de3f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 11:19:09 2007 -0400
-
- Array#last fixed. 48 failures.
-
-commit 887d41c64c6bdff693f6ecd8d3078f8453669648
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 11:02:27 2007 -0400
-
- Array#insert, specs corrected. 49 failures.
- * Fixed Array#insert
- * Re-complianced frozenness specs for Array#inspect.
-
-commit 1bc536e1128bc76b1c9efae593340f67bdcb5fb5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 10:42:05 2007 -0400
-
- Array#indexes correct implementation. 51 failures.
- * Array#indexes and #indices is now correct although
- both methods are deprecated in favour of #values_at.
-
-commit 5de09c707b1ce43bf689e8ded9ea19784e77a49e
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 10:09:27 2007 -0400
-
- Array#include? implemented. 53 failures.
- * Replaced use of Enumerable#include?
- * Re-complianced to a simpler Array#include? spec to
- avoid implementation-dependedness.
-
-commit 14ca6c2533764eea508b24b0ec89475a7aae5e94
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 09:32:40 2007 -0400
-
- Array#hash spec compliance change. 54 failures.
- * Disabled an Array#hash spec for Rubinius because it
- relies too much on implementation details.
-
-commit fc4f392fa7fba88b36bfdec61db3acaa1f1fadc2
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Thu Aug 30 00:42:03 2007 -0400
-
- Array#flatten, #flatten!. Improved Array specs. 384 ex, 55 failures.
- * Array#flatten, #flatten! implementation improved, they
- also work recursively now.
- * Re-enabled Array#flatten, #flatten! specs and the
- recursive test for Array#inspect.
-
-commit efeaa622994e9868b9324247b0ff1fd5743792ac
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Wed Aug 29 23:29:36 2007 -0700
-
- A series of rb_str functions in subtend, plus fixes to some of the tests earlier committed
-
-commit e4f5281148799ed716065c489d384a42d208290d
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Wed Aug 29 19:16:26 2007 -0700
-
- rb_str_append() added
-
-commit a05c376478f7407da4e0aa2a6a7e3de98176a63b
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Wed Aug 29 13:25:17 2007 -0700
-
- Updated subtend array functions
-
- * rb_ary_reverse() added
- * tests added for rb_ary_join() and rb_ary_reverse()
-
-commit 779fb97c35b78b9749cbb118fcb555096957e4c6
-Merge: 2793a99... e17987e...
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Wed Aug 29 12:40:33 2007 -0700
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 2793a9917f8f5cc2f0fc14ba605cec499532e680
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Wed Aug 29 12:40:21 2007 -0700
-
- Slightly improved rb_ary_pop() test
-
-commit c196c60b6cd32c85b18bdab31ee000cf097309b5
-Author: Me <rue@meow.kittensoft.org>
-Date: Tue Aug 28 23:49:46 2007 -0400
-
- Array#fill fixed, cleaned up. 375 examples, 59 failures.
-
-commit 7736413f262357479c2f3354a73533fd89b3c9a6
-Author: Yehuda Katz <wycats@gmail.com>
-Date: Tue Aug 28 17:54:28 2007 -0700
-
- added rb_ary_join() to subtend
-
- Trying to get tests working but it's hard to see if I'm correct without the ability to run them.
- I'll take care of making sure there are passing tests as soon as I can.
-
-commit 0effcaf3e948d80ae3ad17b33f0483313d85cdbe
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Tue Aug 28 00:24:41 2007 -0400
-
- Array#fetch, specs, slightly cleaned array.rb. 62 failures.
- * Array#fetch uses to_int.
- * Specs for Array#fetch check for correct block var.
- * Removed extra comments from array.rb.
- * Removed old implementations from array.rb.
-
-commit 51737d35c24f853a23e14f7a227138d4d0f6b457
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Aug 27 21:46:30 2007 -0700
-
- Added failing File specs to ci-excludes
-
-commit a195970e2b2d34fa4388e6a72e91ada13b4b0d32
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Tue Aug 28 09:20:33 2007 +1000
-
- Ensure exists? is prefixed by File.
-
-commit 804b6f3358c1bb73492beaa0e978d4df8dbac138
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Tue Aug 28 00:18:41 2007 +1000
-
- Minor refactoring work on file spec.
-
- Removed duplicated constant tests.
-
-commit ef18eaaaa1a79b964667900b19f3f10e1b67032b
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Aug 27 14:25:06 2007 -0700
-
- Updates to enable bin/ci to run to completion.
-
- Changed mini_rspec to not use File.open with a block to work
- around IO#read failing to catch EOFError.
-
- Commented out object_spec.rb specs that need to be completely redone.
-
- Updated spec/reports exclude files to enable bin/ci to work.
-
-commit 505617b26829d5f489c4488ed934a6dc720f64f0
-Author: Florian Gross <flgr@ccan.de>
-Date: Sun Aug 26 22:53:42 2007 +0200
-
- A few new specs for String#sum, #to_i, #to_s, #to_str, #tr and #tr!
-
-commit a6a24a97dce2a4072a6ea17e48259b76f0c3681a
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Aug 26 02:52:55 2007 -0400
-
- Array#delete, Array#delete_at, Array#delete_if. 63 failures.
- * Fixed the three delete* methods, they still need clean-up
- * The specs reflect difference in frozen handling for rbx and r18
-
-commit 063f8c25d45e0934bca236ecb8af36dcb517187f
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Aug 26 02:26:15 2007 -0400
-
- Array#concat fixed. 69 failures.
- * Array#concat checks frozenness and cleaned up
- * Improved specs for #concat
-
-commit a9f3593593948cf72d94712765d05bfcc27f2e78
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sun Aug 26 01:53:05 2007 -0400
-
- Array#dup, Array#compact, Array#compact!. 71 failing.
- * Array#dup properly returns subclass
- * Array#compact(!) improved to pass specs
-
-commit 7be3bc12ea2e5432e442cb44103b4b1c6d981163
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 23:57:38 2007 -0400
-
- Array#clear, Array#frozen?. 372 examples, 73 failures. * Array#frozen? checks for sorting freezes * Array#clear fails on frozen Arrays
-
-commit 5c958242fe25f8a18cd8d315f81fb3db80dc7a40
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 17:19:23 2007 -0400
-
- Array#==, Array#assoc improvements. 75 failures
- * Cleaned up Array#==
- * Array#assoc processes correctly
-
-commit f82f8a300ee394f9f1038cc84de1cf6b132d7ef5
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 16:24:22 2007 -0400
-
- Array#* improved. 371 specs, 81 failures
- * Array#* processes to_int and to_ary correctly and forwards
- to #join when needed.
-
-commit 91e16f06d5b5b16f1fa7ffc1d3673d7f1c681587
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 15:54:12 2007 -0400
-
- Array#join can process recursive Arrays.
- * Rubinius cannot create recursive Arrays so this is somewhat moot.
-
-commit 2d7427bb638f1af6d7437beed4beafde5274dbdf
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 13:46:45 2007 -0400
-
- Array#|, better Array#&. 371 examples, 86 failures.
- * Array#& explicitly uses #eql? semantics
- * Cleaned up Array#|, uses to_ary
-
-commit 2b8707466f763662d52efaeab71b4789b132bb40
-Merge: c61b1e5... 76be87f...
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 12:41:06 2007 -0400
-
- Merge branch 'array'
-
-commit 76be87f74d352d79425e9c46d3df55678257fda9
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 12:28:32 2007 -0400
-
- Array#<< improvements. 371 examples, 89 failures.
- * Specced and fixed resizing bug in Array#<<
-
-commit c61b1e54cc11c297b9e9a9eca70cb6a354ed21d9
-Merge: 3618a8b... c6cc98f...
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Sat Aug 25 18:16:45 2007 +0200
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 3618a8bc588588ef8fb0dcc4753bc42606b86c13
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Sat Aug 25 18:16:05 2007 +0200
-
- Update object specs
- Update the object_spec.rb file
- * add more specs
- * refactor using it_behave_like
-
-commit 294e5aacda8a74a9d8f57d05bb433f2fadcd08f1
-Author: Eero Saynatkari <rubinius@projects.kittensoft.org>
-Date: Sat Aug 25 12:07:06 2007 -0400
-
- Array#[], modified parts of array_spec. 369 examples, 90 failures.
- * Array#[] passes its specs
- * Disabled some parts of array_spec while fixing Array. These
- will be re-enabled as soon as possible.
-
-commit 1369465aefcd1d50ddd268ba9af968c62137e2b2
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Fri Aug 24 11:14:20 2007 +0200
-
- Array#new correct implementation
-
-commit e321427a52878ef9d9c7c04aa7c3c4f1e3a6c940
-Merge: bff7c05... 69c0407...
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Fri Aug 24 11:14:20 2007 +0200
-
- Merge branch 'master' of git@git.rubini.us:code
-
-commit 07c7f93a64fc37f3cf94a0a2c272468d015a7fb3
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Aug 23 21:18:13 2007 -0700
-
- Converted Regexp specs to new describe style.
-
- Fixed String specs to be compatible with bin/completeness.
- Fixed bin/completeness to use dotted reporter instead of CI
- reporter since the latter no longer outputs summary info.
-
-commit 6776e1478fa7e78a0944a1ee59c55c3839f51ea4
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Fri Aug 24 13:14:47 2007 +1000
-
- Added implementation of File.split and updated specs.
-
-commit 4053b9076b4b996f544095a75317453967723faa
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Wed Aug 22 21:58:13 2007 +1000
-
- Added spec for mocking methods on a class
-
-commit 54cae1196db08f6a734c35079db8df62e491f300
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Thu Aug 23 17:38:40 2007 -0700
-
- Added more IO stuff and platform methods.
-
- I'm still a little unhappy with the input buffer situation.
- (ie, there is none.)
-
- Adds IO#sysread and IO#syswrite as well as a bunch of POSIX stuff.
-
-commit 12a755004c0a8a0319212965da61385738166f98
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Aug 21 12:44:48 2007 -0700
-
- Beginnings of ftools spec, fix backtrace generation.
-
- Backtraces were failing to be properly built if the sender was a Block.
-
-commit bff7c05ce12c79ef111422ecf4525f1a65e7a5f0
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Fri Aug 24 01:15:41 2007 +0200
-
- More specs dor enumerable
- * add inject, min, grep, find, detect, find_all, select
-
-commit ed9a8fefcc384bb6548a7f66bbafb97192ec8fd3
-Merge: 4ef0b9f... 8dd800e...
-Author: Arthur Schreiber <schreiber.arthur@gmail.com>
-Date: Thu Aug 23 11:01:25 2007 +0200
-
- Merge branch 'specs'
-
-commit 8dd800e8189f616dc54390c0ebf96c331de41230
-Author: schreiber.arthur@gmail.com <arthur@arthur-desktop.(none)>
-Date: Thu Aug 23 10:45:56 2007 +0200
-
- * Some more Module Specs.
-
-commit 0f414f56f9050d86011df75e7fd23428fe378996
-Author: schreiber.arthur@gmail.com <arthur@arthur-desktop.(none)>
-Date: Thu Aug 23 10:44:59 2007 +0200
-
- * Added :count => :any option to mock expectations
-
-commit 4ef0b9feddfebfd1b6177fce6e3a1a4077f4f098
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Aug 22 23:10:22 2007 -0700
-
- Updated exclusion list for CI specs.
- Updated rake spec:ci task.
- Changed ci spec run action to execute all specs in one process.
- Added guard on file specs to prevent compilation exception.
-
-commit c3b61b239fa6a02327e5651513986d998d826eaf
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Aug 22 21:48:08 2007 -0700
-
- Updated CI spec process to exclude specs failing on compilation.
-
- Added critical failures to enable running especially spec/core.
- Added failure guards to struct specs.
-
-commit f339a284c66357bc52749e5fe9c0d59bbbdc7ade
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Aug 20 22:31:56 2007 -0700
-
- Fleshed out bin/ci constructs for running specs.
-
-commit 4f750d59adfff6c1751372c0d2853778dc7ae16d
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Tue Aug 21 22:40:33 2007 +0200
-
- * more enumerable specs
- * refactor to it_behaves_like
-
-commit 3c79d5cf67b40b945602d5c5fa77589e0d7bae2c
-Author: Pedro Del Gallego Vida <pedro@la-vaca-roja.(none)>
-Date: Tue Aug 21 20:52:16 2007 +0200
-
- update file_spec.rb
-
-commit b2a64089bffe5afb9148a665ecb6e70c3bc62b67
-Merge: 6865b97... 1b6a8a1...
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 19 16:22:53 2007 -0700
-
- merge 1b6a8a157
-
-commit bf54767922eb8d494c683ed8d57c6ffb5164fc29
-Merge: 6c6032e... 37d71c9...
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 19 15:24:21 2007 -0700
-
- merge from e83bcd022
-
-commit 05db33909c319231ac375812025ea2378710a299
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sun Aug 19 21:26:15 2007 +1000
-
- Add conditional when deleting a file in after(:each) block to prevent an exception if the file is missing.
-
-commit 138ab001175987cd38aff092a850e515745f9292
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sun Aug 19 21:18:22 2007 +1000
-
- Converted remaining context/specify spec's into describe/it, and followed class/method naming convention.
-
-commit 749b883d0260326573c581cc63eab67e1a4bc590
-Author: Marcus Crafter <crafterm@redartisan.com>
-Date: Sun Aug 19 20:23:11 2007 +1000
-
- Added implementation of exists? blockdev? chardev? zero? size size? writable_real? executable_real? readable_real? unlink delete and chmod using ffi where needed. Specs for most of these methods existed already, added specs for those that weren't. Fixed a few typos.
-
-commit ddcb14f9f2311ec843a1f1f8d2b3fa868384ff0d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 18 23:19:32 2007 -0700
-
- more misc changes to get ci specs working
- added alias for File.exists? and File.exist?
- added Dir.getcwd
- added empty File.delete
-
-commit afb252fd6170ed051e97f1911e5f1200414ebf98
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 18 22:20:10 2007 -0700
-
- updated compiler specs.
-
-commit d0e6b658d9065b0fbc9180cd5d19139834f64f59
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 18 21:04:18 2007 -0700
-
- changes to support better CI specs
- hat mini_rspec will take a filename as an exclude/include argument and read the actual excludes/includes from the file.
- added that mspec will take -o FILE to use an alternate to STDOUT for the spec reporter output.
- updated spec tasks. misc spec changes.
- added naive implementation of IO#each.
-
-commit 541bcb521a8ee589c7d28c095ad7ee1489af42db
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri Aug 17 19:30:05 2007 -0700
-
- Complete reorganization of bootstrap. Addition of kernel/platform. FFI fixed.
-
- New restrictions for meta-programming in core bodies (not in methods).
- kernel/platform is now where platform specific code, mainly related to FFI, lives.
- A bunch of FFI bugs have been fixed and it should be working much better now.
-
- FFI Note: you may now only specify :state as your first argument, and you must
- leave it off when you call the method (rather than passing nil like before).
-
-commit af245dfbc80ff942de62408e70db7499a798fb0a
-Author: schreiber.arthur@gmail.com <arthur@arthur-desktop.(none)>
-Date: Tue Aug 14 01:30:09 2007 +0200
-
- Forgot to add the autoloaded file for Module#autoload
-
-commit b946940f463028de067ef2e082c96fe431c94b0a
-Author: schreiber.arthur@gmail.com <arthur@arthur-desktop.(none)>
-Date: Tue Aug 14 01:09:10 2007 +0200
-
- Updated Module Specs
-
-commit 6cd6aa53a5d20c78941442f7e367ef8c7aee17c2
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Aug 10 00:14:09 2007 +0000
-
- converted array specs with a few edits.
-
-commit c075f7f70da2a029c69f3fff1f9caec419db64d5
-Author: Arthur <arthur@unknown>
-Date: Wed Aug 8 12:47:18 2007 +0000
-
- fix a small typo
-
-commit c7262df9ee1c2544890b001574c8cb0f8ae26a75
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Aug 8 01:24:25 2007 +0000
-
- converted exception specs. added #should_be_ancestor_of. use ExpectationNotMetError in mini_rspec like rspec does.
-
-commit f591e18978b73c508505db73f274f4bd69c372c5
-Author: Arthur <arthur@unknown>
-Date: Tue Aug 7 08:36:15 2007 +0000
-
- * String#to_str specs should actually use String#to_str
-
-commit 80f69571c5378d6bbb2e7a118ada00db66226797
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Aug 7 06:47:53 2007 +0000
-
- converted range specs.
-
-commit aca62d253a6b2df891ca4ec4b177ea95b621d636
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Aug 7 03:52:46 2007 +0000
-
- fixed mini_rspec -e option, allows multiples. converted hash specs.
-
-commit 928c9a392102fa7b7945f332480a7477ec203467
-Author: Florian Gross <florgro@gmail.com>
-Date: Mon Aug 6 22:04:16 2007 +0000
-
- New specs for String#swapcase(!), to_f, to_i, to_str, to_sym
-
-commit 6d0a6b0051a55af32743d9d98d6425489a622ebe
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Mon Aug 6 21:58:55 2007 +0000
-
- * more specs for File.open. Specs for File.truncate
-
-commit 8b19b683a8593b4dd5024841d8023df827a44875
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 5 23:39:36 2007 +0000
-
- fixed completeness to not over match methods. converted comparable specs.
-
-commit c6f4d90df72b103884fa5470a433f5513d2c524d
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Sun Aug 5 22:52:17 2007 +0000
-
- * more specs for File.open. Some of them are plataform dependent
-
-commit 38bfff9d014b90409e272ddf041dc63f53d48f5d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 5 22:45:31 2007 +0000
-
- converted bignum specs. misc cleanup.
-
-commit 14890b68c447731417ce53ca2e4310175e39b440
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Aug 5 22:00:04 2007 +0000
-
- Small spec fix
-
-commit b6c3cfca5cf1b2cb85dc216180ad21a6bf653a10
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 5 17:20:32 2007 +0000
-
- converted time specs. according to completeness, need to spec 9 more methods.
-
-commit 8829cf7e94ec0434f642fafa7dbf117a860045b9
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 5 07:53:47 2007 +0000
-
- more converted specs.
-
-commit 5bf174780e893b7ee9b82b6ca3964db7cad84e30
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Aug 5 07:08:08 2007 +0000
-
- converted fixnum specs to describe per method.
-
-commit 88023701a88c1113e4874c193d26c6bf21fad383
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 4 22:19:18 2007 +0000
-
- misc noise cleanup in specs. use bin/completeness to find missing specs rather than warns.
-
-commit 3d960a021cb9ac2bdc2a204f94b4f024f3ef60a4
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 4 22:06:12 2007 +0000
-
- fixed completeness to pass correct spec example string for class methods. changed float specs to describe per method.
-
-commit 8a7abb5996e5bdf8b9d6c5884e0e0d8ae73d060e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 4 20:10:38 2007 +0000
-
- beginning of a completeness reporter. use 'bin/completeness -t ruby' to report on the completeness of the specs against MRI. use 'bin/completeness' to report on the completeness of rbx relative to MRI. use -t target for other implementations. updated some specs to the 'describe Class#method' style.
-
-commit 463f13be4462e22bc3f4491a475658624c5832ab
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Sat Aug 4 17:09:25 2007 +0000
-
- * fix some bugs in bignum_spec
- * changed the File::Foo.shouid == bar assert to defined?(File::Foo).should == "constant". The specific value dependence on OS.
-
-commit 989d72394f1e175b058f55ccf3e60f09a2c76401
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Aug 4 04:15:01 2007 +0000
-
- fixed mini_rspec specdox reporter to not output describe message until examples are executed. fixed specdox and dotted reporter to distinguish between errors and failures.
-
-commit f98fe7f211e5784a35e99643fb52c9350b20d7ae
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Aug 4 01:40:52 2007 +0000
-
- More compatibility and a few small fixes
-
-commit c78ba9f96d7d4d229d6b1b1b11cf314fb5a0271d
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Aug 4 00:40:42 2007 +0000
-
- Compatibility for USE_RSPEC=1, sanity, some clean-up
-
-commit 761d05b5cbd92339f9d02e65d005a65c5155618e
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Aug 3 21:49:26 2007 +0000
-
- * Compiler and Normalizer fixes for method definitions without bodies
-
-commit ad7abe4d61171f9650d08b277d45c7f680f37950
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Aug 3 17:07:19 2007 +0000
-
- fixed mini_rspec shared behavior to be compatible with rspec.
-
-commit 1e1ccb902d11547e9f67db82c31a5898e6227d67
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Aug 3 16:39:07 2007 +0000
-
- added an implementation of shared behavior for mini_rspec. altered Array#[] and Array#slice specs to use shared behavior.
-
-commit 7697b2ae3db6ed1d8697010a7e0f52f8e3587c8a
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Aug 2 20:41:43 2007 +0000
-
- added SpecRunner class to mini_rspec to properly encapsulate behavior. added --example option to specify a regexp to match examples to execute.
-
-commit b80bb3d295d3648988b15a29553189f219d8ac0a
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Thu Aug 2 15:56:07 2007 +0000
-
- * added specs for file_spec
-
-commit c277fd3de82678f055693422af19c3f45ffc2a88
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Aug 2 00:46:27 2007 +0000
-
- mspec: Add -x option for excluding specs by RE
-
-commit aa53967c694ed7621aa1a8a8b542d067d9e58925
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Aug 2 00:05:53 2007 +0000
-
- New specs for String#succ(!)
-
-commit eafa5b0fd43168b4ae649b145f9528f7deae3aa7
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Aug 1 22:59:38 2007 +0000
-
- New specs for String#sub(!)
-
-commit 3406e64032251a2a9849da3f6c27d872dd339175
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Aug 1 22:17:18 2007 +0000
-
- New specs for String#squeeze(!) and String#strip(!)
-
-commit fa4d66576528725085ef47cca27c5c85c55b3150
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Aug 1 21:08:26 2007 +0000
-
- added Object#(public|private|protected)_methods and Module#(public|private|protected)_instance_methods. added Tuple#first, last.
-
-commit 4ca071ba4a48aa984308e0ba9448718a6e214d7a
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jul 31 20:56:37 2007 +0000
-
- Some Object#methods et al specs.
-
-commit 67be404ac0714ec01c1c92c77465915d90fd794b
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 31 18:41:54 2007 +0000
-
- Renamed variables_spec.rb to assignment_spec.rb
-
-commit c0187db3e51297dfffabebe9acb6d6321bd04578
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 31 18:22:41 2007 +0000
-
- New specs for String#split
-
-commit 06cb5ab7c39866c99bb8d9a5fbb678f2f8a19cf2
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jul 22 06:47:54 2007 +0000
-
- Removed the .rbc files from externals dir and set svn:ignore. Added Tuple specs, fixed a couple small problems with Tuple. Modified mspec to pass -I, -r to the target; added -n RUBY_NAME to affect which specs are run. Added hashi dir as an experiment to implement a bootstrap that could be run on e.g. MRI or JRuby to allow the core libs to be run and tested against the specs.
-
-commit 567d4f710bc232fc9223972e22a7d92e4abe940d
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue Jul 17 17:49:53 2007 +0000
-
- Stack allocated lvars, GC fixes, compiler changes, oh my!
-
- This is a biggy (too big in fact). It started as a change to allow
- arguments to be accessed directly from the stack, and turned into a
- monster.
-
- Arguments and some lvars can now be accessed directly from the stack,
- making them cheaper to create and use. This turned out to expose
- a large number of bugs in the VM related to stack access, as well
- as some in the GC.
-
- The big GC change here is that the mark/sweep GC is actually run now,
- as opposed to before when it would just allocated more and more memory
- (the source of memory issues I suspect).
-
-commit 564ac024e14a790f4a3d257ddf1d9fa0cb93ee3b
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 17 00:20:52 2007 +0000
-
- $~ specs all over the place;
- Revised % format string specs (match MRI trunk);
- Revised hex and oct specs (match MRI trunk);
- Merged slice together with [];
- New specs for scan and slice!
-
-commit 2389eb4b36d86732dbb621be1cad3edca0e36aa5
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Mon Jul 16 09:26:20 2007 +0000
-
- * added specs for file_spec
-
-commit a6453b6184353633d14c271533c2e2af7a6c4b12
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jul 15 17:53:58 2007 +0000
-
- A few specs for char numbers outside of 0..255;
- A few specs for modifying strings while iterating;
- New specs for hex, index, initialize(_copy), ljust, lstrip(!), match, next(!), oct, replace, reverse(!), rindex, rjust, rstrip(!);
- Small additions, fixes & refactoring
-
-commit 217dd5dae127c146559dd1512edac23a94565ae9
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Jul 14 23:52:52 2007 +0000
-
- Taintedness specs all over the place;
- String subclass specs for String#%;
- Range subclass specs for access methods;
- str[idx, count] = str specs (contributed by John Lam);
- New cases for capitalize(!) / center / gsub(!);
- Refactoring
-
-commit b8b0c3dd380335260c3870934ca51dce736ce15d
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Jul 14 23:39:38 2007 +0000
-
- Added custom range subclass cases for access methods
-
-commit 558552ec549fd605bed2c8f5c384e8c944e780a2
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Fri Jul 13 14:40:15 2007 +0000
-
- * added cases for file_spec
-
-commit 5218708c630bd8a631522a00aa6cba4e91cbec54
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Fri Jul 13 13:36:53 2007 +0000
-
- * added cases for file_spec
- * refactoring numeric_spec.rb
-
-commit 3e9dbc15a81950e55a15a7fcca0ab04a5fd5353f
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jul 11 22:09:49 2007 +0000
-
- Add specs for to_* calls having correct semantics with method_missing() and respond_to?();
- Small clean up
-
-commit 23961f46af6f74d2d6b9019972e451a5ae12b728
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jul 11 22:00:26 2007 +0000
-
- Add specs for to_* calls having correct semantics with method_missing() and respond_to?();
- Removed a few duplicate specs (probably resulting from a mismerge)
-
-commit 639c64ca0965ff79401989ca7dbde862815f13fb
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jul 11 21:09:33 2007 +0000
-
- Add specs for to_* calls having correct semantics with method_missing() and respond_to?();
- Fixed String#%'s %E/e/f/G/g and %b/d/i/o/u/X/x specs to verify Kernel#Float / Kernel#Integer semantics instead of to_f / to_i ones
-
-commit e97879670bbc8425810a3c83f15a523066899a89
-Author: Arthur <arthur@unknown>
-Date: Tue Jul 10 20:04:48 2007 +0000
-
- * fix a typo
-
-commit 1e8890613a215c61ef90629b8b6023ac4612c499
-Author: Arthur <arthur@unknown>
-Date: Tue Jul 10 20:03:44 2007 +0000
-
- * Update Symbol Specs to the new format.
- * make Symbol#to_int show a warning as in MRI.
-
-commit 1262f24460463628c7cc4e275b7c814048937b57
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 10 18:28:06 2007 +0000
-
- New specs for gsub() without block
-
-commit 0ba87f6edc183385551e4cf8c05212fadaf36427
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 10 16:48:46 2007 +0000
-
- New specs for capitalize, chomp, concat, crypt, eql?;
- Added missing methods chop, chop!, count;
- Small improvements and refactoring
-
-commit 226942caef6bd217a13dc235a89c5ccf4a18f98b
-Author: Florian Gross <florgro@gmail.com>
-Date: Mon Jul 9 21:29:19 2007 +0000
-
- Strings specs for letters c through e
-
-commit e41c027537f1e4f8ea4b8b5b6fe90df9a21e3aff
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Fri Jul 6 17:13:39 2007 +0000
-
- * added 62 cases for file_spec
- * remove a bug from obejct#method_missing_spec that break the specs
-
-commit 06d2fd71b847e139a39ab3b7a132ab041a8d4c1e
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Wed Jul 4 16:05:21 2007 +0000
-
- * add 84 cases to the numeric_spec.rb
-
-commit b8d334f575322c65932279346bba61caead61555
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Wed Jul 4 10:28:27 2007 +0000
-
- * 14 cases for Object.method_missing
- * Add File#atime, File.atime, File#ctime, File.ctime, File.delete, File.executable?, File.executable?
-
-commit f2276130c4bf1894ffb6efb451203dcbfe9322bb
-Author: Charles Nutter <charles.nutter@sun.com>
-Date: Wed Jul 4 08:48:57 2007 +0000
-
- Added a spec for Process::times...it's not great, but it's something.
-
-commit f71bb57b3fc69c35d34abdb9959e27efb71bbdff
-Author: Charles Nutter <charles.nutter@sun.com>
-Date: Wed Jul 4 06:14:06 2007 +0000
-
- Fixes for #150; handle Time - Time correctly, don't assume it's a number of seconds.
-
-commit 895f1abdc0bfcdb213f97067704b1bb87a7e6d17
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 3 17:01:27 2007 +0000
-
- New specs for casecmp
-
-commit 2aa7cb37925cd92c3b23d4a33a6d7bc7c2b66737
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jul 3 14:07:56 2007 +0000
-
- New #[] and #[]=, capitalize and casecmp specs;
- Converted "should work" messages to "works" using a few regular expressions -- I'm still going through the file so bad replacements (if any) will be fixed
-
-commit 719ff3b8959d93d7da8165d6e5b44989afde92d7
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Tue Jul 3 00:33:59 2007 +0000
-
- * new NoMethodErro_spec.rb
-
-commit 5363324044fdc1457cfbf1b738dd931d3255b191
-Author: Florian Gross <florgro@gmail.com>
-Date: Mon Jul 2 23:58:09 2007 +0000
-
- Some more new specs
-
-commit fa1b3694e366bf087a8d1ac107257c38ce447251
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Mon Jul 2 20:29:20 2007 +0000
-
- * Add to_s with a base spec
- * Change foo.aMethod.to_s.should == "bar" with foo.aMethod.should_be_close(bar,TOLERANCE) because floats representation are plataform/implementation dependents, but not changed aBignum.to_s.should = ...
-
-commit 2a5c93afd4ddfef7c30de17c531f49849e9bb957
-Author: Pedro Del Gallego <pedro.delgallego@gmail.com>
-Date: Mon Jul 2 00:10:06 2007 +0000
-
- * Add Float::Constant specs
- * Change foo.aMethod.to_s.should == "bar" with foo.aMethod.should_be_close(bar,TOLERANCE) because floats representation are plataform/implementation dependents
-
-commit 7d3dcc24cb72d6548cf44d8519691f4cd7344801
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jul 1 21:00:37 2007 +0000
-
- Heavily extended and refactored String#% specs;
- some cleanup
-
-commit 79ce6628df39d20d03efcd715ea42ba70ae9f03e
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jul 1 20:59:38 2007 +0000
-
- Add support for MRI as :mri for failure() and similar methods
-
-commit 7e43cd858c0380aaf17dd7bacd8a24cef96bb309
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jul 1 17:11:08 2007 +0000
-
- rindex terror specs
-
-commit e5b7cf88092cf59357124e3d8f35bc19f8ee589a
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jul 1 01:14:09 2007 +0000
-
- Added a few new format specs (Most of these should probably be moved to Kernel::format later)
-
-commit a533693824608a03ab6a66882b607fecab3a3a75
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Jun 30 00:29:29 2007 +0000
-
- A few more specs, clean up and compatibility with MRI 1.9 head
-
-commit b9e8936562ec23db63879f9c127dadeadd8adf2e
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 29 02:41:40 2007 +0000
-
- New specs for [], default(), delete(), shift(), yield argument count semantics and modifying hashes while iterating over them;
- Also removed some warnings and cleaned up the code a bit
-
-commit 72d1b106c1de4b00b9af184eb890e950854a9c77
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 29 02:37:55 2007 +0000
-
- Adding spec for join passing along separator argument for nested arrays
-
-commit 6e2848b7143cd0ae47a7b9ac632a567df7fd30fc
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 29 02:35:09 2007 +0000
-
- Adding message argument for should_raise()
-
-commit 31591886dde4bfd9b4e9de34c26960e45566b7ee
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jun 27 05:15:15 2007 +0000
-
- Commiting (#147) math specs by pedro (modified for style, structure, and legibility).
-
-commit c7d623ee836363d0f3d443ba1c676ef0f86e34f7
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jun 26 04:06:49 2007 +0000
-
- enhanced spec:ci to take a target on the command line, invoke like: SPEC_TARGET=jruby rake spec:ci. removed deprecated #only and #except from spec_helper.
-
-commit c13a588cb7e37c20ce7e8a9430d854cc51be7b00
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 25 08:28:10 2007 +0000
-
- misc cleanups to specs to eliminate interaction effects.
-
-commit 280296208bd699cb574c662f92b585519a739c6b
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 25 02:42:07 2007 +0000
-
- removed extension dir and added README for subtend specs.
-
-commit 7ce8d4addc77ea9da0daf3ea3dc1fc7b00030b29
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 25 02:30:15 2007 +0000
-
- reorganized subtend specs. stragglers from spec/language reorg.
-
-commit d499ebfd98d8fb9bd50c0f7a46b3587aa1f28c8a
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jun 24 19:44:12 2007 +0000
-
- significant reorganization of spec/language, added files that correspond to the desired layout of this section. there remains to be done a large amount of cleanup for existing language specs, and especially spec description strings.
-
-commit bc0d0965bb5a6b3966884b63edd37218359aa46d
-Author: Tilman <tilman@unknown>
-Date: Sun Jun 24 14:52:15 2007 +0000
-
- Extended specs for File.join.
-
-commit a4e189f31a8c256821564041c4dbce2a832ba78e
-Author: Tilman <tilman@unknown>
-Date: Sun Jun 24 13:00:33 2007 +0000
-
- Fixed a typo.
-
-commit ecaf1abafeb69994b05463742ca4220797f62ad3
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Fri Jun 22 23:25:13 2007 +0000
-
- * Array specs by Josh Susser (hasmanyjosh)
-
-commit 1c8987b6195d356126ebc3cc9c21e473be915240
-Author: Arthur <arthur@unknown>
-Date: Fri Jun 22 21:22:30 2007 +0000
-
- * Heavily extended String specs
-
-commit 663e2cbe0c026aa7e792b6aab682301570ccd766
-Author: Tilman <tilman@unknown>
-Date: Fri Jun 22 08:59:42 2007 +0000
-
- Added specs for Time#dup.
-
-commit f9dd8149bd7d794e8686053e8dca010ea71eacba
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jun 21 06:47:57 2007 +0000
-
- added methods #compliant, #noncompliant, #extension, #failure. Please read the comments for them in spec_helper.rb. #only, #except are deprecated but have not yet been removed.
-
-commit 389b3cef5176b0244f78294a3c820cc84797e0df
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jun 21 05:22:36 2007 +0000
-
- added -f i (immediate) reporter for mini_rspec.
-
-commit d113f855e32d09abaa74bb0ccafa4a65ffce66b1
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jun 20 21:59:27 2007 +0000
-
- A few more hash order consistency specs
-
-commit 8df2a605937c29b0ca4e89fae37b725e7244fbee
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jun 20 21:24:01 2007 +0000
-
- Small spec improvements all over the place
-
-commit 5c2472584637b6f5accaaf2450d4c23904b0bbd7
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 23:06:33 2007 +0000
-
- Small tweaks to let us run specs against Ruby 1.9
-
-commit 18b06659146f00f0ecf72846c445b03268305328
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 15:56:02 2007 +0000
-
- More specs, including frozen hash ones
-
-commit 3cc17a6c7d4c4e4d13b67da4e2bd8937160916f0
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 15:02:21 2007 +0000
-
- Specs for methods involving to_hash and more
-
-commit a33e72ba27dc7c80fb7c3947d4fe86521b8987e0
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 13:35:14 2007 +0000
-
- New specs for each, each_key, each_pair, each_value, fetch, has_value?, index, initialize_copy, inspect, invert, key?, keys, length, merge, merge!, rehash, to_a and value?
-
-commit f5ec55b0233fd6b7825b04afc6157caac0c529ce
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 13:18:33 2007 +0000
-
- Using except(:rbx) for "inspect should handle recursive arrays" instead of commenting it out
-
-commit 7fec6cb5534d22dbfa4dd245cf3b0c0776b3b465
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 00:56:35 2007 +0000
-
- New specs for Hash.new, #==, #[], #[]=, #clear, #default=, #delete and #empty?
-
-commit e3085af8e97177f8b7e4ff1c2aad2f306a4f474d
-Author: Florian Gross <florgro@gmail.com>
-Date: Tue Jun 19 00:53:43 2007 +0000
-
- Specs for how Array#uniq should use eql?() and hash()
-
-commit 01799e95c71453e8dff9730dd283bf76989e75e5
-Author: Florian Gross <florgro@gmail.com>
-Date: Mon Jun 18 11:22:47 2007 +0000
-
- Adding new specs from rue plus more. The diff is a bit chaotic, but everything should be OK.
-
-commit 890deed76153d05c6874b46ec29c474eb4e36e41
-Author: Florian Gross <florgro@gmail.com>
-Date: Mon Jun 18 11:12:04 2007 +0000
-
- Moving only() to general spec helpers, adding expect()
-
-commit bf89af6c3b632b88e3cc74bead42f21561da58a7
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 18 07:19:15 2007 +0000
-
- (Jason Toy) added some specs for File (with some modifications) (#130).
-
-commit a7a6d8e336f8d331c60e973fb8f9e0aac1fb61ac
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 18 05:20:29 2007 +0000
-
- (Jason Toy) initial specs for YAML (#123).
-
-commit 4c2f70040050e35da28a8684296f913a3dd4a198
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 18 05:14:41 2007 +0000
-
- (nitay) patch for Bignum#size (#120).
-
-commit b1e57c9c718acfc7f1e61ae1fb60f10b918f8e5c
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 18 01:40:29 2007 +0000
-
- Range specs and code from Ryan Mulligan (#141).
-
-commit 9fa70f392bf83c55d67e682c36d9ebd247cff62c
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jun 17 22:02:48 2007 +0000
-
- New specs from Ryan Mulligan (#140)
-
-commit 64c970bddeb754115ed193d2f786c797ea90dab3
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jun 17 20:08:40 2007 +0000
-
- reorganized specs to put implementation-specific extensions in a subdirectory within the logical division of the specs into core, library, language.
-
-commit 8d437f0f63d4d3f9eea6e4436a28f437e6e76053
-Author: Florian Gross <florgro@gmail.com>
-Date: Sun Jun 17 19:39:37 2007 +0000
-
- Initial work on hash specs -- a few new cases and a bit of reorganization
-
-commit d8222049004ba0d6ec51db0c962b5200bb180aec
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jun 17 03:53:45 2007 +0000
-
- (yipstar) module specs for undef_method, define_method, remove_method. all pass MRI.
-
-commit 0162cfe6a443ded5d6c8e01a866f5a8d1fbce901
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Jun 16 23:11:31 2007 +0000
-
- Added specs for * / join / to_s with recursive arrays
-
-commit 0744e57d7860b9f6eefcc8e14962d7ee777d2ec4
-Author: Florian Gross <florgro@gmail.com>
-Date: Sat Jun 16 22:05:32 2007 +0000
-
- A few more specs for array sub classes with to_ary [ruby-core:11472]
-
-commit 07e0df5111c8ceeda83e50ef434948ee17e92aae
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jun 16 19:09:19 2007 +0000
-
- commented out specs that cause the VM to seriously misbehave allocating memory without bound or causing SIGBUS. currently 434 examples, 130 failures at r1357 on MBP.
-
-commit 2abc6e6dc5df662e8f0587636bd1cf3573e39f28
-Author: Tilman <tilman@unknown>
-Date: Sat Jun 16 16:41:07 2007 +0000
-
- Don't use timezone names that aren't portable.
- Instead, specify timezones by their standard name and the offset from GMT.
- This makes the specs pass on FreeBSD w/ MRI.
-
-commit d4106115c2ca9a4678b7060b6ac0091d66312624
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jun 16 08:20:29 2007 +0000
-
- a first, big step to making the entire set of specs more agnostic about the ruby implementation/engine by, paradoxically, qualifying certain specs to only run under certain ruby engines. removed incompatible and rubinius directories. folded in specs where appropriate and moved spec files (e.g. bytearray, tuple, compression) into the appropriate directories. the spec/parser and spec/compiler dividing line is not clearly defined given the range of types of implementations and perhaps should be merged.
-
-commit 3de0340e693e20b5e32c643f1f4dae7e1943e077
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jun 16 07:07:41 2007 +0000
-
- migrated more tests from shotgun-tests to specs.
-
-commit 369813306643d98c277841c1e9b400f6b60d3316
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 15 22:43:05 2007 +0000
-
- Add spec for elements returning odd stuff on <=>
-
-commit d70ab64def5ebdcb0e1946618b06e810270eb2aa
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 15 22:17:03 2007 +0000
-
- New specs for frozen arrays
-
-commit fda7128521254d2db2668fec55ef7ce9337ecf1a
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 15 21:55:30 2007 +0000
-
- More specs, mostly for array subclasses
-
-commit 2d57166d2ef2ff63f333b7ee0c196f5c4e10b8cf
-Author: Florian Gross <florgro@gmail.com>
-Date: Fri Jun 15 16:56:25 2007 +0000
-
- More than five bazillion new specs including a ton for the very evil []= method (letters i through s)
-
-commit b905a952af41a96f72499750c4635b1352b237ba
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 14 23:06:33 2007 +0000
-
- A few more specs.
-
-commit e17aa3690f7dcd2dab346bf7def0dd26b38072f1
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 14 22:16:54 2007 +0000
-
- A bunch of new specs. Includes highly exotic corner cases.
-
-commit 7845d8928d138353ad03bd496d1800c03e82b538
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 14 20:52:23 2007 +0000
-
- Fix cleanup to work with symbolic method names like ==
-
-commit c677ac036baa847cef3de6a34b2b56c9fd09213c
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 14 18:04:43 2007 +0000
-
- Fixed the test for DATA to match MRI (it's only supposed to be defined when the main file contains __END__);
- Added test for TOPLEVEL_BINDING
-
-commit 27b2767cd21b5a69ee10a2a629a68de64fd8ae5a
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 14 18:03:26 2007 +0000
-
- Introducing RUBY_NAME so we can spawn a new Ruby for things that can't be tested otherwise
-
-commit 4c4a96f51b4c06dd6896f996ae0e87a68152a3bc
-Author: Tilman <tilman@unknown>
-Date: Thu Jun 14 15:15:56 2007 +0000
-
- Don't call Time.now multiple times when comparing their values.
-
-commit cde774be8b188f5870b1ee387b5e5fffd9948163
-Author: Tilman <tilman@unknown>
-Date: Thu Jun 14 15:00:17 2007 +0000
-
- Fixed a typo.
-
-commit 6e51eee65c310255183d81d97a98be313ca68afc
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 11 04:07:03 2007 +0000
-
- put guards on imcompatible specs to prevent ruby, jruby from running them. work around for Dir ** globbing being broken.
-
-commit 03dfae6b896a6b67ac6066e94284d992833afac5
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jun 11 02:00:25 2007 +0000
-
- Added rake task spec:ci. added svn:executable for bin/mspec. enhanced readability of system command in mspec. added globbing across directories to mspec command.
-
-commit 96425667fbff044333c13c5a88c3b8cad156504f
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jun 10 21:45:52 2007 +0000
-
- modified mini_rspec to include proper reporters. converted mspec to use ruby to generate a command line to run specs. mspec usage should be similar to spec: mspec spec/core spec/language/class_spec.rb will execute any spec/core/*_spec.rb plus spec/language/class_spec.rb and output a single summary of exceptions, examples, failures.
-
-commit 1075f2cf34a81c00a1b06d2474c78300ae013161
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sun Jun 10 06:59:40 2007 +0000
-
- Cleaned up MatchData, added support for accessing named groups.
-
-commit c678d79f125d67328e267001e5fe353f5ef38a2c
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sat Jun 9 04:20:51 2007 +0000
-
- * =~ for regexps to mini_rspec by dean (Ticket #136)
- * Kernel.caller spec relocation for reliability
-
-commit 00eec364dbf3cef03915a68a359ed06b7e501553
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jun 8 07:10:56 2007 +0000
-
- reintegrated String specs. all specs in core follow the convention that there is one file named <class>_spec.
-
-commit 9f9817bbb9fea5cc02eb280f01eb50e45ea03118
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:49:47 2007 +0000
-
- * String#replace, String#chop! and String#chop behave now as in MRI.
- * Specs
-
-commit 129e492fcacf937473bb1c602176b48a352f8572
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:39:00 2007 +0000
-
- * Fix String#<=> when the given object is not a String.
- * Fix String#to_sym for invalid symbols.
- * String#to_i raises an error when invalid radix is given.
- * More specs.
-
-commit 8d7a9e21874d9e44c63d17dd8f6832b942805707
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:31:25 2007 +0000
-
- * Make String#capitalize!, String#downcase! and String#upcase! check for the 'frozenness' of self
- * Specs
-
-commit 10087a0c92217d1fbadfede9fdb0099c7eb195e6
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:25:08 2007 +0000
-
- * Spec for String#==
-
-commit e51ca54f6f4e9e3dabd48895fa2cb746fb0d3c17
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:23:23 2007 +0000
-
- * Fix String#=~ to work as in MRI.
- * Specs
-
-commit d2c7d6e6bb624c23e994888b6a235022486e0c69
-Author: Arthur <arthur@unknown>
-Date: Thu Jun 7 23:16:35 2007 +0000
-
- * Alias String#size to String#length.
- * String#<< now correctly checks and converts (where applicable) arguments.
- * String#<< raises an error if used on frozen string.
- * Added extended specs for String#<<.
-
-commit c389493556e3394cce846698aa4fc6a67a5f4b40
-Author: Tilman <tilman@unknown>
-Date: Thu Jun 7 18:14:02 2007 +0000
-
- Time#zone_offset and #zone_utc? are also in stdlib already.
-
-commit 7dcd86dca123edaec7edec2853cba2af27ca6d52
-Author: Tilman <tilman@unknown>
-Date: Thu Jun 7 18:07:59 2007 +0000
-
- Moved the specs for Time methods that should be in stdlib rather than in core to spec/lib/time_spec.rb
-
-commit 953dfdfdea395ead465a9e19339d94f8b8c7d684
-Author: Hapk <hapk@unknown>
-Date: Thu Jun 7 17:36:20 2007 +0000
-
- Added more specs for Array#pack: covering %#bB.
-
-commit 7aa84bc102ad6943aed46cbb357f233ac4b6d3f9
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 7 16:47:03 2007 +0000
-
- Make next with arg match MRI; Fixed typos and a copy&paste error
-
-commit 40c354444d6d7a2fd3aeb940c3bdcf6fd2a28940
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 7 16:43:17 2007 +0000
-
- Fixed to run on MRI (uses Object.const_get now)
-
-commit 95dd0ca698d0b1f79a11f4a556c171bea33ba176
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 7 12:52:40 2007 +0000
-
- Make behaviour match MRI, fixed copy&paste errors, did some refactoring
-
-commit 191d4e80406a6e4ffd08594ddeada47fb3219bf0
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 7 01:41:08 2007 +0000
-
- Fix chaos introduced in rev 1283
-
-commit e0f5184493607f7d9c216146207dc298893a744c
-Author: Florian Gross <florgro@gmail.com>
-Date: Thu Jun 7 01:28:55 2007 +0000
-
- Fix Dir.chdir test on OS X (/tmp is symlinked to /private/tmp)
-
-commit a32062d6099556a93afee61f0b0000a28675fbb6
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 21:44:00 2007 +0000
-
- Deleted old specs.
-
-commit de7b3ecaa61c4d3514c8a3534805e9c8d0d1bb2f
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 21:09:48 2007 +0000
-
- Made the Time#to_a spec pass with any time zone, too. MRI passes all the specs for me now.
-
-commit ac1e295da36f23184e583f5e62a4909959550dbd
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 21:06:32 2007 +0000
-
- Fixed specs for Time#localtime, #gmtime and friends.
-
-commit 064a5967f5550cf4a2e10885ab2c9f22afa59da2
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:56:41 2007 +0000
-
- Fixed a few more Time specs. Instead of the imaginary time zone "PDT"
- I'm now using Asia/Kuwait for some specs, because those lucky people
- don't have DST, which means we don't have to flip the spec expectations
- every 6 months.
-
-commit 8f6b6a5a5f8e62631a58061b6cdeeaff5654aeb0
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jun 6 20:41:32 2007 +0000
-
- module_function specs matched to MRI (module_function makes the instance methods private)
-
-commit 8cc656b95cb71ea476e787ce635df889090f8050
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:41:02 2007 +0000
-
- Fixed the Time#year spec. Using CET, too, since specc'ing using 1969 just feels wrong.
-
-commit ed7be9eaa73b8b1d85964f5c8fdfc250e2e8f62f
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:38:43 2007 +0000
-
- Oops, fixed a stupid error in r1281.
-
-commit e81d716092e0c6a8b52775ca2b9e0d44c4e3ef7f
-Author: Florian Gross <florgro@gmail.com>
-Date: Wed Jun 6 20:35:42 2007 +0000
-
- Divmod matched to MRI (Special casing darwin on MRI because it doesn't raise FloatDomainError exceptions in some cases)
-
-commit fc5f461c47b7212f05f8699110e313aeab46d46d
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:35:34 2007 +0000
-
- Fixed the Time#hour, #min and #day specs.
-
-commit 6847a1e49ff4ad4dfe7c6e9e4d7352f92d72b4cd
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:26:26 2007 +0000
-
- Don't call Time#seconds as MRI doesn't have it and it doesn't seem to be needed anyway.
-
-commit b9a6ccc89d46ffa910c9bdc0fece9d013440872d
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:14:15 2007 +0000
-
- Time#asctime needs to use %e to print the day of the month.
-
-commit 7311fdf31481ba7a4373d5b007efb62c1f84c389
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 20:03:30 2007 +0000
-
- Hardcode output for Time.gm(...).inspect. This makes utctime superfluous for now.
-
-commit 229e7eefe7944df92ab2f84e553992fc0c868dbd
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 19:19:38 2007 +0000
-
- Fixed two more Time specs.
-
-commit 7f490d752ed97bfb9b830d24f4e2c2f44107c141
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 18:41:47 2007 +0000
-
- Make sure that with_timezone resets .
-
-commit 9c8d25c4d072510215407209fa52a06b85e95d35
-Author: Tilman <tilman@unknown>
-Date: Wed Jun 6 15:57:32 2007 +0000
-
- Made the wday spec work with any timezone.
-
-commit 4882f8a676d5234339296d6a4489f3a7134cf5fd
-Author: Tilman <tilman@unknown>
-Date: Tue Jun 5 20:08:22 2007 +0000
-
- Fixed a typo.
-
-commit fb63faa2165cafdc7907f173344638609f884833
-Author: Tilman <tilman@unknown>
-Date: Tue Jun 5 20:03:06 2007 +0000
-
- Make sure that a GMT Time object returns true from gmt?
-
-commit deae4911588b555264f529e765dc5baf7a2c6e69
-Author: Tilman <tilman@unknown>
-Date: Tue Jun 5 20:00:45 2007 +0000
-
- Use with_timezone for the gmtoff specs.
-
-commit 625dd8e366f846cf15165e323a719199627ae422
-Author: Tilman <tilman@unknown>
-Date: Tue Jun 5 19:47:29 2007 +0000
-
- Added a helper method to temporarily override the TZ env var and fixed one of the specs by using it.
-
-commit b359eb74d41749919c6177ec2af6b5b516308bd8
-Author: Tilman <tilman@unknown>
-Date: Tue Jun 5 19:33:01 2007 +0000
-
- Provided 'date' calls for coreutils' date program.
- Checking for coreutils using RUBY_PLATFORM isn't the right way,
- but it will do for now.
-
-commit b19c3c8d886885adc08ac69469792b14e47ba265
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Mon Jun 4 23:42:20 2007 +0000
-
- * Improved Array#sort with additional spec by wycats (ticket #135)
-
-commit 8513e72a5af7596c8782ee45dff39607489dbf12
-Author: Tilman <tilman@unknown>
-Date: Mon Jun 4 16:39:53 2007 +0000
-
- Ticket #132: Implemented ENV in core and removed read-only ENV from shotgun.
-
-commit 03d75a78855213f6267fb8f80f9c71d0a031641f
-Author: Mojombo <mojombo@unknown>
-Date: Sun Jun 3 20:49:41 2007 +0000
-
- Implemented most of Time, updated time specs accordingly
-
-commit 36975b1b79abbd38de68223cdc8ecbca9ba0feee
-Author: Bremac <bremac@unknown>
-Date: Sun Jun 3 16:20:59 2007 +0000
-
- Add Functions::abort, Functions::printf, and Functions::sprintf, and minimal specs. Closes ticket 87.
-
-commit 9d25d95a4aa3fd22d3f3a340427d40410488a770
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sun Jun 3 12:41:49 2007 +0000
-
- * Lots of new assignment specs by crafterm (Marcus Crafter) (Ticket #133)
- * MatchData#inspect and #to_s now indicate it is an MD object
- * -dc notes which file/method is being compiled
-
-commit ec0fb5beed68155c9e1ff67185cc2c8e4e474c04
-Author: Arthur <arthur@unknown>
-Date: Fri Jun 1 22:23:39 2007 +0000
-
- * Fix String#[] and add some edge cases to the specs
-
-commit 068b48538ec574558ab787d59b14ebd2925f1126
-Author: Tilman <tilman@unknown>
-Date: Fri Jun 1 18:12:10 2007 +0000
-
- Renamed module 'B' to something more meaningful to avoid name clashes.
-
-commit eb3de8af03d070b03216daa4fc0c2216d9d3e2a2
-Author: Arthur <arthur@unknown>
-Date: Fri Jun 1 18:09:52 2007 +0000
-
- * Extend String#slice! specs
-
-commit db4775403d57ea29165165b9cbf0110739d91e2a
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Jun 1 02:26:30 2007 +0000
-
- * Ticket #128 - Patch by Marcus Crafter to enhance assignment specs
-
-commit 6098aa16357ce4261feb51bdf083c02442b1f074
-Author: Tilman <tilman@unknown>
-Date: Thu May 31 19:05:45 2007 +0000
-
- Implemented rb_obj_alloc() and friends in subtend.
- The spec for rb_class_new_instance() is still failing because of strange
- subtend behavior.
-
-commit ae2c3cb4502ba9475111eeef10b2b70780a1b9f4
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu May 31 13:54:24 2007 +0000
-
- * Fixed shotgun compile failure (possibly r1204)
- * Various casts to avoid warnings
-
-commit d317d336412d0c1778d4c015dfe96287c44e1bd9
-Author: Hapk <hapk@unknown>
-Date: Thu May 31 11:12:02 2007 +0000
-
- Added specs for "break", "next" and "redo" keywords.
-
-commit a33f801f8f142d997a553e41cde9f5b10d75ee65
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu May 31 04:23:33 2007 +0000
-
- * Kernel.caller spec by jtoy (Ticket #112)
- (kernel_spec is badly broken still)
-
-commit ce15eb69e721820e75b0f7aeae6488701cbe9555
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu May 31 03:55:27 2007 +0000
-
- * Fixed String#dump spec expectation (Ticket #105)
- * Moved RUBY_ENGINE to rubinius-specific variables_spec (Ticket #109)
-
-commit 7d2c575164dfbbd436d7c6ff400c088a68b29fa8
-Author: Hapk <hapk@unknown>
-Date: Thu May 31 00:42:50 2007 +0000
-
- Added "if" specs for variable scoping.
-
-commit ceb4430f9c713f409f2567a0aa324f19afb09b79
-Author: Hapk <hapk@unknown>
-Date: Thu May 31 00:35:49 2007 +0000
-
- Added specs for while / until condition/block evaluation order.
- Added specs for next and redo statements.
-
-commit 4adeecf9333236800396bd77f928fb902e785692
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 30 22:17:04 2007 +0000
-
- * Fixes to RSpec cleanliness of specs, most patches by zimbatm.
- (Tickets #97 #98 #100 #103, partially #99)
-
-commit bbb0714b6ae60adb0af7445ed56544ceec3bc890
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 30 21:41:03 2007 +0000
-
- * Array specs are RSpec/MRI-clean and pass (Ticket #95)
- * Fix to should_raise for MRI by zimbatm
-
-commit d627ab36d3839745e057d9f5de781269ba7b154a
-Author: Hapk <hapk@unknown>
-Date: Wed May 30 21:15:39 2007 +0000
-
- Added specs for 'while' and 'until' statements.
-
-commit 8a2177c7f23181909c5dcb51dd6df1e5b930fdbe
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 30 20:32:13 2007 +0000
-
- * Enhanced hatefulness of 'for' specs
-
-commit 9f64f2a1c584420fcabfc73a7c464aa3b1ba2e90
-Author: Hapk <hapk@unknown>
-Date: Wed May 30 19:46:57 2007 +0000
-
- Added specs for postfix "if" form.
-
-commit 9dd8a846adf356d75ceac566612f35d1d30840bf
-Author: Hapk <hapk@unknown>
-Date: Wed May 30 19:34:50 2007 +0000
-
- Moved loop specs from spec/language/expressions into spec/core/kernel_spec.rb.
- Added more specs for Kernel#loop.
-
-commit ddf2e3169c3a8b587f9abfb0ddf196635aec5186
-Author: Hapk <hapk@unknown>
-Date: Wed May 30 18:57:38 2007 +0000
-
- Removed obsolete "elsif" statement spec.
-
-commit 3b6dca92ea810aa7866a2c7aa0b8812e72b6630e
-Author: Hapk <hapk@unknown>
-Date: Wed May 30 18:56:00 2007 +0000
-
- Updated specs for "if" statement to cover more cases.
-
-commit 678f609bfe826538ec16e75f7362bcb3f50c8d6d
-Author: Arthur <arthur@unknown>
-Date: Wed May 30 17:09:09 2007 +0000
-
- * Extend Specs for expressions
- * Break the Specs up
-
-commit df60cc21e4213ac8344b5ed91e802d8cbbfa47a0
-Author: Tilman <tilman@unknown>
-Date: Wed May 30 17:00:17 2007 +0000
-
- Implemented rb_ary_store() in subtend. The last spec still fails, but we'll fix that later.
-
-commit 8e0fea820c1683913625dfe95c7d3210d4548814
-Author: Arthur <arthur@unknown>
-Date: Wed May 30 10:09:55 2007 +0000
-
- * Extend Specs for Class Definitions (nested class definitions, class definitions that extend objects, Multiple Definitions of the same class).
- * Lots of them are failing in rbx.
-
-commit ce16f2b568ea89cb5f13660d3175165b105e4233
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 30 01:18:39 2007 +0000
-
- * OK, that should really be in 'rubinius', not 'incompatible'
-
-commit 888b777539baa116eedc14191ac85d57aec54349
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 30 01:15:37 2007 +0000
-
- * 'Options' is a Rubinius-only class, and should therefore be in 'incompatible'. Closes ticket #102
-
-commit 46a58344fa2f03fb4154b78f34239a815b2d9944
-Author: Bremac <bremac@unknown>
-Date: Tue May 29 23:52:52 2007 +0000
-
- Fix typos in specc'ing module_function, and make that spec play nicer with MRI.
-
-commit e0cedb691f76af4554bfc7522a7668ff861492f0
-Author: Bremac <bremac@unknown>
-Date: Tue May 29 20:49:42 2007 +0000
-
- More complete raise implementation and specs: Handle instantiation.
-
-commit 9f3a3bfe9d2610dd7e9e752c86a1b8aba47f7fdf
-Author: Hapk <hapk@unknown>
-Date: Tue May 29 20:39:07 2007 +0000
-
- Added 'case' spec for case with empty 'else' body.
-
-commit 8f888bd3d0a01afc945c45c0502a0b97f3227c48
-Author: Arthur <arthur@unknown>
-Date: Tue May 29 20:34:18 2007 +0000
-
- Extend Class specs. Some specs failing in rbx.
-
-commit f52d9faadc1eac31e7b92c1edb1cf45ca1d42c89
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 20:29:53 2007 +0000
-
- Implemented rb_str_new2() in subtend.
-
-commit d4d5e3d1eb8e5ee44acff6697a29a37b9eca25b2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 29 20:00:51 2007 +0000
-
- * Patch by HaPK - Add specs for 'case', and enhance specs for 'for'
-
-commit f3e736731e852dacbf90e8e3e33d840384909354
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:56:41 2007 +0000
-
- Actually exercise rb_ary_unshift() in the spec.
-
-commit 69d756ae17fce1fb53be5e7a1b5b7169b69c4aa2
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:55:32 2007 +0000
-
- Implemented rb_ary_shift() in subtend.
-
-commit 9f84a5ecddae6c0daf1fd7e46815275c7d7429db
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Tue May 29 18:50:41 2007 +0000
-
- * Fix to Array#to_a for subclasses
-
-commit 2bbc87fc1b5261b57927a02f75915829b398b478
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:50:33 2007 +0000
-
- Implemented rb_ary_unshift() in subtend.
-
-commit 4e69b95ad7991a57fd3f9b7cbf350cb5b13c6a5c
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:46:53 2007 +0000
-
- Implemented rb_ary_dup() in subtend.
-
-commit 122a9cfbe79e872146116c8e045a243fffd333e6
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:31:48 2007 +0000
-
- Marked SubtendArray method functions as static.
-
-commit 0e3319c07aa1d536343343fbbe1004c4cdce2df0
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 18:28:05 2007 +0000
-
- Implemented rb_ary_clear() in subtend.
-
-commit 621f0082fca85140791e2c40aabc8ad3fe3318a6
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 17:58:31 2007 +0000
-
- Implemented rb_ary_entry() in subtend.
-
-commit 9c7d05c0bb19e65f57fc6aab778785e2a727c4a4
-Author: Tilman <tilman@unknown>
-Date: Tue May 29 17:42:40 2007 +0000
-
- Ticket #91: Made spec/subtend/rake_helper.rb more portable.
-
-commit 5dba201079bdf8da63364ea760342f3cef85df74
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 29 15:56:01 2007 +0000
-
- * Add specs for Array#pack, patch by HaPK
-
-commit 2d71e18c6f08144d4fb402904a9226a8500343bd
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 29 15:28:45 2007 +0000
-
- * Better fix to method argument scoping, to support: def foo(a, b=a.length)
-
-commit f9deebb38b80cdea3dff44d7461404e5f501f566
-Author: Defunkt <defunkt@unknown>
-Date: Tue May 29 09:59:00 2007 +0000
-
- * Add spec for Struct subclasses. Closes ticket #110
- * Add failing specs for Class.new. Closes tickets #89 and #94
-
-commit 3be02f950f32a288fac1cd5cff0ae014057c96fb
-Author: Defunkt <defunkt@unknown>
-Date: Tue May 29 09:12:00 2007 +0000
-
- * Add should_include convenience method to make rspec more compatible with mspec. Closes ticket #106
-
-commit 68e716e1874e7dd4186c7eef2aea5e25157a44fd
-Author: Vagabond <vagabond@unknown>
-Date: Tue May 29 03:46:33 2007 +0000
-
- * Add HaPk's fix to Numeric#== to handle failed coersion with corresponding specs
- * Removed duplicate definition of Numeric#==
-
-commit a63e6fcb08e34c625957d8d23bbe602964863c5b
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 29 02:59:43 2007 +0000
-
- * Add Kernel#eval. Probably lacks some crazy MRI semantics at the moment
- * Method definitions should properly create a clean scope for locals
- * Support wacky default arguments, such as blah = lambda {|z| z.foo(another_arg) }
- * Optional label prefixes in assembly output, for easier debugging
-
-commit f1295ac58d2b601f539efe0e660dfed9d043d1d7
-Author: Vagabond <vagabond@unknown>
-Date: Tue May 29 01:39:46 2007 +0000
-
- Change Time specs to use ENV['TZ'] instead of `date` in hopes of being more portable
-
-commit 404faeca93c007f3eb9b3df52c2bde7673565113
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Mon May 28 19:20:27 2007 +0000
-
- * Fix some mistakes in method_spec that caused it not to pass under MRI
-
-commit d336078c02e1306acb4b2664a427b63e93b02788
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun May 27 06:03:25 2007 +0000
-
- * Fix local scoping to allow for method definitions on local variables
- * Pass all the horrible method definition specs
-
-commit 7759a0f91f794d05a32d48dd2e67d05c0b1dace7
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sun May 27 05:03:53 2007 +0000
-
- * Rename Thread.yield to Thread.pass
- * Implementation of 'module_function' by bremac, with minor tweaks
-
-commit 55f30c5e59d16ebbf045be93a7d406fed9a4dcbd
-Author: Vagabond <vagabond@unknown>
-Date: Sun May 27 00:34:44 2007 +0000
-
- Added defunkt's implementation of Module#const_set and const_get and associated specs (Ticket #72)
-
-commit 9cebe0c56fda41b83ab14d39275e327daf0bdcc9
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sun May 27 00:31:47 2007 +0000
-
- * Fixes to mini_mock by bremac (Tickets #85 and #86)
-
-commit f33756f22597bd280e453d5c7ad97685fa284579
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sun May 27 00:24:51 2007 +0000
-
- * Fix typos in splat_spec (Ticket #77) by tilman
-
-commit ea13a828e5fc19694fc24da25b2224a75462a88c
-Author: Vagabond <vagabond@unknown>
-Date: Sun May 27 00:11:58 2007 +0000
-
- Add Chris Wanstrath's (defunkt) Struct patches. Tested working against MRI.
-
-commit 3ca0ddcc2c39fec74f10b75df2af5c1581b9eaa3
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sat May 26 23:56:26 2007 +0000
-
- * Array fixes. Only spec failure remaining is #pack
-
-commit 4d91aa707a47189398455eb1c40b341dc3766ccf
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sat May 26 20:05:13 2007 +0000
-
- * Array fixes to pass specs (including HaPK's code).
- All remaining failing Array specs except #pack are
- not Array bugs. Test this heavily.
-
-commit 6793b34a54ab8e24e8a66a8af026a34315ac9f5b
-Author: Vagabond <vagabond@unknown>
-Date: Sat May 26 07:34:12 2007 +0000
-
- Add cdcarter's Enumerator implementation and specs translated from his test/unit tests
-
-commit fd10c39192825aeef68c8843c2813cf50b8137f2
-Author: Vagabond <vagabond@unknown>
-Date: Fri May 25 20:12:22 2007 +0000
-
- Some fixes to rand with associated specs
-
-commit 60d37d28b715854f5186598c90101824665ce715
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri May 25 19:43:11 2007 +0000
-
- * Properly normalize default method arguments, to support: def(x, y=puts('hi'))
- * Fix 'for' loops so that they use 'create_block' in the proper way
- * Move all 'for' processing out of compiler.rb
-
-commit 3c04a44e8ff9e84f48fbd2d3afabb886494b5a98
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri May 25 06:35:48 2007 +0000
-
- * Patch by HaPK - Fixes String#dump / inspect / upto
-
-commit 9e2442110ec33ff9ca4875407b227f2cf79a606a
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri May 25 05:36:31 2007 +0000
-
- * Use a random pivot point for better worst-case Array#sort performance
- * Add 'rake pristine' task to kill all .rbc files
- * More tricky specs for splats and multiple-assignments
-
-commit 7bea77d8d3e8f190dba4f34fead888551fd07730
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu May 24 23:50:06 2007 +0000
-
- * HaPK's patch to String#<=>, along with its specs
-
-commit 0e6007e7eb9eee5e3ab1acdf55da00f4ab8c4be0
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu May 24 23:29:49 2007 +0000
-
- * Add spec for masgn semantics
- * Fix numerous multiple assignment bugs
-
-commit 6d68d22efd7d2dba75c77cf957edb28dca6df6ef
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu May 24 07:05:00 2007 +0000
-
- * New Array#sort implementation, fixes several Array and Hash specs
- * Add a warning comment to bytearray.rb about some incorrect <=> behavior
- * Prevent unimplemented Array specs from crashing the spec run
-
-commit 0ca089c7354ec96103cb637f861751ca7df01136
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Thu May 24 01:15:40 2007 +0000
-
- * Support all kinda crazy splat syntax
- * Updated some compiler specs, though some TODOs remain
- * Added a comment above unshift_tuple, since it really shifts
-
-commit bbe0b73b07a393f94724964941d2fdd717a2d72e
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 23 19:58:10 2007 +0000
-
- * Add compiler support for: yield(*args)
- * Update some compiler specs to match recent fixes
-
-commit 32a7082205d3d214ad43a477286270a96076b140
-Author: Kev <kev@unknown>
-Date: Wed May 23 17:32:06 2007 +0000
-
- Make spec titles consistent (describing C api behavior)
-
-commit 699c66f8c8304522fbb3589356fe2bcd298277c8
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 23 06:56:25 2007 +0000
-
- * Use yield instead of &prc.call when initializing a thread.
- * Fixes VM crash / closes ticket #68
- * TODO - Why the HELL does this fix it?
-
-commit f8b6e1ff9e19e786b08fee30988eb874eae748b5
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 23 03:18:26 2007 +0000
-
- * Implement Thread.main
- * Prevent Object#inspect from crashing the VM when the inspected object has itself as one of its instance variables
-
-commit f24f573608ee5569b29754a017769db0f866cf4c
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 22 22:35:14 2007 +0000
-
- * Implement 'class_variables' method
- * instance_variables and class_variables now accept an optional argument, causing them to return symbols instead of strings
- * Support defined?(@@class_var)
- * Support defined?(a_vcall)
- * Fix false-positives in defined_spec.rb
-
-commit da540b51c47b2349b0ab8d4ca0bd11124138f9ce
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 22 20:52:30 2007 +0000
-
- * Add compiler support for begin/rescue/else/end syntax
- * Default rescue clause should be StandardError, not RuntimeError
- * Add specs for 'else' and empty begin sections
- * All Exception specs now pass
-
-commit 82abf73fd99ec45f7cb6d98d19b219a61af59a61
-Author: Vagabond <vagabond@unknown>
-Date: Tue May 22 18:39:59 2007 +0000
-
- * Fix Object#instance_eval to bring it into line with the specs and MRI
- * Fix Object#instance_variable_validate to not accept fixnums as instance variable names
- * Add another Object#send spec that tests exception raising for missing singleton method names
-
-commit 3b624f3f49c0433289224baf656b3d7be78cecd8
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue May 22 08:15:48 2007 +0000
-
- Fix the block arg scoping problem, also add a missing file from the compiler specs.
-
-commit 59af7028c060c8e3f9b9c107fb750a71dd37a1d6
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Tue May 22 07:14:54 2007 +0000
-
- A bunch of yummy-ness. Local variables now conform to the 'standard' behavior, ie they're allocated at different depths inside blocks (this is the yarv/jruby behavior).
-
- Cleaned up a couple of subtend things.
-
-commit f8ed63efac6fa661dd39db2c207b66c34d132546
-Author: Vagabond <vagabond@unknown>
-Date: Tue May 22 03:28:17 2007 +0000
-
- Add specs for Object #method, #respond_to? and #__send__. These currently fail with singleton methods on rubinius.
-
-commit 0d6e6b7109014c97d8f8be136166b3279d5a1108
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 22 02:06:19 2007 +0000
-
- * Handle 'call' nodes containing newlines, e.g. x = [5,6,7,8];p Hash[*x]
- * This is probably the wrong implementation, but it does work
-
-commit 518f7d34112e536d726cecfb2473c7b3db9ec33e
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 22 00:52:01 2007 +0000
-
- * Fix mini_mock's cleanup process
- * Add the ParseTree sexp test cases as specs. Currently in serious need of auditing
-
-commit 17ad76c162ff0cfe9662c20d418f455581389b42
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon May 21 21:50:13 2007 +0000
-
- Add a failing spec
-
-commit 1744773b7f57c766c75d188b04e55540d45e19d0
-Author: Vagabond <vagabond@unknown>
-Date: Mon May 21 20:22:04 2007 +0000
-
- Do some env trickery to make Kernel#at_exit testable
- Improve implementation and specs for Kernel#warn
-
-commit 45733aa44e8daee9e8c5e552ac9312f21163fe39
-Author: Vagabond <vagabond@unknown>
-Date: Mon May 21 20:16:18 2007 +0000
-
- Convert time specs to compare against output of the date command
- Change Time#inspect to use %z (GMT offset) instead of %Z (timezone)
-
-commit e58ef35a05d2a565befeaf3600bc00f21203a84c
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon May 21 20:12:34 2007 +0000
-
- Add spec for breakage caused by 1089.
-
-commit a5d54efe9a45f3acc1cdb0183a8c13ce6ed5e327
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Mon May 21 04:57:41 2007 +0000
-
- * Options implements a minimal lightweight option parser
-
-commit b28b77af82d99a7a3ec5a78f6ab8b4e138ac577b
-Author: Kev <kev@unknown>
-Date: Mon May 21 03:54:33 2007 +0000
-
- Add missing hash spec
-
-commit 81496352bdc2b6b27e293b7542908c6be54b9b6b
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon May 21 02:08:57 2007 +0000
-
- added specs from ticket #38 (David Anderson), but not patch because implementation was invalid (e.g. [].first(0) => [] not nil) and superceded by recent patches. fixed Array#[i,0] => [] exposed by the added specs.
-
-commit 4ed6afc81262a4197f1ddc646ada94277cd9abe6
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon May 21 01:07:36 2007 +0000
-
- HaPK's patch to Array#[] with specs. Knocks 14 failures down to 6. Ticket #60.
-
-commit b267aee1c10b6092d954c72d5776f4eafc109e51
-Author: Kev <kev@unknown>
-Date: Sun May 20 21:09:49 2007 +0000
-
- rb_raise, rb_const_get, exception definitions. Wooooo exceptions from C
-
-commit 37793ed650e6ce7352a7547cf4bc68f2ceb2f0b4
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat May 19 08:42:23 2007 +0000
-
- * Added nastier multiple-assignment-with-splat specs
-
-commit 39c9817fa1932f9fe708a8ba78f43cb39e7cb68b
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat May 19 08:30:06 2007 +0000
-
- twifkak's Kernel.fail patch with slightly modified specs.
-
-commit 264a42e8c11d08afa895b415453d59e1e1efe2e1
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Sat May 19 08:01:47 2007 +0000
-
- * Remove a misleading comment in exception_spec
- * Pre-compile bin/*.rb after a make install
-
-commit 7608e585e02283677275aaf5e5283e397ed2d671
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri May 18 23:57:09 2007 +0000
-
- Vagabond's Kernel.warn.
-
-commit 9a41c5a21bbc822ff9ff758eb2962ba80e2d454b
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri May 18 18:52:36 2007 +0000
-
- * Re-enable tr and unpack String specs
- * Change 'Nan' to 'nan' in Sprintf to match MRI
-
-commit fdc7032c6e4823727312cc7e5c33386cf9d91429
-Author: Mental <mental@unknown>
-Date: Fri May 18 06:01:20 2007 +0000
-
- add spec for ensure result elision
-
-commit 37438dc826624c3fee3afc1d30a9f661bbb1ab8d
-Author: Mental <mental@unknown>
-Date: Fri May 18 05:45:28 2007 +0000
-
- basic thread spec
-
-commit d89b7728d148ba8c1ddd74323aa8f9e3dae79691
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri May 18 02:37:55 2007 +0000
-
- * Fix 'should_raise' in mspec and rspec helpers
- * Added some new Module specs, and fixed existing failures
-
-commit f63e0cf797158a239f65714918debf7a6c1bb687
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu May 17 04:12:58 2007 +0000
-
- * First draft of a mock lib for mini_rspec
-
-commit c7fd82a8b4b84088de45463dbc25ae7eea5aabe2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 16 22:38:27 2007 +0000
-
- * at_exit handlers should run in reverse order of registration
-
-commit 2fb5c6e46f1682d927be8a9e116a609c75ec8be5
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 16 22:14:21 2007 +0000
-
- * Fix Kernel.Array(). All core/kernel specs pass now
- * Add Kernel#at_exit specs
- * Fix Kernel#`
- * Move AtExit handler array from Ruby namespace to Rubinius
- * It's spelled 'occurred', not 'occured'
-
-commit 3d1605a3ca731b05b5c03ebd8a6edcf386612930
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed May 16 06:04:16 2007 +0000
-
- added incompatible specs for #instance_methods returning symbols.
-
-commit 8ba8409ae0ab94a33cd082f02a81d4d1eab35b59
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 16 04:27:22 2007 +0000
-
- * Patch by shadowfiend - Enhance Module specs and implement Module#instance_methods
- * Make sure instance_methods always returns symbols, not strings
-
-commit 1e9b0066d712d4507260be02cf2bf116b2519af2
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed May 16 03:24:35 2007 +0000
-
- * MethodTable 'is a' Hash, and does not need its own fields in the bootstrap. Fixes 'Object.methods.keys'
-
-commit 8c57dd0e26cb5468c1b0150c5d9c5d80ae6f2de2
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon May 14 06:18:42 2007 +0000
-
- fixed class specs to pass on MRI. put rbx-specific integer specs in spec/rubinius.
-
-commit 8b43acd25a14f540447a9f958f7671822f836817
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon May 14 05:59:06 2007 +0000
-
- moved rbx-specific proc specs to a new home. made core proc_specs pass MRI.
-
-commit 4feb384d0a02b272bd1a3581dd4070ef475b25af
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon May 14 02:59:22 2007 +0000
-
- added RUBY_ENGINE == 'rbx' to global constants and exposed Rubinius::<const> on Object like MRI. converted sprintf specs.
-
-commit 34ad791d5f60177de7992a24f07992bb0d6c8b09
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Mon May 14 02:25:06 2007 +0000
-
- * Disabled Lightning's dissembler on amd64
- * Split specrunner into bin/mspec and a wrapper
-
-commit 8796b1f00501813c62676266508a6f89a82ec48e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 13 22:47:28 2007 +0000
-
- minor reorganization, cleanup of spec dir.
-
-commit 9be73815e2037dcc5347c2ef9876e76316efc504
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 13 22:06:54 2007 +0000
-
- specrunner outputs summary with 'examples'. converted language/literals, keywords, straggler method_spec.
-
-commit 647fe38ce5f132b7944cca8550233249d8b3c113
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 13 21:21:04 2007 +0000
-
- converted language, parser, library specs.
-
-commit d9e8f1fd3bc70231c89a1bdc17a9af5a46fce819
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 13 08:28:21 2007 +0000
-
- converted incompatible specs.
-
-commit 9a07bb52c526ce8883c53d437077d78510b0ac73
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 13 08:09:34 2007 +0000
-
- added Object#coerce_string that should act like 1.8.x StringValue function. added String#crypt and a couple other String things.
-
-commit 2bae9b5e3baa33da21c1335e84c2eab062eac3a4
-Author: Kev <kev@unknown>
-Date: Sun May 13 06:21:06 2007 +0000
-
- add rb_hash_delete
-
-commit 0ca1a5baa94b5984b0812365a408688420168d24
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Sun May 13 05:31:24 2007 +0000
-
- Imported GNU Lightning. subtend's rb_define_method_ now generates stub's to pop the args and call the function. Next step, add type conversion to call functions that don't take handles.
-
-commit 141e795d5042cb4ea398c9b8eaa9cd7045f5625e
-Author: Kev <kev@unknown>
-Date: Sun May 13 05:15:33 2007 +0000
-
- Add rb_hash_aset
-
-commit 0988a253d8e23b400a738ad74637e8b3655eae8c
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat May 12 19:40:35 2007 +0000
-
- new .rba's with rue's changes. converted spec/shotgun specs. added specs for Tuple. added aliases size, length for Tuple#fields.
-
-commit abd44484b4b2a28a4c7f0bf7acdf12ff30123729
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sat May 12 19:32:06 2007 +0000
-
- * Fixed class variables, should work everywhere now
- * Specs for cvar behaviour
-
-commit 8ec7dac58577cea314ff0fcd976219b23591bc4d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat May 12 07:40:42 2007 +0000
-
- reimplemented Object#instance_variable_get|set and #instance_variables. now works with immediate values, and classes with no __ivars__.
-
-commit 30c4dd441243277ec5b814ad9b4d4697e87641d0
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri May 11 07:56:14 2007 +0000
-
- added primitives for instance_variable_get|set so that methods operate identically on objects that do not have an __ivars__ field (e.g. Array, String). this needs more work because an exception occurs when attempting to set|get instance vars on an immediate value.
-
-commit 998a0ab62542f36f9e36bdd497116349421951ce
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 9 23:07:35 2007 +0000
-
- * Converted rest of spec/core/
- * mini_rspec/specrunner improvements
-
-commit 0cac71dd1e4dbb728bd3401e73fda5b3fbe95e38
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed May 9 08:18:59 2007 +0000
-
- updated expectations to be the actual compiler output. these specs should be carefully reviewed.
-
-commit 8d551887fd1fabc7700f9f0a432b728829dcef96
-Author: Kev <kev@unknown>
-Date: Wed May 9 07:42:15 2007 +0000
-
- Pull out bundle that got caught in the commit
-
-commit 736916decc6d9bfd7096079a0118f41a168d735d
-Author: Kev <kev@unknown>
-Date: Wed May 9 07:41:42 2007 +0000
-
- Add hash specs, and impl of rb_hash_new
-
-commit 2352f0a526be0f277f2e5d60f18acddc216045c1
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed May 9 07:06:45 2007 +0000
-
- converted test/bytecode/test_compiler to specs.
-
-commit 1f1d30f9ca690214a61f299a4bb408c2d28ef004
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 9 06:08:41 2007 +0000
-
- * Converted MatchData specs
- * Default warnings for empty spec files
- * Improved specrunner
-
-commit 04c03e648ca83de2c2aee37f9aef9079d0493bd7
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Tue May 8 06:24:48 2007 +0000
-
- * Converted Integer and Kernel specs
-
-commit a202ef1dfb21cebf3ee33376775d86b9dc89269d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue May 8 05:45:33 2007 +0000
-
- added before, after methods to mini_rspec. started adding compiler specs as conversion from test/bytecode/test_compiler. removed all host/target junk. thanks. bye.
-
-commit 692da2d89089bc94c95915c90da756480a057dc1
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue May 8 03:36:51 2007 +0000
-
- converted object specs. these really blow up rubinius.
-
-commit 714f5df86f583158d73eda366e2f2527156c3b8e
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Mon May 7 17:29:56 2007 +0000
-
- The first compiler spec, testing the masgn assembly. Some are commented out because they don't yet work.
-
-commit 8ccfe13ca0eca4ceae6a201905a64666a75dd6ba
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Mon May 7 05:52:41 2007 +0000
-
- * Converted and reviewed Hash specs
- * specrunner reports specifications and failures
-
-commit aa32b8e94de5c1ccd49a9d6ddca5836d6303c460
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun May 6 06:50:52 2007 +0000
-
- finished converting fixnum specs.
-
-commit 7c55264dc15ed2b8a1b341a5d605701c6626ad34
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Sat May 5 06:22:37 2007 +0000
-
- * Converted Enumerable specs
-
-commit 1c660edd87fa91d8c244289b00eb9252d5654c3d
-Author: Evan Phoenix <evan@fallingsnow.net>
-Date: Fri May 4 23:45:08 2007 +0000
-
- Fix array_append as well as the logic to call the extension function so the arguments are correct.
-
-commit 6b9c27b8f8d12be443d37635e17b23b7f0d76388
-Author: Kev <kev@unknown>
-Date: Fri May 4 07:54:10 2007 +0000
-
- Complete rspec coverage of subtend string compat to date.
-
-commit 32db2e9a157cee24ae883b7b8fd563d98fc2dce5
-Author: Kev <kev@unknown>
-Date: Fri May 4 07:11:21 2007 +0000
-
- Add loading of C extensions via require.
- Stop grammar.c from generating every fricking time
- Cleanup formatting on subtend
- Add proper minispec tests for subtend
- Remove old subtend test extension
-
-commit 851fbe6e587596fd074b4c99e42c43865118ae00
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri May 4 06:58:35 2007 +0000
-
- converted (but not to the new new style) fixnum specs. fixed mini_rspec to rescue backtrace.show on MRI.
-
-commit 3e8deacb57ef80684281b1329778bc52681a8601
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri May 4 06:22:53 2007 +0000
-
- converted module specs. added incompatible spec for const_defined?(Some::Class). made mini_rspec print backtrace on error.
-
-commit 3c1cc4ff4f6bf4fa28f65d9909a74f77f6524aa8
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri May 4 05:45:50 2007 +0000
-
- converted math and exception. added two helper methods: should_be_close, should_include. I think spec_translator should handle converting these to 0.9.x syntax as soon as rspec runs.
-
-commit 28e3cdba63f2853b9e9a084f27ad764437830799
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu May 3 15:26:39 2007 +0000
-
- converted float specs. added ignore for *.rbc on externals/rspec-0.9.1.
-
-commit 69ea5db15fb0562d8a4114d4e8ec54f2e19ad8fd
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu May 3 06:40:17 2007 +0000
-
- converted range, nil, regexp specs. added ignore *.rbc on rspec dirs.
-
-commit 6cc364770406e4e04ef7baf2fdaab7425a7f5a6c
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu May 3 03:27:04 2007 +0000
-
- * Converted Dir specs
-
-commit 5e39be7f97d5cd131b0cf564746d881245030f7d
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu May 3 03:04:24 2007 +0000
-
- okay, rue insists that we use describe ... it now. (see spec_translator with rspec 0.9.1).
-
-commit 99f05b9d6572600ed0bf6a732048c1c4a2d2bb0b
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu May 3 03:00:06 2007 +0000
-
- converted bignum specs. 100% pass on MRI.
-
-commit f9e4df4bdb721eb32c4ac7e5abd4a646daaf20d2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu May 3 00:06:19 2007 +0000
-
- fixed mini_rspec aliases for specify, etc. to work around exception: No method 'alias_method' on an instance of Object. (NoMethodError)
-
-commit 89d3ca0681816afd389907cbb52f7e0372dbecef
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 2 07:13:56 2007 +0000
-
- * Converted spec/core/ binding, class and continuation
-
-commit 086f889a9bae2e40dd6a8b1ffa80113070f3ad46
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed May 2 04:22:12 2007 +0000
-
- * bin/specrunner is a small bash kludge for running mini_rspec over
- a directory (recursively) or a single file
- * Rakefile allows diffing a current spec run against a base run to
- easily see all changes among the thousands of specs as well as
- storing a base run
- * specrunner produces decent output for the minimal spec output
- from mini_rspec
-
-commit ba89b2c015d2754b6470b324a013f018d8202cfe
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Tue May 1 22:57:22 2007 +0000
-
- * Converted spec/core/array_spec.rb to mini_rspec
- * Reviewed and fixed some specs for Array
- * Spec-style output to mini_rspec (manual comment/uncomment to switch)
- * should_raise for slightly more natural exception verification
-
-commit 0330bcc23fa1609db291cd382cb13fc168ec5bf3
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Tue May 1 22:44:40 2007 +0000
-
- * Implement correct behavior for String#split when called with a zero-width Regexp
-
-commit c8e806e2dafd237fa8117ead21553a195900613e
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue May 1 02:29:35 2007 +0000
-
- converted symbol_spec. 100% pass.
-
-commit 76e31065df70ebc5790fdb604f1b07d28ffaa81c
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue May 1 02:19:33 2007 +0000
-
- commented out specs that cause rubinius to hang. String#delete and #tr (and methods that are implemented in terms of these).
-
-commit 2ae8aea13161a71c3fb4ca8e0486acd55c897579
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue May 1 01:17:14 2007 +0000
-
- converted core/string_spec to regular syntax. added mspec_helper.
-
-commit ff84053991295b259ca8b1c17adff95f5d471961
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Apr 30 22:31:26 2007 +0000
-
- converted false_spec. added svn:ignore *.rbc on all spec dirs.
-
-commit 3fc864ba235c56118e1db66dbf9537d6ff8c0c5f
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Apr 30 22:00:12 2007 +0000
-
- Let the breakage begin. Converting all specs to use mini_rspec with 100% compatible syntax with rspec proper. usage: 'USE_RSPEC=1 spec spec/core/false_spec.rb' for any specs that use example {} method. spec spec/core/true_spec.rb OR ./shotgun/rubinius spec/core/true_spec.rb for converted specs.
-
-commit 4c6c7f406d0e5504a72c52b1ae5339a9dba36865
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Apr 29 17:28:11 2007 +0000
-
- added setup method and print to STDERR and STDOUT to support a shell script runner.
-
-commit 958a0e9b1a066cf2d825b960b66788b05c928f36
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Apr 29 08:26:09 2007 +0000
-
- mini rspec implementation. example {} method is dead.
-
-commit a323b3d424f226322cf20e65e87f8a4e962ed497
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Apr 29 03:23:17 2007 +0000
-
- Added Array#first, Array#last that take numeric args to core. Added a bunch of failing specs for Array#[]. #first and #last are implemented using #[] so several of the specs for those fail, but the implementation of #first and #last was tested in MRI.
-
-commit 3897c943069582b1e5d1649a097bd77c0c895e0a
-Author: Hurdlea <hurdlea@unknown>
-Date: Thu Mar 29 13:51:13 2007 +0000
-
- * Support for Floats in Sprintf
- - Sprintf is still missing support for unsigned twos complement
- * String#% now implemented
- * Fixed a minor issue in the Rakefile
-
-commit 5ed87ff88793f8d44cfe34b443eb032d27dc2a4c
-Author: Hurdlea <hurdlea@unknown>
-Date: Thu Mar 15 05:08:34 2007 +0000
-
- * Added Sprintf core module and classes for string % and Kernel
- - Still needs some work with floats and requires a couple of
- primitives to achieve this.
- * Fixed a small issue with String#Index(Fixnum, offset)
-
-commit 982c09b15710429fc97d8d43d9f24a3a0badb6d5
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Mar 10 22:35:18 2007 +0000
-
- Fixed array spec for #sort which improperly depended on the accidental order in which two elements of the array were being compared.
-
-commit 32fe004da7f35e9b7dcc96f8e57e1acb37164748
-Author: Hornbeck <hornbeck@unknown>
-Date: Sat Mar 10 06:38:23 2007 +0000
-
- Two tests in the ObjectSpace spec. It was bare and needed love.
-
-commit e1530bb1999118bf88037dccc27d78f54bdbe5e4
-Author: Tlockney <tlockney@unknown>
-Date: Sat Mar 3 23:28:27 2007 +0000
-
- updated all rspec exceptions. exception specs all pass in MRI. still a few rubinius exception spec issues
-
-commit 2c278533cbfe0efc7076d2c947323640be5f207a
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Mar 3 21:29:55 2007 +0000
-
- Committing tlockney's additions to core/exception_spec.rb. These pass on MRI but illustrate areas to fix on rubinius.
-
-commit fd8993c0996e4524440a6572c45dad4ab112fb2f
-Author: Hornbeck <hornbeck@unknown>
-Date: Fri Feb 23 15:58:33 2007 +0000
-
- committing Aki Reijonen's Hash patches for hash.rb and the hash_spec.rb. Also included is Thomas Lockney's exception_spec.rb patches.
-
-commit 08e6d924b8c0175242c1c40322ed3e45855a86c2
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Feb 18 07:48:46 2007 +0000
-
- Altered Object#instance_variable_[get|set] rearranging flow control. Added specs for instance_variable_[get|set] for Array, IO, String.
-
-commit 2a2385413c03f21dfc038e110f46a7a3bd2fc9c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Feb 18 06:05:47 2007 +0000
-
- Increased time out value when running rspec error report. Minor changes to text in class specs.
-
-commit bd0d7fcf72546a0a3a5a6a59b1a6f2aadd8e4262
-Author: Mae <mae@unknown>
-Date: Sun Feb 18 03:53:00 2007 +0000
-
- Integer#bits for future refactoring of shift
- * added Integer#bits which calculates minimum bit storage required for (signed int) form of the Integer
- * spec'd it too
-
-commit 4e6b39d5e69c04d92ceac76ce5a5bd792fb65f39
-Author: Mae <mae@unknown>
-Date: Sun Feb 18 02:55:55 2007 +0000
-
- Object#extend-a-gogo
- *Fixed Small bug in rubinius_target where failures wouldn't be reported
- *Implemented Object#extend and changed math.rb to use it accordingly
-
-commit 5472c10579cef38f9f28c904710246509633a040
-Author: Mae <mae@unknown>
-Date: Sun Feb 18 01:21:11 2007 +0000
-
- A great Time patch from John Hornbeck <hornbeck@gmail.com>:
-
- A more complete Time diff. This includes many of the instance methods for Time and a new primitive for usec. This diff also includes some failing specs as I went ahead and added the specs for the rest of the class methods. Also included is the constants for Time.
-
- Keep the good work coming John!
-
-commit 83ab11e0ab6679b1c9eefc5095d3f20af9a61661
-Author: Mae <mae@unknown>
-Date: Sat Feb 17 23:26:33 2007 +0000
-
- Patch from Aki Reijonen <aki.reijonen@gmail.com> without the Float.induced_from part
-
- Summary of the changes:
-
- ** Added methods **
-
- Numeric#integer?
- Numeric#div
-
- Integer#to_int
- Integer#round
- Integer#truncate
- Integer#next
- Integer#succ
- Integer#integer?
-
- String#slice!
-
- Object#to_a
-
- Kernel#Array
- Kernel#String
-
- ** Fixed methods **
- Float.induced_from
- - Now return the passed object if it's an Float insted of calling #to_f
-
- ** Removed methods **
- Fixnum#div was broken, the end result should be converted to Integer,
- not the number passed as a argument. (superceded by Numeric#div)
-
- --
- Aki Reijonen
-
-commit 243a4e9ba46149b8ba39c7238f8ff3d5f267689e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Feb 17 06:17:44 2007 +0000
-
- Ditched all the instance vars in array specs since we've got locals now.
-
-commit be5363e22e04b8baf26cb4abd8a8a67e7dd3cc0c
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed Feb 14 01:05:49 2007 +0000
-
- Fixed * varargs to work in method definitions. Currently still
- does not work as the single named parameter (foo(*a)). This
- means that lib/bytecode/encoder.rb now compiles under Shotgun.
-
-commit 3bb810688e848c90d5c20929c630f36a32796d2d
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 13 18:42:09 2007 +0000
-
- Added Object#instance_variable_set and specs.
-
-commit 54392c99dc3db5b58c85799416cc528c60b12533
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 13 18:25:24 2007 +0000
-
- Added Object#instance_variable_get and specs. Uncommented Math module constants specs.
-
-commit 84267901502ca1e8e8b13afa0e3a16e0cdc8e493
-Author: Mae <mae@unknown>
-Date: Sun Feb 11 10:30:13 2007 +0000
-
- * Primitive Specs
- - Added spec for bignum_div (and fixed a problem where it would always fail)
- - Fixed primitive_spec_helper (because it broke the old specs last time)
- - Removed magic method chaining because it sucks
- - DISCLAIMER: primitive specs atm just test functional things, _NOT_ stateful side-effects
- - We can do this properly once rubinius can run rspec
-
- * SIRB
- - Made it so that => wouldn't get printed before the command prompt if you typed "exit"
- - Made Kernel#p, Kernel#puts, Kernel#print return nil (like MRI)
- - added #!shotgun/rubinius to top of sirb and symlinked it to bin/sirb.rb as well (for convenience)
-
- * Removed unused local from __loader
-
-commit efce7d8a56748ab1831a34d21b8c92ff8b2eb977
-Author: Mae <mae@unknown>
-Date: Sun Feb 11 07:25:51 2007 +0000
-
- Moved math to math_spec; added object_spec for primitives; made primitives_spec_helper maybe too smart? -- they chain methods on to the remote target
-
-commit 087a5e5a6e89e4a53a39e025ffe08d21e96b8f6e
-Author: Mae <mae@unknown>
-Date: Sun Feb 11 05:51:30 2007 +0000
-
- * Made rubinius_target and example much more helpful
- - backtraces are shown on failure now
- - you can do this: example { 1 + nil }.should_raise(TypeError) and it works :) (with bt and all)
- - injected some extra code in example snippets so try(exc) syntax still works
- - Float, Nil, True, False specs all pass 100 %
- - made rubinius_target make use of @src (used in bignum)
-
- * Made Kernel.Float() and Kernel.Integer() behave appropriately like MRI _with_ the exception of Float() also checking for to_i method
- - Integer(nil) => 0 and Float(nil) => 0.0
- - lots of spec coverage
-
- * Numeric#coerce was slightly tweaked to use new Float() and Integer() behavior
- - Specifically complains about other being nil (so 1 == nil doesn't work)
-
- * Made Float.induced_from() more anal retentive (only accepts core Fixnum, Bignum, Float types like mri)
- - specs cover it
-
- * Fixed infinite loop on Bignum#& and moved & out of Numeric into Integer (Float doesn't have &)
-
-commit eadf1ead754d3dbfaf703c205f6f5e8f4dc5c430
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Feb 11 03:00:25 2007 +0000
-
- Put object flags values into a single include file. Added Object#taint, tainted?, freeze, frozen?. Neither of these states actually effect execution yet. Fixed up Object specs.
-
-commit 38e7f757e67b4ec985835e0e93ba4d32bbee5ca4
-Author: Mae <mae@unknown>
-Date: Sat Feb 10 23:57:37 2007 +0000
-
- - Created specs for math_sqrt primitive (and created spec/primitives/math_spec.rb)
- - Tweaked primitives_spec_helper to properly transport NaN's to testing environment
- - Removed non-needed self parameter from math_sqrt c function
-
-commit a4267a136d7f0bf7f92421fcebd8011600a1d92e
-Author: Mae <mae@unknown>
-Date: Sat Feb 10 22:29:46 2007 +0000
-
- Float.induced_from love
- - made Float.induced_from work for any to_f item (controversial whether this should be done in Kernel.Float() or not)
- - apparently this fixed some float failures
- - made Float.induced_from safer because it now complains if to_f returns a non-float
- - wrote specs for new induced_from behavior
- - try (spec_helper) needs to be investigated, manual running of the premises of 'Float divmod should raise FloatDomainError if other is zero' show this to be a spec that _should_ pass
-
-commit 65a4e8abfc7f690456e4f44e7e4cc38911288516
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Feb 10 18:54:15 2007 +0000
-
- Added spec files for the rest of the core classes documented in Pickaxe book. Add simple class hierarchy specs for exception classes.
-
-commit c7a2f68c36dd95f51af88e8fa62b24b71d68578a
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Feb 10 17:29:46 2007 +0000
-
- Commit of scoopr's Math module beginnings. Thanks scoopr.
-
-commit b1e8d150460f2ae9ea2e5ef87d0df3b705c1d0d6
-Author: Mae <mae@unknown>
-Date: Fri Feb 9 08:54:25 2007 +0000
-
- Bignum primitive specs
- - Added spec and changed to metaprogramming style for primitives: bignum_add, bignum_compare, bignum_equal, bignum_and, bignum_divmod
- - fixed bug that bignum_divmod spec found where bignum_divmod would always fail on divide by zero GUARD
-
-commit 0487a39ec9995af8eb5a8dff5ec64492261852e7
-Author: Mae <mae@unknown>
-Date: Fri Feb 9 07:48:56 2007 +0000
-
- Primitive Spec Sexiness
- - Added spec and changed to metaprogramming style for primitive fixnum_to_f
- - Made usage of run_primitive(:add, 1, 5) more sexy i.e. 1.prim.add(5)
- - converted fixnum spes to use sexiness
-
-commit 95fa48f29eaa7e3f10ccd63d385fb3f582f57eea
-Author: Hurdlea <hurdlea@unknown>
-Date: Fri Feb 9 01:36:14 2007 +0000
-
- * Added String#delete, delete!, tr, tr!, tr_s, tr_s!
- - String#count and squeeze to follow ...
- * String#<< now accepts Fixnums
-
-commit 017bdc57602e2e5d55705de070c07edba46a347f
-Author: Mae <mae@unknown>
-Date: Thu Feb 8 09:23:55 2007 +0000
-
- - removed noop from primitives (it does nothing)
- - removed noop primitive spec
- - changed CPU::Primitives.name_to_index to offset by +1 (to leave room for special 0 value)
- - still having same closed parens issue with spec:primitives:
- syntax error, unexpected $end, expecting ')' (SyntaxError)
-
-commit 18a3347bb32d8ac5269438376f0100ecce2c9e73
-Author: Mae <mae@unknown>
-Date: Thu Feb 8 08:20:14 2007 +0000
-
- - made shotgun/lib/primitives.rb have less dependencies
- - fixed bug where if a false was popped of the stack it wouldn't be recognized as an argument in primitives_spec_helper (nil will only do this now)
- - fixed regression in primitives_spec_helper where the proper code wasn't showed when shotgun crashes
- - noop_spec works again
-
-commit 16b08e446b69344da1edbc1f793e0161deac8e6c
-Author: Mae <mae@unknown>
-Date: Wed Feb 7 23:59:14 2007 +0000
-
- More Primitive Goodness, Conform to unified rspec standards
- - Added specs and changed to new metaprogramming style for the following primitives: fixnum_and, fixnum_or, fixnum_xor, fixnum_invert, fixnum_neg
-
-commit cb2ac85b45a41a63100cac673919ad8db1f93f43
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed Feb 7 23:16:35 2007 +0000
-
- Basic specs for Symbol literals.
-
-commit 3ab7aced51f3a63c8f76706a2f159d0d5753dc64
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Feb 7 20:35:27 2007 +0000
-
- Changed Fixnum primitives specs to be in a single file, spec/primitives/fixnum_spec.rb. Added back the alternative example of writing specs for others to evaluate or use. Updated the wiki specs page to lay down the law on spec files. Kindly follow it.
-
-commit cf16d691990f43f5bf8807bbef2ba1876892be57
-Author: Mae <mae@unknown>
-Date: Wed Feb 7 18:27:15 2007 +0000
-
- Autotest, C warnings cleanup, and some primitive_spec usage cleanup
- - Added Autotest Facilities for primitive bin/autotest/primitives
- - need to gem install zentest to use this (and some diff gem i can't remember)
- - Removed ugly require statement from cpu/primitives it was causing annoying ruby errors
- - Added missing prototypes to cpu.h and regexp.h (primitives.gen was complaining)
- - Localized bt and bt_size variable declarations to where they would be included by the preprocessor to make more warnings go away
- - Added newlines to the end of numeric.c, numeric.h, float.c
- - Used one of brixens suggestions (injection of primitive spec helper automatically)
- - Removed extraneous primitive helper inclusion in each spec
-
-commit f4bbce9d761d27e1381b95a4ff6076e85577074d
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Feb 7 16:56:21 2007 +0000
-
- This shows an example to 'fix' mae's rubyesquely-challenged (bluntly, ugly) primitive specs. Also, there should be one spec file for a group of related contexts. In this case, the group is the class Fixnum. So, mae, fixnum_spec.rb, NOT fixnum_xxx_spec.rb. Sorry. Cry tyrany, weep and gnash thy teeth, howl in protest, but please fix it. This is non-negotiable. Thank you and good work on the primitive specs. :)
-
-commit e5f6215824a40beb0ca678575596bd06afa8dd3a
-Author: Mae <mae@unknown>
-Date: Wed Feb 7 09:54:54 2007 +0000
-
- - Added specs for primitives: add, sub, fixnum_mul, fixnum_size, fixnum_div, fixnum_modulo, fixnum_divmod, fixnum_to_s
- - Updated primitives to new metaprogramming style: sub, fixnum_mul, fixnum_size, fixnum_div, fixnum_modulo, fixnum_divmod, fixnum_to_s
- - Changed wording in a couple primitive spec files to be more explicit
- - Made reporting by primitive_spec_helper more helpful when shotgun crashes from injected code
-
-commit 3032c6bd869a04c1517508850f94119975c36e54
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Feb 7 02:26:47 2007 +0000
-
- Fixed up String#to_i a bit; added a bunch more specs for it.
-
-commit d8a24ffa8d9983a85b0f03784a89bfa667af1615
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Wed Feb 7 01:46:30 2007 +0000
-
- Added very basic set of specs for assignment and multiple assignment semantics.
-
-commit edb7c82523b36b26e24437de42fd2638eef1653f
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 19:02:46 2007 +0000
-
- Added specs for and methods CType#isalnum, isdigit.
-
-commit e84ba1b12c51331d00bdd06684dcff96ea229322
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 17:30:55 2007 +0000
-
- Added spec/shotgun/bytearray_spec.rb. Added spec for ByteArray#[], []=. Modified various string methods to use BA#[], []= instead of get_byte, set_byte.
-
-commit be9589cc47cbf35edd94ca22407de4b1527a3fdb
-Author: Mae <mae@unknown>
-Date: Tue Feb 6 11:26:31 2007 +0000
-
- Tweaks to primitive metaprogramming and addition of noop spec
- - Added types 'qnil' 'qtrue' 'qfalse' to be used in primitive metaprogramming
- - Added spec for noop primitive
- - Added run_asm method to primitives_spec_helper for those tricky tests
- - Converted noop primitive to new metaprogramming style
-
-commit e31f1af903dd8dd31427e34a718b30f5c63af8df
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 10:33:00 2007 +0000
-
- Some fixes to String#to_i and additions to specs. Added String#oct and hex.
-
-commit 2a157827bd72b6c7ce8a025928cdd9d7f2f8d00f
-Author: Mae <mae@unknown>
-Date: Tue Feb 6 10:18:16 2007 +0000
-
- moved equal and compare to use new primitive technique
- - also updated equal_spec to ask for ArgumentError instead
- - uploaded new rba *glares at brixen*
-
-commit 771d0fede3086ce58d225ac4001ea0934f3bb0e3
-Author: Mae <mae@unknown>
-Date: Tue Feb 6 09:33:03 2007 +0000
-
- ARITY macro raises ArgumentError directly from the primtive now and made specs pass
- - Made ARITY macro raise an argument error exception instead of just ambiguously failing
- - Made _ret return TRUE on arity failure (exception directly raised)
- - Moved GUARD and POP macros to shotgun/lib/cpu_primitives.c where they belong (localized)
- - Removed side-effect printf in cpu_raise_arg_error since stack trace is fine now
- - Tweaked primitives_spec_helper should_raise to work for all exceptions
- - Made specs for equal/compare pass again (expect ArgumentError instead of PrimitiveFailure)
- - New compiler.rba (update these ppl!)
-
-commit e89190c8fdc4a71c7b8cd9c8b873a63b9d1888c5
-Author: Hurdlea <hurdlea@unknown>
-Date: Tue Feb 6 07:51:08 2007 +0000
-
- * Finished String#[]= for string index
- * found odd bug with spec where string[1,2]="foo" is not interpreted correctly
- changed methods to use send(:[]=, ... and the tests pass
-
-commit c6e1bb68e930a537bd51d77afd37cdc8b5d62d31
-Author: Hurdlea <hurdlea@unknown>
-Date: Tue Feb 6 07:18:15 2007 +0000
-
- * Added String#[]= slice functionality
-
-commit e405d4f5f32fd8192c435b3488f394b2635c7db7
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 06:37:31 2007 +0000
-
- Added String#chomp[(bang)].
-
-commit ff48a6c333f34c1b1882c260db7145facce3d71f
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 06:00:56 2007 +0000
-
- Added String#replace_if that calls replace if self != other else returns nil; Added upcase, downcase.
-
-commit f46d747eba82c215fa07b067a30f2a2e8868d284
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 05:31:13 2007 +0000
-
- Implemented String#reverse directly rather than with String#<<. Modified some string specs for [lr]strip but forgot to commit them earlier.
-
-commit d3b0e71e810a985f3b8f2e5f5c7d5c4619f151f9
-Author: Hurdlea <hurdlea@unknown>
-Date: Tue Feb 6 03:00:28 2007 +0000
-
- * Added NilClass specs to detect NilClass coercion
-
-commit c570ca475cabeb3fcfcca26d4c57b8e57f6606b4
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Feb 6 02:01:19 2007 +0000
-
- Added module CType mixin for Integer to provide isspace, isupper and friends. Added specs for CType in spec/shotgun. Implemented String#capitalize[(bang)]. Moved ByteArray into it's own file. Updated various string specs and commented out temporarily index spec.
-
-commit 4694d1511e880e43dfccb3e3f5309f0920395ba0
-Author: Hurdlea <hurdlea@unknown>
-Date: Tue Feb 6 00:22:17 2007 +0000
-
- * Fixed operation of Regexp#=~
- * Updated Regexp spec for =~
- * String#== now works correcly for duck typed objects
-
-commit 8e42aa9c789fcc9bc475d460e7158f2adcc8ab64
-Author: Mae <mae@unknown>
-Date: Mon Feb 5 22:46:21 2007 +0000
-
- Added arity checking for primitives
- -for use in primitives: #define ARITY(length) GUARD( (length) == num_args )
- -for instance if i have a primitive that takes one argument (self + arg) i put ARITY(1) at the top
- -changed specs with regard to arity accordingly
- -made block_given conform to the "self rule for primitives" by padding Qtrue where self would be
- -fixed block_given? to pass the right arity (0) in the compiler
- -specs for compare and equal pass now
- -added primitives_spec_helper (forgot last time)
-
- NOTE: Binary .rbc compatibility is broken now since there are arity checks done on block_given?
- -the rba's i uploaded should be fine but if they arent...
- do find -type f | grep .rbc | grep -v .svn | xargs rm
- then rake build:rubinius
-
-commit 2d5c9bc3170bf959390627def10c0208088b48ee
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Feb 5 22:39:08 2007 +0000
-
- Added Integer#isspace and spec in spec/incompatible. Added spec/incompatible/string_spec to describe behavior of stripping runs of whitespace and nulls from end of a string. Added or modified String#lstrip, lstrip(bang), strip, strip(bang), rstrip, rstrip(bang).
-
-commit d4b07b06ca85543423a308f12b82ae4671bdd0c2
-Author: Mae <mae@unknown>
-Date: Mon Feb 5 21:01:59 2007 +0000
-
- -split out common primitive testing functionality to primitives_spec_helper.rb
- -added spec for primitive "equal"
- -again primitive specs are rake spec:primitives
-
-commit c1a7896f24e018df13af7f0d3d60db9f461130a5
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Feb 5 20:58:21 2007 +0000
-
- Added that Module#include passes off to append_features. Added Module#include that takes multiple args later in the bootstrap sequence. Added specs for include and append_features.
-
-commit d407ecab13722599b75fecc20bdebd86c9f76fa6
-Author: Mae <mae@unknown>
-Date: Mon Feb 5 20:48:02 2007 +0000
-
- Misc Changes to Tweak primitive specs
- -Added spec to test arity restrictions of compare
- -Fixed bug where should_raise for primitives was not catching the error condition
- -Changed wording of some specs to be english rather than engrish :)
-
-commit f68ad63065002d4a3c9a0742770da4a112780aa7
-Author: Mae <mae@unknown>
-Date: Mon Feb 5 20:02:24 2007 +0000
-
- - Remove printf from cpu_raise_primitive_failure so that the screen doesn't get littered
- - Created PrimitiveSpecHelper and a "primitives" spec subdirectory
- - Added rake task spec:primitives
- - Added compare_spec as an example
- - New rba's
-
-commit f997d3791099912001d09a427f24252182ba1d6c
-Author: Hurdlea <hurdlea@unknown>
-Date: Sat Feb 3 08:10:48 2007 +0000
-
- * Added MatchData#values_at
- * Fixed implementation of MatchData#select
- * Updated specs for MatchData#values_at, select
-
-commit 4f8301aeb3a5a296a64b887b0f164ca02be2a71f
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Feb 2 17:00:10 2007 +0000
-
- Added specs for and empty module methods private, protected, public as a first approximation to allow code that uses them to not choke. Added String#match.
-
-commit 15c3678ddcc365891fd92cc9cd33eb22308916e8
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Feb 2 10:43:58 2007 +0000
-
- Committing Adam Ritter's patch to recognize 'for i in ...' expression, and associated spec. Uncommented line in float_spec.
-
-commit 370d7a955bf6e41c4ea7cf0f9217128ae7a72fd4
-Author: Hurdlea <hurdlea@unknown>
-Date: Fri Feb 2 07:06:22 2007 +0000
-
- * Added MatchData#inspect, select, to_a, size, to_s
- * MatchData#[] is now more compliant - behaves more like Array#[]
- * Added Regexp#hash
- * Added Regexp#hash spec
-
-commit b496d50c0ebf7d5c523efe2ef5383dd8043aa3f0
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Fri Feb 2 00:36:37 2007 +0000
-
- Added specs for Dir and modified rubinius_target to allow
- specs to change directories safely.
-
-commit 6ddf4051f3a6be7076e947bf3eccbc5dd9a7803f
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 19:11:14 2007 +0000
-
- Fixed Float#divmod, returning 0 guard on primitive, raising FloatDomainError rather than ZeroDivisionError. Fixed Float#% when other is zero. Spec try helper doesn't yet work with rubinius_target
-
-commit 679f3fbe54960a690f4e41e1403fdc8f50c0f346
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 18:36:44 2007 +0000
-
- Added more zero division behavior specs.
-
-commit b4d739a7cb68d6f82d657b69aee00923e0bfdbb4
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 18:12:02 2007 +0000
-
- oops, damn keystrokes. Previous commit msg should just include Fixnum. This change points out a problem that I'm not sure about: 1.quo(0) => Infinity in irb and run from a file, but in the spec I get zero division error. wth?
-
-commit 4e24fe43a7d6c55a53880a1c347e836f12937ed4
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 18:03:13 2007 +0000
-
- Added more specs around zero division behavior for Float and Fixnum.
-
-commit b8f412ee2bf3701acd211372d28ec596d6858ac8
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 18:01:44 2007 +0000
-
- Added more specs around zero division behavior for Float and Fixnum.
-
-commit 17a17e3008422bab9e91f8464d1ce2823c13ce78
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 17:51:47 2007 +0000
-
- Added try spec helper method for spec'ing things that raise exceptions. Added more Float specs that describe division by 0 behavior.
-
-commit 2c2bfc3663a34fbf4fd70a5787236ec8b9a87024
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 17:22:39 2007 +0000
-
- Added spec for Float#% when other is zero to show current implementation is broken.
-
-commit d1ddd71d5bd45df0c16651ecad2db3c1b75d90f8
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Feb 1 17:06:56 2007 +0000
-
- Reverted mae's breakage to Float. seriously mae: you did NOT run the float specs and you did NOT write new specs for the behavior you were changing so you did NOT understand what you were doing. As a good CS student, you can negate the above to know what you SHOULD do. ;) Please, WRITE and RUN your specs.
-
-commit b2e08a170d1ab222d67d8767fa880a5e21c5bf74
-Author: Mae <mae@unknown>
-Date: Thu Feb 1 10:53:48 2007 +0000
-
- know when to shoot your baby in the crib -- cleanup outdated unused code
-
-commit aac75dd658c96cf930852d86dbc79b66830bace5
-Author: Eero Saynatkari <eero@kittensoft.org>
-Date: Thu Feb 1 09:12:03 2007 +0000
-
- Improved specs for Hash.[].
-
-commit 40f637f2685e969f097fbbb2ffa3f0173e6f9866
-Author: Mae <mae@unknown>
-Date: Thu Feb 1 02:44:14 2007 +0000
-
- Fixed my pure ruby Numeric#floor and Numeric#ceil methods
- - Please smash your c primitive brix BWAHAHA
- - Also implemented eql? for float and now all 32 float specs pass
- - Added some edge cases for ceil/float that were not previously covered in specs
-
-commit 5cc6f6b6068e945c6f5896370ee20567e57122e7
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 31 11:24:23 2007 +0000
-
- Added Float#round. We now have 32 of 32 float specs passing. Please confirm on your platform.
-
-commit 9b902a80a008120a86ae18d4abff04d42efefc8f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 31 06:22:10 2007 +0000
-
- Folded in coerce specs.
-
-commit 09e61132d5b9e9b08d27f2f51db9580808bb370e
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 31 03:22:23 2007 +0000
-
- Created spec/incompatible for specs that show where Rubinius is incompatible with other implementations. Added bignum_spec and fixnum_spec to incompatible dir. Under MRI, Bignum.coerce(Fixnum) => [Bignum, Bignum] whereas Fixnum.coerce(Bignum) => [Float, Float]. Since Bignum should be a seamless extension of Fixnum, this behavior in MRI seems less than consistent. Under Rubinius, mixed Fixnum and Bignum promote to Bignum uniformly, and this makes much more sense. There are other places where Rubinius implementation may deviate from MRI, so spec/incompatible is for describing those behaviors. Updated coerce specs.
-
-commit cb52bb9633d0e323d2f7d6c90879fb7decfea7d7
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 30 10:44:46 2007 +0000
-
- Added Numeric#coerce primitive. Reimplemented a number of primitves and methods on Fixnum, Float, Bignum to use Numeric#coerce rather than implementing knowledge of one another all over the place. Folded in mae's coerce specs. There is currently a (desirable IMHO) incompatibility in Numeric#coerce in that Bignum.coerce(Fixnum) == Fixnum.coerce(Bignum). There are a lot of other methods that need to be reimplemented using Numeric#coerce. Also, bignum_compare needs to be implemented (just returns 0 atm).
-
-commit e1aa382f2d596a73ef20dfde4184af7a721724e9
-Author: Mae <mae@unknown>
-Date: Tue Jan 30 00:26:11 2007 +0000
-
- added specs for coercion of Fixnum, Bignum, and Float
-
-commit bd292d64a511eba51ea1569870bcf0fa365c903d
-Author: Cabo <cabo@unknown>
-Date: Sun Jan 28 21:05:10 2007 +0000
-
- include yesterday's failed cases
-
-commit 7cac7f32e5c80e78aa75dfed7f4822e65d1ab4df
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 28 08:08:12 2007 +0000
-
- committing rue's continuation specs. doomo arigatoo.
-
-commit f542b93031f8982daa13777d2eada81068e96ad5
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 28 07:03:46 2007 +0000
-
- committing rue's class specs. thanks rue!
-
-commit 319b6f194d3c699a75de8da2ba3b53b8a4feffb1
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 28 04:49:01 2007 +0000
-
- Commiting rue's binding specs.
-
-commit d8326b1321cc09c0aa64f441d2a81df6735603fd
-Author: Cabo <cabo@unknown>
-Date: Sat Jan 27 00:02:33 2007 +0000
-
- remove superfluous p from "& should create an array with no
- duplicates" (which now passes)
-
-commit 7d3baf10a79c1500e660fe5566ba8f3107d5a826
-Author: Hurdlea <hurdlea@unknown>
-Date: Thu Jan 25 05:43:50 2007 +0000
-
- * Added MatchData specs
-
-commit 2d9966c9c30e541c18ac77ca646a1af41daf702e
-Author: Hurdlea <hurdlea@unknown>
-Date: Thu Jan 25 05:42:44 2007 +0000
-
- * Added Match2 and correct Match3 in compiler.rb
- * Added alias String#to_str
- * Tweaked a few regexep specs for string return types
- * Fixed MatchData#length so it uses Tuple#fields to get the no. items
-
-commit 0d9f9e21c2a268e0710c963c745f07d494e2ab1f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 24 21:43:17 2007 +0000
-
- Commiting zimbatm's update to exception_spec.
-
-commit 037d8b29872f1c4a81108a0713afd78cbdf9b484
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 20 04:03:20 2007 +0000
-
- a few more tweaks to get string specs to execute with rcompile and shotgun.
-
-commit cfe7a6b4c87ac3ffccaeb7e70b9e6c386054e052
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 20 03:49:01 2007 +0000
-
- added parser dir under spec. added parser/symbol_spec.rb to capture parsing a complex symbol like :' for one or two', which rcompile and shotgun choke on at the moment. removed this from core/string_spec because it crashes shotgun and makes it impossible to run all the specs.
-
-commit d39040ab1563f063192a3835723cfbae7bf147cb
-Author: Cabo <cabo@unknown>
-Date: Fri Jan 19 23:45:52 2007 +0000
-
- lib/kernel.rbc is no longer a required (or wanted) command line argument
-
-commit 4774788e0ae9b24b3ff0b769aede0ba2de3f00b1
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 19 21:05:10 2007 +0000
-
- added correct guard on Array#first to return nil when array is empty. added specs for #first and #last to describe this behavior. Thanks to cabo for finding this.
-
-commit baf1453678c9906c65b2f7c82bdb0e179e22d1b8
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 19 02:49:02 2007 +0000
-
- added some minor changes to structure and wording of language/expression_spec. removed array and defined spec from language directory since they were added to language/literals directory. renamed several spec files to follow naming conventions.
-
-commit 7a24923ab9b79b226b6d8831e834ab509d5d2b76
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 19 01:27:10 2007 +0000
-
- committing zimbatm's patch to language specs. super nice and thank you. please give zimbatm a commit bit!
-
-commit 9cd8c779a88f48604733afbe4357b7101a487669
-Author: Vic <vic@unknown>
-Date: Thu Jan 18 22:20:34 2007 +0000
-
- Added Proc.given, the analog of MethodContext.current
- Proc.given obtains the proc given to the current MethodContext.
- Later will be able to get a Proc from a given Binding.
-
- Original author: Victor Hugo Borja <vic@rubyforge.org>
- Date: 2007-01-18 16:16:06+00:00
-
-commit 50c42413d33951397a46edb55ca910a2e8fb87e6
-Author: Vic <vic@unknown>
-Date: Thu Jan 18 21:34:29 2007 +0000
-
- No output is available for specs if the returning value is a Numeric or Symbol
- When the :example execution on shotgun evaluates to a Numeric or Symbol, no method
- :stdout is added, because these object do not have singleton-classes on MRI.
- If you really need both, stdout and a Numeric/Symbol, your evaluation may lead to
- an array containing that Numeric/Symbol.
-
- Also saved MRI from getting eval errors in cases like the following:
-
- example do
- class A; end
- A.new
- end
-
- This leads to the following being evaled by MRI: [ #<A:0xb7a69c8c> , stdout]
- which causes an error because of #<A:0xb7a69c8c> being invalid ruby syntax.
- This patch fixes this situation by converting #<A:0xb7a69c8c> into "#<A:0xb7a69c8c>"
-
- Original author: Victor Hugo Borja <vic@rubyforge.org>
- Date: 2007-01-18 15:23:55+00:00
-
-commit ec5bea103b4b96ecde54668e47ab9e10ac8ec4ee
-Author: Hurdlea <hurdlea@unknown>
-Date: Thu Jan 18 21:04:22 2007 +0000
-
- * Added bitwsie operators to Fixnum & | ^ << >> ~
- * Split the fixnum specs into coerced and non-coerced tests
- * Added primitives to support fixnum bitwise ops
- * Fixed a bounds tests in Interger#chr
-
-commit 238d7e0611e9198c28a5e0ebe684bc7f1f03bf0f
-Author: Vic <vic@unknown>
-Date: Thu Jan 18 20:11:58 2007 +0000
-
- [rAdded specs for the new STDOUT support] Empty log message
-
- Original author: Victor Hugo Borja <vic@rubyforge.org>
- Date: 2007-01-18 13:44:19+00:00
-
-commit 859b26f38749f160a706ed9dbb8f2a80886e94ef
-Author: Vic <vic@unknown>
-Date: Thu Jan 18 19:37:03 2007 +0000
-
- Allow to specs to test what is written to STDOUT
-
- also added String#unindent on spec_helper to help make output heredocs more readable.
-
- You can access both the evaluation result and the stdout produced, ej:
-
- context "Rubinius target" do
-
- specify "should allow to get the resulting STDOUT" do
- example do
- puts "hola"
- puts "space is significant in this heredoc"
- puts "unindent removes the first blanks found on the first line"
- puts "on each of these lines"
- puts "adios"
- end.stdout.should == <<-OUT.unindent
- hola
- space is significant in this heredoc
- unindent removes the first blanks found on the first line
- on each of these lines
- adios
- OUT
- end
-
- specify "should allow to get the lines written to STDOUT" do
- example do
- puts "hello"
- end.stdout_lines.length == 1
-
- example do
- print "bye"
- end.stdout_lines.first.should == "bye"
- end
-
- specify "should allow to access the evaluation result along with STDOUT" do
- result = example do
- puts "ok"
- Object.new.class
- end
- result.should == Object
- result.stdout_lines.should == ["ok\n"]
- end
-
- end
-
-commit e17069925d139c93acec00161a7111e6c78d54bb
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 18 08:44:33 2007 +0000
-
- converted shotgun-test/test_sexp to spec/shotgun/sexp_spec. thanks to Victor Borja's recent additions to rubinius_target, it was a breeze.
-
-commit 46e9a259bc2212dee1fa7efa8ead468e63970731
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 17 08:02:35 2007 +0000
-
- filled in the rest of the documented String instance methods except #pack.
-
-commit dfd08d6536ea497cf86d06ca503206d54b19479d
-Author: Cabo <cabo@unknown>
-Date: Tue Jan 16 10:24:18 2007 +0000
-
- A bit more array fun (and lots of FIXMEs)
-
-commit b1e50e43d8d79a5dbd82345134ecd4bdffc6d182
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 16 08:46:48 2007 +0000
-
- and yet a few more string specs. these will asymptotically approach done.
-
-commit 4048d3dfa90a6de54ea2ed0aec2ec6adafb50b0c
-Author: Cabo <cabo@unknown>
-Date: Tue Jan 16 07:02:50 2007 +0000
-
- I want to see what 'Shotgun has crashed' means, beautiful backtrace and all
-
-commit 0387baa914cb35c589c7872f7f98cf9f8ee10711
-Author: Cabo <cabo@unknown>
-Date: Tue Jan 16 02:19:45 2007 +0000
-
- Fix Array#slice! bug workarounds
-
-commit c6b110b47667c5d6750492177492434f4c0446f8
-Author: Cabo <cabo@unknown>
-Date: Tue Jan 16 01:33:18 2007 +0000
-
- add shift spec and fix String#strip so it works
-
-commit 19bcc086b7674f12e01f879a6ca83f3289feb770
-Author: Cabo <cabo@unknown>
-Date: Tue Jan 16 00:06:03 2007 +0000
-
- Integer#chr should return a new string (spec)
-
-commit 5aa81499711ad5e57f5dfc03417f23705eb79b44
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 23:48:16 2007 +0000
-
- a few more string specs.
-
-commit 8cd873e183c62b8929305ea54b9a437ca22ddb28
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 22:42:24 2007 +0000
-
- committing Victor's define_method patch.
-
-commit cd04f4c570cd95fb869f025c4dac6e9342e2ba2a
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 22:02:23 2007 +0000
-
- committing Victor Hugo Borja's instance_eval patch.
-
-commit a481142988d585bb8fa54e0186f5c9cf88ada8d9
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 20:13:03 2007 +0000
-
- added a code method to mri_target and jruby_target to parallel the behavior of the code method for rubinius_target. now core/proc_spec.rb is passing with mri target.
-
-commit a4c621e8319349eda766f73ed9ca55f2a9323ac2
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 19:08:22 2007 +0000
-
- checked in nicksieger's patch to spec_helper that enables specs to run on jruby, woohoo!
-
-commit 6b02aac6107b01258f85f9d15a77b498ad15e5b0
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 18:06:23 2007 +0000
-
- checking in cabo's changes to target specs for jruby and rubinius. modified rubinius_target specs that compared paths to use should_match because a hash is used to generate part of the path.
-
-commit 6aa175d3367d76152476888ff1c52479530c56a2
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 15 17:57:25 2007 +0000
-
- committing cabo's changes to remove heredocs from a number of specs. It is still possible to pass code as a source string to the example method. Use this if the block method is causing rubinius to choke on the ruby2ruby generated source. soon, soon, we'll have rspec running (I hope\!).
-
-commit 6679194f8e6afdbbb71f5213508bb81f12fdb2e7
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 14 17:28:06 2007 +0000
-
- incorporated nicksieger's changes to mri_target removing needless requires. added jruby_target.rb and spec to parallel mri_target.rb.
-
-commit f573b9c16efccb92eec98d923831deafc7a3c809
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 14 08:10:24 2007 +0000
-
- converted mri_target to use eval, yield to execute specs. converted some specs to new style. addressed issues with hash specs that implicitly relied on hash ordering, fixed numerous issues that result from loss of floating-point precision by using #inspect where necessary (more of these issues may arise in the specs on different platforms). added spec templates for documented String instance methods (many of which need to be filled in).
-
-commit 917cd03e5bee749d18d8d0c257381bca2362abbd
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 14 00:11:17 2007 +0000
-
- checking in Alan Hurdles patch to allow running specific files, e.g. COMPILER=rcompile rake spec:core:array .
-
-commit 508eaacf9aaf67465a78ac53284ba6f06c3bcb3d
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 21:09:51 2007 +0000
-
- added integer specs. these should be platform independent but other platforms may have some trouble with spec for 'chr' ;)
-
-commit 21463a87bac2121fa61c1c99927cdb039c724d89
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 20:37:37 2007 +0000
-
- implemented the rest of the hash specs, this should cover the documented class, instance methods.
-
-commit 3656a95a1829b0be1a8b0d968e0a9e433ef9c847
-Author: Frederick <frederick@unknown>
-Date: Sat Jan 13 13:14:41 2007 +0000
-
- Implements Fixnum#size
-
-commit ca38e49022f6bdf41b0e98409d3fec3528e59bfd
-Author: Frederick <frederick@unknown>
-Date: Sat Jan 13 12:54:30 2007 +0000
-
- shotgun/string_spec.rb now follow new spec conventions
-
-commit 1b684385fe970f11a526e280d15c3f147a826886
-Author: Frederick <frederick@unknown>
-Date: Sat Jan 13 12:42:38 2007 +0000
-
- language/expression_spec.rb and language/exception_spec.rb now use new spec style
-
-commit f62c2539a1eef27b356e4d809d76c4f9ddecd2a5
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 08:14:12 2007 +0000
-
- new style specs for hash. numerous of these need to be implemented but there should be templates for all the documented class and instance methods.
-
-commit 28083a6e6dc89502d1c76e2a16f0003a589f01e0
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 08:12:37 2007 +0000
-
- one more, bignum.
-
-commit 076aab00b795ff777c5ac11955130f12f69e1377
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 08:07:30 2007 +0000
-
- new style specs for float, fixnum, symbol, string, object, file, module, regexp, range.
-
-commit 0161ab3527e91674eed4eeaad029eee654325155
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 07:39:26 2007 +0000
-
- true, false, nil, enumerable specs are new style.
-
-commit bb11cce41a472606312eb0a62948c4a339f23dd9
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 07:27:05 2007 +0000
-
- converted existing class and comparable specs to new style.
-
-commit 595b83a75044772136b83eaf84402ed73eb79da5
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Jan 13 07:08:14 2007 +0000
-
- ladies and gentlemen, a huge round of applause and gratitude to headius for inspiration and help getting specs in a form that will easily run on MRI, JRuby, and Rubinius. Checking in the modified spec/core/array_spec.rb. The rest to follow. The mri_target is still using the sub-process method, but that should be superfluous now.
-
-commit ae75e76915432757be3c9a7126c2ee8c6656652c
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 12 08:13:29 2007 +0000
-
- added a bunch more specs for array. two still need to be filled out. I think that covers all the documented class and instance methods.
-
-commit 8daf38e0f99eed3e42d654086a98e673d9855bef
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 12 01:14:35 2007 +0000
-
- checking in more of cabo's changes to kernel/core/array.rb and array specs.
-
-commit 0a349583aba629748d5e85de0ede6f38730512f1
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 12 00:57:22 2007 +0000
-
- checking in cabo's changes to array and array spec.
-
-commit 052512fea9b74e532ef6b68612c81061ad84e4f2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 11 05:16:47 2007 +0000
-
- finished Bignum specs for documented instance methods.
-
-commit 7f4786c85b2e0e95abc2728492ed1a7424d01dbe
-Author: Frederick <frederick@unknown>
-Date: Wed Jan 10 23:44:34 2007 +0000
-
- Added File.mtime, File.atime, File.ctime
- Avoid reusing old .rbc is .rb is newer
- Remove useless CHECK_PTR
-
-commit 70458d6446f0858570571a64b5294c0bb4ac358f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 10 17:40:36 2007 +0000
-
- moved exception and expression specs to spec/language. added stub for time_spec in spec/library. updated a string spec that was failing. added specs for all (I think) float and fixnum instance methods. added specs for bignum, but about half need examples.
-
-commit ffe4a7a48dcc116f73b89b9a046d4430ed51975a
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 9 18:07:31 2007 +0000
-
- removed duplicate bk task from Rakefile. removed shotgun-tests/test-array.rb as all tests have corresponding specs in spec/core. added beginning of specs for bignum separated into spec/core for stuff that should be indendent of mri or rubinius, and spec/shotgun for implementation specific.
-
-commit 946d0b42293ea081666e71e13c4b77d5b5dba886
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 7 05:38:33 2007 +0000
-
- checking in Alan Hurdles patches to regexp, string, and spec_string.
-
-commit 5f035040c4b3ce842fff4b39d1ca657c97deb7a4
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 7 03:03:31 2007 +0000
-
- updated mri and rubinius target impl specs. added environment option for running rubinius target using obsolete.rcompile, e.g.: COMPILER=rcompile spec spec/core/symbol_spec -f s. If you don't use the COMPILER env var, rubinius target will use shotgun to compile.
-
-commit 6ea911ae5740508cdbd8feb5cddba5b8bf7fe1c3
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Jan 7 02:32:35 2007 +0000
-
- changed some Hash specs to use instance vars rather than local vars because some versions of Ruby2Ruby output borked sexp for block local vars. E.g. use @h rather than h.
-
-commit 256fe9a8cada7ed512556e1701a5264670c6c28f
-Author: Mae <mae@unknown>
-Date: Sat Jan 6 07:55:32 2007 +0000
-
- made regression spec for buggy behavior of [1,2,3][2..-1]
-
-commit 0ffe8a3e6cd92bc5cd872cc22919885ea80366a0
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 5 20:05:03 2007 +0000
-
- added spec for String#reverse! to Laurent Julliard's spec for String#reverse and his implementation of both methods.
-
-commit 170737d2c77a4b2de862380cb87f7705560cca64
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Jan 5 18:24:32 2007 +0000
-
- * Much better implementation of Hash#key?
- * Added working support for default Hash values and procs
- * Added hash_get_undef for situations where nil and undefined hash values need to be differentiated
-
-commit 332378a8900f09009626cb7c4dbf0c8740a657c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 5 07:31:56 2007 +0000
-
- added specs for aliases of Hash#key?
-
-commit 27c3b2aeaa3208a7e0218f051f623b93e2e635d8
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 5 07:28:29 2007 +0000
-
- added spec for Hash#key?
-
-commit 2e88d941bc1b1ea506396a915e3c3c4e3dfd1601
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Jan 5 06:35:09 2007 +0000
-
- updated and simplified float and fixnum specs.
-
-commit e4a5b6d8529d60e62875004bb60f33c6452ccf98
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Fri Jan 5 06:28:04 2007 +0000
-
- * defined?() now handles: defined?(Kernel.puts) flavors of arguments.
-
-commit 27660379c09e561590cf1bc48a9459e29fc00e9c
-Author: Mae <mae@unknown>
-Date: Fri Jan 5 06:10:11 2007 +0000
-
- Added spec for cvar declaration in class bodies
-
-commit a9b7b9f7db02ba78514eb869c2c52d4e5067f8d2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 4 08:08:59 2007 +0000
-
- added class def source code to specs.
-
-commit cdfa499ee238671c655800a81b51611704383500
-Author: Mae <mae@unknown>
-Date: Thu Jan 4 07:54:20 2007 +0000
-
- fixed typo in spec still 7 failing specs *GLARES AT DEFILER*
-
-commit 03be9ca7da61363f8f0a02ee951bbafaf297c31b
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 4 07:43:58 2007 +0000
-
- added specs for Module#const_defined?.
-
-commit c511d4c7a75001f2597b13f9fc2e910d2dd4d9a2
-Author: Mae <mae@unknown>
-Date: Thu Jan 4 06:54:07 2007 +0000
-
- changed defined spec to be more dumb and just figure out whether its a true/false evaluation
-
-commit 4d9135f9694e4b692faf6a4c7b8dcd59f79f5069
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 4 06:38:57 2007 +0000
-
- added library spec (beginning) for enumerator. trivial update for comparable specs. added specs for enumerable.
-
-commit 3de6e339526b1402f8995a5acc38fde707ec0695
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Jan 4 00:34:50 2007 +0000
-
- added specs for comparable methods.
-
-commit ea25c6b17533c280e640dc97e3fec1207fb4be7b
-Author: Mae <mae@unknown>
-Date: Wed Jan 3 17:47:09 2007 +0000
-
- almost done with defined? spec -- still need 'yield' and 'zsuper' test cases
- from project dir: SPEC_TARGET=mri spec spec/language/defined_spec.rb
- change SPEC_TARGET to rubinius to test on rubinius
-
-commit b795f6c2dc98952e7fa7231cded9156ade962b18
-Author: Mae <mae@unknown>
-Date: Wed Jan 3 17:25:31 2007 +0000
-
- added incomplete specs for defined? behavior -- more work to be done
-
-commit 25e30e4668f1ef814bfb1182e032449263651590
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 3 17:17:03 2007 +0000
-
- small fix to mri_target to generate reasonable cache soure name. added a couple specs.
-
-commit 3b5bc977ea2a4a3ad42ff83bcab2966459c262c0
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 3 08:51:18 2007 +0000
-
- added object_spec for methods provided by Object, even mixed in ones. added a few specs for basic class, module, exceptions.
-
-commit c4f4dd722658b2a09ae273092744b76e65ce05b2
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Jan 3 02:36:58 2007 +0000
-
- renamed flow_control_spec to expression_spec as these are all covered under heading expressions in pickaxe. run expression spec with mri target and then rubinius target to see an interesting rubinius failure. updated an incorrect string splice spec.
-
-commit ef8aa2f74896944134f5a8884ccc723ca9b472c1
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Jan 2 01:40:16 2007 +0000
-
- separated specs that are shotgun specific methods (e.g. String#prefix?) into spec/shotgun/... fixed wrong specs so that all pass under mri/mir configuration.
-
-commit 8661488b40b9fccccf356889834c6a9162c8bebf
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 22:37:41 2007 +0000
-
- very quick n' dirty implementation of example et al to run specs under mri like under rubinius.
-
-commit 0ebfa43e222ca4794243d36f10c2e429e930f527
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 20:47:13 2007 +0000
-
- added methods for TrueClass and FalseClass, updated specs for each.
-
-commit e9bb50ced8bf997535f0bc9c6deeeffb86c40879
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 20:29:37 2007 +0000
-
- added specs for true, false, nil.
-
-commit c30b0e38b88c686c11c6f7442e027d685d405505
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 18:59:59 2007 +0000
-
- added spec templates for true, false, nil, class, module, enumerable, comparable, flow_control, exception. added specs to various others.
-
-commit b26777261970c213506e444b90412543f39b3c59
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 18:58:37 2007 +0000
-
- added that rubinius target example method takes a default argument to pass strings of code to allow for creating classes, since classes can't be defined in a method body and for now example puts the block code into a method using ruby2ruby.
-
-commit 560c5a1331c76bce07289f1e5950b816fe7c9c24
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Jan 1 01:17:44 2007 +0000
-
- added more string specs.
-
-commit 807864c76b701f6f976f3f2935599ba875fcc10e
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 31 23:13:16 2006 +0000
-
- added more core specs (or templates for specs) to cover existing tests in shotgun-tests.
-
-commit 8f83b600b12722d46b9791b2e2c3a399618474a0
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 31 21:23:07 2006 +0000
-
- removed shotgun/primitives_spec as spec/shotgun should be for shotgun-specific code. created spec/core for ruby core classes. spec/library is now for ruby stdlib classes. added more array specs.
-
-commit 58cc3ce5bd8b84a151b1a6e2334845f268ab894a
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 31 08:58:50 2006 +0000
-
- added specs for class methods of Regexp. added alias Regexp.compile for Regexp.new.
-
-commit 0a5a31bc6ef539eeda3de951ab633f5152d58153
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 31 02:01:34 2006 +0000
-
- added specs for symbol methods. added aliases to symbol for to_i, to_int, and id2name.
-
-commit cdfa28e492b8edfa55b950b06ce05ebb04b64643
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 30 17:27:18 2006 +0000
-
- changed example method for rubinius_target to raise exception if compile fails. added specs for range.
-
-commit 5316e652084b8624828d0a9306f580bfc93184dc
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 29 20:37:46 2006 +0000
-
- added spec files in spec/library for basic types (according to pickaxe book). added specs for all the methods in Regexp. there are many failing specs for a variety of reasons, but the goal is to get a good overview of where work needs to be done. more specs to follow.
-
-commit 06cd5ad6da819f2894996e42f4da70321767c9c7
-Author: Mae <mae@unknown>
-Date: Thu Dec 28 07:36:21 2006 +0000
-
- Added Array expressions gleaned from spec/library/array_spec.rb as proof of concept for rapid compatibility testing
- - A thought occurred to me that the scope for this type of testing might be limited severely to simple compatibility testing
- - Its not very human understandable as a spec -- it just unravels incompatibilities given no hint as to why things are the way they are.
- - It lets the ruby rval speak for itself
- - Is this useful for rubinius?!
-
-commit 1c1fc9335aee4acbcd692c555b0ca194c5301013
-Author: Frederick <frederick@unknown>
-Date: Wed Dec 27 22:46:43 2006 +0000
-
- Fix a bug in the allocation of a string. The underlying storage (byte array) did not have the correct size, leading to a write in a non allocated memory area.
- The rationale is that, the storage are should be able to store the string plus a terminal \0. As we're allocating per block of 4 bytes (a word) we need to get the nearest multiple of 4.
- This patch adds a spec to highlight the bug, and a fix to .. well, fix it ;)
-
-commit cdfdc272b71bbfca23b4c17e5572ebd2b966615e
-Author: Mae <mae@unknown>
-Date: Tue Dec 26 17:52:24 2006 +0000
-
- Added my idea of a sanity check against MRI for compatibility purposes
- - try it out!
- - rake spec:compatibility
- - example compatibility expressions go in spec/compatibility/expressions/*
- - all the expression files are line-separated ruby expressions that return something basic and eval-able
-
-commit f9887648c7f239f8c862158b39f44b2410377204
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 22 19:20:58 2006 +0000
-
- added spec file for String methods.
-
-commit 8178e4478977c81940ac4bdcd8bea608be11708b
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 22 17:14:46 2006 +0000
-
- fixed that ruby2ruby was not generating correct ruby source when a local var was used in a block. changed local var to instance var and it works, converted primitives_spec to new block-style.
-
-commit 8a00080a1edb864af7573e8f9761f65fa1202d07
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 22 06:58:28 2006 +0000
-
- changed array_spec to not use local variables in blocks where possible because rubytoruby is not converting them to ruby source correctly. Array#uniq! fails at the moment. re-added that compile checks code-cache first so specs run faster.
-
-commit 4a199c559eebe73cd21d0997126b799f5d4e2be5
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 22 06:00:21 2006 +0000
-
- converted array_spec.rb to block-style specs, but they still depend on strings to be output. rewrote spec_helper based on nicksieger's example code. some specs are failing due to bugs converting to sexp and back to ruby source.
-
-commit 854bbc3617559a2ceac975d79a57ffa825a5cda6
-Author: Brian Ford <brixen@gmail.com>
-Date: Fri Dec 22 03:34:18 2006 +0000
-
- added spec/targets for specs for 'target' part of host/target spec runner configuration. added mri_target and rubinius_target and specs.
-
-commit db81559c9c914413d2064b4202ec8ce43e503af2
-Author: Brian Ford <brixen@gmail.com>
-Date: Thu Dec 21 05:51:55 2006 +0000
-
- added spec:targets task to run specs for target part of host/target spec configuration. added specs for mri_target and rubinius_target.
-
-commit a243a70bd17ec7e9839b69bb18e63d5d943b6095
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 20 19:02:01 2006 +0000
-
- updated primitives_spec to use example method.
-
-commit 9ce077283dd10c21377add499c5bcc4ea87cfe0f
-Author: Brian Ford <brixen@gmail.com>
-Date: Wed Dec 20 17:11:00 2006 +0000
-
- Changed method from rubinius to example for specs. This is in anticipation of having independent 'host' (system running rspec) and 'target' (system executing spec). Created parallel arrayb_spec that illustrates this with a mri/mri configuration. Also added spec_bhelper that is a *very rough* beginning for having mri/rubinius configuration using block-style specs.
-
-commit a8ad71a0da9e1a866521074743ea1dfcceb596cb
-Author: Wilson Bilkovich <wilson@supremetyrant.com>
-Date: Wed Dec 20 15:39:36 2006 +0000
-
- Applying 'array patch' from Jason Perkins (2006-12-20 8:30 EST)
-
-commit 82b3d880131e7080ebc6b4289b3954d89a988c13
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 19 17:30:21 2006 +0000
-
- added more specs to array_spec. most of these are failing, so there seems to be a lot of Array that needs implementing.
-
-commit c24f0e83b4d446afd541ffefbcb313f199b684ee
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 19 08:24:00 2006 +0000
-
- added specs for Array#* and <<, simplified other specs.
-
-commit 62b0737ce69768a8292bd3d9f13401ec8056f6eb
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 19 07:46:39 2006 +0000
-
- fixed messed up spec for &.
-
-commit 7635389b2abf5c492952a49eb8251d6fb34250c7
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 19 07:40:01 2006 +0000
-
- added spec for Array#&, which is currently unimplemented. updated spec_helper.
-
-commit 42b5e9fc47bcf6bcd403d25795c9bcf07bb5c007
-Author: Brian Ford <brixen@gmail.com>
-Date: Tue Dec 19 06:13:15 2006 +0000
-
- added spec tasks :only to run only spec, :language for high level language conformance spcs, :library for ruby stdlib implementation specs, and :shotgun for specs related to shotgun. rake spec will run all specs and tests. removed spec/spec_suite.rb because all specs can be run from rake. minor updates to spec_helper.
-
-commit da4c42890f4b8163b8d49de64bdb76c16b0e5d1f
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 18 17:41:44 2006 +0000
-
- added shotgun dir under spec for things that relate to shotgun implementation of VM, like the prmitives_spec, while reserving spec/library for general ruby implementation of the std lib.
-
-commit 925cbf9f84f78a48189f7030c205942d266a6f66
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 18 09:45:25 2006 +0000
-
- added Fixnum#% primitive implementation. changed array_spec to use Fixnum#%. fixed test_primitive test for Fixnum#%.
-
-commit 06e50e48a92e3fa7d1fc4d6b681872d08e5aeba3
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 18 09:10:37 2006 +0000
-
- Added Fixnum#% primitive test, spec, cpu/primitive, stub.
-
-commit e0fbcf29f46dde89f65d13c1b6d7601a470cf223
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 18 07:54:02 2006 +0000
-
- all ports of test_array test to array_spec are now passing.
-
-commit c2330c2ff65cfa964d954340fb0eb2507972efd5
-Author: Brian Ford <brixen@gmail.com>
-Date: Mon Dec 18 07:39:55 2006 +0000
-
- updated spec_helper to ensure code-cache dir exists. fixed several failing specs in array_spec by correcting expected value.
-
-commit 81cc03c6f7ce499da563543f00d273d3a9c3a184
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 17 06:27:15 2006 +0000
-
- Ported the rest of test_array.rb tests to specs. Several of these specs are not passing but ported them all to illustrate behavior of specs.
-
-commit b4cb073931f403119a5ed9b63a2c915612a9c46f
-Author: Brian Ford <brixen@gmail.com>
-Date: Sun Dec 17 04:42:55 2006 +0000
-
- spec/spec_helper.rb rubinius method is a very naive port of shotgun-tests/helper.rb run_code method. spec/library/array_spec.rb is several ports of the tests in shotgun-tests/test_array.rb, which is testing /kernel/array.rb. In other words, you can now create specs that run under RSpec (which is running under MRI 1.8.x) that exercises the rubinius vm, shotgun, and the stdlib that is being written in ruby. Confused? Read the source, Luke. :)
-
-commit 1b37cd1ee800060fb215a52d2902c3f4b778a656
-Author: Brian Ford <brixen@gmail.com>
-Date: Sat Dec 16 07:55:41 2006 +0000
-
- Added spec dir with spec_suite.rb and spec_helper.rb provided by nullstyle.
diff --git a/spec/ruby/README.md b/spec/ruby/README.md
index eb652bafa8..a2fa5f0a9f 100644
--- a/spec/ruby/README.md
+++ b/spec/ruby/README.md
@@ -4,7 +4,7 @@
[![Build Status](https://ci.appveyor.com/api/projects/status/1gs6f399320o44b1?svg=true)](https://ci.appveyor.com/project/eregon/spec-x948i)
[![Gitter](https://badges.gitter.im/ruby/spec.svg)](https://gitter.im/ruby/spec)
-The Ruby Spec Suite is a test suite for the behavior of the Ruby programming language.
+The Ruby Spec Suite, abbreviated `ruby/spec`, is a test suite for the behavior of the Ruby programming language.
It is not a standardized specification like the ISO one, and does not aim to become one.
Instead, it is a practical tool to describe and test the behavior of Ruby with code.
@@ -112,6 +112,7 @@ under the MIT license in ruby/spec.
### History and RubySpec
This project was originally born from [Rubinius](https://github.com/rubinius/rubinius) tests being converted to the spec style.
+The revision history of these specs is available [here](https://github.com/ruby/spec/blob/2b886623/CHANGES.before-2008-05-10).
These specs were later extracted to their own project, RubySpec, with a specific vision and principles.
At the end of 2014, Brian Shirai, the creator of RubySpec, decided to [end RubySpec](http://rubinius.com/2014/12/31/matz-s-ruby-developers-don-t-use-rubyspec/).
A couple months later, the different repositories were merged and [the project was revived](http://eregon.github.io/rubyspec/2015/07/29/rubyspec-is-reborn.html).
diff --git a/spec/ruby/core/array/difference_spec.rb b/spec/ruby/core/array/difference_spec.rb
index 33ea8e1f3c..a357657967 100644
--- a/spec/ruby/core/array/difference_spec.rb
+++ b/spec/ruby/core/array/difference_spec.rb
@@ -4,7 +4,7 @@ require_relative 'shared/difference'
ruby_version_is "2.6" do
describe "Array#difference" do
- it_behaves_like :array_binary_difference, :-
+ it_behaves_like :array_binary_difference, :difference
it "returns a copy when called without any parameter" do
x = [1, 2, 3, 2]
diff --git a/spec/ruby/core/array/to_h_spec.rb b/spec/ruby/core/array/to_h_spec.rb
index e845d2c950..27a0b6112f 100644
--- a/spec/ruby/core/array/to_h_spec.rb
+++ b/spec/ruby/core/array/to_h_spec.rb
@@ -36,9 +36,42 @@ describe "Array#to_h" do
end
ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- i = 0
- [:a, :b].to_h {|k| [k, i += 1]}.should == { a: 1, b: 2 }
+ context "with block" do
+ it "converts [key, value] pairs returned by the block to a Hash" do
+ [:a, :b].to_h { |k| [k, k.to_s] }.should == { a: 'a', b: 'b' }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ [:a, :b].to_h { |k| [k, k.to_s, 1] }
+ end.should raise_error(ArgumentError, /wrong array length at 0/)
+
+ -> do
+ [:a, :b].to_h { |k| [k] }
+ end.should raise_error(ArgumentError, /wrong array length at 0/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ [:a, :b].to_h { |k| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String at 0/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ [:a].to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ [:a].to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject at 0/)
+ end
end
end
end
diff --git a/spec/ruby/core/binding/fixtures/location.rb b/spec/ruby/core/binding/fixtures/location.rb
new file mode 100644
index 0000000000..a78ae75731
--- /dev/null
+++ b/spec/ruby/core/binding/fixtures/location.rb
@@ -0,0 +1,6 @@
+module BindingSpecs
+ module LocationMethod
+ FILE_PATH = __FILE__
+ TEST_BINDING = binding
+ end
+end
diff --git a/spec/ruby/core/binding/source_location_spec.rb b/spec/ruby/core/binding/source_location_spec.rb
new file mode 100644
index 0000000000..e562bc65c8
--- /dev/null
+++ b/spec/ruby/core/binding/source_location_spec.rb
@@ -0,0 +1,11 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/location'
+
+ruby_version_is "2.6" do
+ describe "Binding#source_location" do
+ it "returns an [file, line] pair" do
+ b = BindingSpecs::LocationMethod::TEST_BINDING
+ b.source_location.should == [BindingSpecs::LocationMethod::FILE_PATH, 4]
+ end
+ end
+end
diff --git a/spec/ruby/core/dir/children_spec.rb b/spec/ruby/core/dir/children_spec.rb
index 4bc64934b3..c6329b416f 100644
--- a/spec/ruby/core/dir/children_spec.rb
+++ b/spec/ruby/core/dir/children_spec.rb
@@ -70,3 +70,69 @@ ruby_version_is "2.5" do
end
end
end
+
+ruby_version_is "2.6" do
+ describe "Dir#children" do
+ before :all do
+ DirSpecs.create_mock_dirs
+ end
+
+ before :each do
+ @internal = Encoding.default_internal
+ end
+
+ after :all do
+ DirSpecs.delete_mock_dirs
+ end
+
+ after :each do
+ Encoding.default_internal = @internal
+ @dir.close if @dir
+ end
+
+ it "returns an Array of filenames in an existing directory including dotfiles" do
+ @dir = Dir.new(DirSpecs.mock_dir)
+ a = @dir.children.sort
+ @dir.close
+
+ a.should == DirSpecs.expected_paths - %w[. ..]
+
+ @dir = Dir.new("#{DirSpecs.mock_dir}/deeply/nested")
+ a = @dir.children.sort
+ a.should == %w|.dotfile.ext directory|
+ end
+
+ it "accepts an options Hash" do
+ @dir = Dir.new("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8")
+ a = @dir.children.sort
+ a.should == %w|.dotfile.ext directory|
+ end
+
+ it "returns children encoded with the filesystem encoding by default" do
+ # This spec depends on the locale not being US-ASCII because if it is, the
+ # children that are not ascii_only? will be ASCII-8BIT encoded.
+ @dir = Dir.new(File.join(DirSpecs.mock_dir, 'special'))
+ children = @dir.children.sort
+ encoding = Encoding.find("filesystem")
+ encoding = Encoding::ASCII_8BIT if encoding == Encoding::US_ASCII
+ platform_is_not :windows do
+ children.should include("こんにちは.txt".force_encoding(encoding))
+ end
+ children.first.encoding.should equal(Encoding.find("filesystem"))
+ end
+
+ it "returns children encoded with the specified encoding" do
+ path = File.join(DirSpecs.mock_dir, 'special')
+ @dir = Dir.new(path, encoding: "euc-jp")
+ children = @dir.children.sort
+ children.first.encoding.should equal(Encoding::EUC_JP)
+ end
+
+ it "returns children transcoded to the default internal encoding" do
+ Encoding.default_internal = Encoding::EUC_KR
+ @dir = Dir.new(File.join(DirSpecs.mock_dir, 'special'))
+ children = @dir.children.sort
+ children.first.encoding.should equal(Encoding::EUC_KR)
+ end
+ end
+end
diff --git a/spec/ruby/core/dir/each_child_spec.rb b/spec/ruby/core/dir/each_child_spec.rb
index 913b9cb96f..c04d212bfa 100644
--- a/spec/ruby/core/dir/each_child_spec.rb
+++ b/spec/ruby/core/dir/each_child_spec.rb
@@ -51,3 +51,55 @@ ruby_version_is "2.5" do
end
end
end
+
+ruby_version_is "2.6" do
+ describe "Dir#each_child" do
+ before :all do
+ DirSpecs.create_mock_dirs
+ end
+
+ after :all do
+ DirSpecs.delete_mock_dirs
+ end
+
+ after :each do
+ @dir.close if @dir
+ end
+
+ it "yields all names in an existing directory to the provided block" do
+ a, b = [], []
+ @dir = Dir.new(DirSpecs.mock_dir)
+ @dir2 = Dir.new("#{DirSpecs.mock_dir}/deeply/nested")
+
+ @dir.each_child { |f| a << f }
+ @dir2.each_child { |f| b << f }
+ @dir2.close
+
+ a.sort.should == DirSpecs.expected_paths - %w|. ..|
+ b.sort.should == %w|.dotfile.ext directory|
+ end
+
+ it "returns self when successful" do
+ @dir = Dir.new(DirSpecs.mock_dir)
+ @dir.each_child { |f| f }.should == @dir
+ end
+
+ describe "when no block is given" do
+ it "returns an Enumerator" do
+ @dir = Dir.new(DirSpecs.mock_dir)
+
+ @dir.each_child.should be_an_instance_of(Enumerator)
+ @dir.each_child.to_a.sort.should == DirSpecs.expected_paths - %w|. ..|
+ end
+
+ describe "returned Enumerator" do
+ describe "size" do
+ it "should return nil" do
+ @dir = Dir.new(DirSpecs.mock_dir)
+ @dir.each_child.size.should == nil
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerable/chain_spec.rb b/spec/ruby/core/enumerable/chain_spec.rb
new file mode 100644
index 0000000000..0e86a02905
--- /dev/null
+++ b/spec/ruby/core/enumerable/chain_spec.rb
@@ -0,0 +1,22 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/classes'
+
+ruby_version_is "2.6" do
+ describe "Enumerable#chain" do
+ before :each do
+ ScratchPad.record []
+ end
+
+ it "returns a chain of self and provided enumerables" do
+ one = EnumerableSpecs::Numerous.new(1)
+ two = EnumerableSpecs::Numerous.new(2)
+ three = EnumerableSpecs::Numerous.new(3)
+
+ chain = one.chain(two, three)
+
+ chain.should be_an_instance_of(Enumerator::Chain)
+ chain.each { |item| ScratchPad << item }
+ ScratchPad.recorded.should == [1, 2, 3]
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerable/to_h_spec.rb b/spec/ruby/core/enumerable/to_h_spec.rb
index 966325c736..f15ced122e 100644
--- a/spec/ruby/core/enumerable/to_h_spec.rb
+++ b/spec/ruby/core/enumerable/to_h_spec.rb
@@ -45,10 +45,46 @@ describe "Enumerable#to_h" do
end
ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- enum = EnumerableSpecs::EachDefiner.new(:a, :b)
- i = 0
- enum.to_h {|k| [k, i += 1]}.should == { a: 1, b: 2 }
+ context "with block" do
+ before do
+ @enum = EnumerableSpecs::EachDefiner.new(:a, :b)
+ end
+
+ it "converts [key, value] pairs returned by the block to a hash" do
+ @enum.to_h { |k| [k, k.to_s] }.should == { a: 'a', b: 'b' }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ @enum.to_h { |k| [k, k.to_s, 1] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+
+ -> do
+ @enum.to_h { |k| [k] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ @enum.to_h { |k| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ @enum.to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ @enum.to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject/)
+ end
end
end
end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb
new file mode 100644
index 0000000000..c8d91ebaec
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb
@@ -0,0 +1,11 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#begin" do
+ it "returns the begin of the sequence" do
+ 1.step(10).begin.should == 1
+ (1..10).step.begin.should == 1
+ (1...10).step.begin.should == 1
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb
new file mode 100644
index 0000000000..d7edf3a21f
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#each" do
+ before :each do
+ ScratchPad.record []
+ @seq = 1.step(10, 4)
+ end
+
+ it "calls given block on each item of the sequence" do
+ @seq.each { |item| ScratchPad << item }
+ ScratchPad.recorded.should == [1, 5, 9]
+ end
+
+ it "returns self" do
+ @seq.each { |item| }.should equal(@seq)
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb
new file mode 100644
index 0000000000..5a436e8167
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb
@@ -0,0 +1,11 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#end" do
+ it "returns the end of the sequence" do
+ 1.step(10).end.should == 10
+ (1..10).step.end.should == 10
+ (1...10).step(17).end.should == 10
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb
new file mode 100644
index 0000000000..7895f98047
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb
@@ -0,0 +1,20 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#==" do
+ it "returns true if begin, end, step and exclude_end? are equal" do
+ 1.step(10).should == 1.step(10)
+ 1.step(10, 5).should == 1.step(10, 5)
+
+ (1..10).step.should == (1..10).step
+ (1...10).step(8).should == (1...10).step(8)
+
+ # both have exclude_end? == false
+ (1..10).step(100).should == 1.step(10, 100)
+
+ ((1..10).step == (1..11).step).should == false
+ ((1..10).step == (1...10).step).should == false
+ ((1..10).step == (1..10).step(2)).should == false
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb
new file mode 100644
index 0000000000..8ce0ce0cd9
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#exclude_end?" do
+ context "when created using Numeric#step" do
+ it "always returns false" do
+ 1.step(10).exclude_end?.should == false
+ 10.step(1).exclude_end?.should == false
+ end
+ end
+
+ context "when created using Range#step" do
+ it "mirrors range.exclude_end?" do
+ (1...10).step.exclude_end?.should == true
+ (1..10).step.exclude_end?.should == false
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb
new file mode 100644
index 0000000000..43c520d1f0
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb
@@ -0,0 +1,11 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#first" do
+ it "returns the first element of the sequence" do
+ 1.step(10).first.should == 1
+ (1..10).step.first.should == 1
+ (1...10).step.first.should == 1
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb
new file mode 100644
index 0000000000..236f845f41
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb
@@ -0,0 +1,22 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#hash" do
+ it "is based on begin, end, step and exclude_end?" do
+ 1.step(10).hash.should be_an_instance_of(Integer)
+
+ 1.step(10).hash.should == 1.step(10).hash
+ 1.step(10, 5).hash.should == 1.step(10, 5).hash
+
+ (1..10).step.hash.should == (1..10).step.hash
+ (1...10).step(8).hash.should == (1...10).step(8).hash
+
+ # both have exclude_end? == false
+ (1..10).step(100).hash.should == 1.step(10, 100).hash
+
+ ((1..10).step.hash == (1..11).step.hash).should == false
+ ((1..10).step.hash == (1...10).step.hash).should == false
+ ((1..10).step.hash == (1..10).step(2).hash).should == false
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb
new file mode 100644
index 0000000000..21e64a6b58
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb
@@ -0,0 +1,22 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#inspect" do
+ context 'when Numeric#step is used' do
+ it "returns '(begin.step(end{, step}))'" do
+ 1.step(10).inspect.should == "(1.step(10))"
+ 1.step(10, 3).inspect.should == "(1.step(10, 3))"
+ end
+ end
+
+ context 'when Range#step is used' do
+ it "returns '((range).step{(step)})'" do
+ (1..10).step.inspect.should == "((1..10).step)"
+ (1..10).step(3).inspect.should == "((1..10).step(3))"
+
+ (1...10).step.inspect.should == "((1...10).step)"
+ (1...10).step(3).inspect.should == "((1...10).step(3))"
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb
new file mode 100644
index 0000000000..ebb20090fc
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb
@@ -0,0 +1,11 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#last" do
+ it "returns the last element of the sequence" do
+ 1.step(10).last.should == 10
+ (1..10).step.last.should == 10
+ (1...10).step(4).last.should == 9
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb
new file mode 100644
index 0000000000..5a62d3f346
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence.new" do
+ it "is not defined" do
+ lambda {
+ Enumerator::ArithmeticSequence.new
+ }.should raise_error(NoMethodError)
+ end
+ end
+
+ describe "Enumerator::ArithmeticSequence.allocate" do
+ it "is not defined" do
+ lambda {
+ Enumerator::ArithmeticSequence.allocate
+ }.should raise_error(TypeError, 'allocator undefined for Enumerator::ArithmeticSequence')
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb
new file mode 100644
index 0000000000..00403b0238
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#size" do
+ context "for finite sequence" do
+ it "returns the number of elements in this arithmetic sequence" do
+ 1.step(10).size.should == 10
+ (1...10).step.size.should == 9
+ end
+ end
+
+ context "for infinite sequence" do
+ it "returns Infinity" do
+ 1.step(Float::INFINITY).size.should == Float::INFINITY
+ (1..Float::INFINITY).step.size.should == Float::INFINITY
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb b/spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb
new file mode 100644
index 0000000000..20a5cb6e7b
--- /dev/null
+++ b/spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb
@@ -0,0 +1,15 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::ArithmeticSequence#step" do
+ it "returns the original value given to step method" do
+ (1..10).step.step.should == 1
+ (1..10).step(3).step.should == 3
+ (1..10).step(0).step.should == 0
+
+ 1.step(10).step.should == 1
+ 1.step(10, 3).step.should == 3
+ 1.step(10, 0).step.should == 0
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/chain/each_spec.rb b/spec/ruby/core/enumerator/chain/each_spec.rb
new file mode 100644
index 0000000000..dab2c1cf1d
--- /dev/null
+++ b/spec/ruby/core/enumerator/chain/each_spec.rb
@@ -0,0 +1,17 @@
+require_relative '../../../spec_helper'
+require_relative '../../enumerable/fixtures/classes'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Chain#each" do
+ it "calls each on its consistuents as needed" do
+ a = EnumerableSpecs::EachCounter.new(:a, :b)
+ b = EnumerableSpecs::EachCounter.new(:c, :d)
+
+ ScratchPad.record []
+ Enumerator::Chain.new(a, b).each do |elem|
+ ScratchPad << elem << b.times_yielded
+ end
+ ScratchPad.recorded.should == [:a, 0, :b, 0, :c, 1, :d, 2]
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/chain/initialize_spec.rb b/spec/ruby/core/enumerator/chain/initialize_spec.rb
new file mode 100644
index 0000000000..4ede1b8670
--- /dev/null
+++ b/spec/ruby/core/enumerator/chain/initialize_spec.rb
@@ -0,0 +1,33 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Chain#initialize" do
+ before :each do
+ @uninitialized = Enumerator::Chain.allocate
+ end
+
+ it "is a private method" do
+ Enumerator::Chain.should have_private_instance_method(:initialize, false)
+ end
+
+ it "returns self" do
+ @uninitialized.send(:initialize).should equal(@uninitialized)
+ end
+
+ it "accepts many arguments" do
+ @uninitialized.send(:initialize, 0..1, 2..3, 4..5).should equal(@uninitialized)
+ end
+
+ it "accepts arguments that are not Enumerable nor responding to :each" do
+ @uninitialized.send(:initialize, Object.new).should equal(@uninitialized)
+ end
+
+ describe "on frozen instance" do
+ it "raises a RuntimeError" do
+ lambda {
+ @uninitialized.freeze.send(:initialize)
+ }.should raise_error(RuntimeError)
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/chain/inspect_spec.rb b/spec/ruby/core/enumerator/chain/inspect_spec.rb
new file mode 100644
index 0000000000..a644d88c6f
--- /dev/null
+++ b/spec/ruby/core/enumerator/chain/inspect_spec.rb
@@ -0,0 +1,16 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Chain#inspect" do
+ it "shows a representation of the Enumerator" do
+ Enumerator::Chain.new.inspect.should == "#<Enumerator::Chain: []>"
+ Enumerator::Chain.new(1..2, 3..4).inspect.should == "#<Enumerator::Chain: [1..2, 3..4]>"
+ end
+
+ it "calls inspect on its chain elements" do
+ obj = mock('inspect')
+ obj.should_receive(:inspect).and_return('some desc')
+ Enumerator::Chain.new(obj).inspect.should == "#<Enumerator::Chain: [some desc]>"
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/chain/rewind_spec.rb b/spec/ruby/core/enumerator/chain/rewind_spec.rb
new file mode 100644
index 0000000000..61b07b8c0a
--- /dev/null
+++ b/spec/ruby/core/enumerator/chain/rewind_spec.rb
@@ -0,0 +1,53 @@
+require_relative '../../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Chain#rewind" do
+ before(:each) do
+ @obj = mock('obj')
+ @obj.should_receive(:each).any_number_of_times.and_yield(42)
+ @second = mock('obj')
+ @second.should_receive(:each).any_number_of_times.and_yield(:second)
+ @enum = Enumerator::Chain.new(@obj, @second)
+ end
+
+ it "returns self" do
+ @enum.rewind.should equal @enum
+ end
+
+ it "does nothing if receiver has not been iterated" do
+ @obj.should_not_receive(:rewind)
+ @obj.respond_to?(:rewind).should == true # sanity check
+ @enum.rewind
+ end
+
+ it "does nothing on objects that don't respond_to rewind" do
+ @obj.respond_to?(:rewind).should == false # sanity check
+ @enum.each {}
+ @enum.rewind
+ end
+
+ it "calls_rewind its objects" do
+ @obj.should_receive(:rewind)
+ @enum.each {}
+ @enum.rewind
+ end
+
+ it "calls_rewind in reverse order" do
+ @obj.should_not_receive(:rewind)
+ @second.should_receive(:rewind).and_raise(RuntimeError)
+ @enum.each {}
+ lambda { @enum.rewind }.should raise_error(RuntimeError)
+ end
+
+ it "calls rewind only for objects that have actually been iterated on" do
+ @obj = mock('obj')
+ @obj.should_receive(:each).any_number_of_times.and_raise(RuntimeError)
+ @enum = Enumerator::Chain.new(@obj, @second)
+
+ @obj.should_receive(:rewind)
+ @second.should_not_receive(:rewind)
+ lambda { @enum.each {} }.should raise_error(RuntimeError)
+ @enum.rewind
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/chain/size_spec.rb b/spec/ruby/core/enumerator/chain/size_spec.rb
new file mode 100644
index 0000000000..42c31ac10b
--- /dev/null
+++ b/spec/ruby/core/enumerator/chain/size_spec.rb
@@ -0,0 +1,24 @@
+require_relative '../../../spec_helper'
+require_relative '../../enumerable/fixtures/classes'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Chain#size" do
+ it "returns the sum of the sizes of the elements" do
+ a = mock('size')
+ a.should_receive(:size).and_return(40)
+ Enumerator::Chain.new(a, [:a, :b]).size.should == 42
+ end
+
+ it "returns nil or Infinity for the first element of such a size" do
+ [nil, Float::INFINITY].each do |special|
+ a = mock('size')
+ a.should_receive(:size).and_return(40)
+ b = mock('special')
+ b.should_receive(:size).and_return(special)
+ c = mock('not called')
+ c.should_not_receive(:size)
+ Enumerator::Chain.new(a, b, c).size.should == special
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/each_spec.rb b/spec/ruby/core/enumerator/each_spec.rb
index e2a78a6a99..f66951851e 100644
--- a/spec/ruby/core/enumerator/each_spec.rb
+++ b/spec/ruby/core/enumerator/each_spec.rb
@@ -1,5 +1,89 @@
-require_relative '../../shared/enumerator/each'
+require_relative '../../spec_helper'
describe "Enumerator#each" do
- it_behaves_like :enum_each, :each
+ before :each do
+ object_each_with_arguments = Object.new
+ def object_each_with_arguments.each_with_arguments(arg, *args)
+ yield arg, *args
+ :method_returned
+ end
+
+ @enum_with_arguments = object_each_with_arguments.to_enum(:each_with_arguments, :arg0, :arg1, :arg2)
+
+ @enum_with_yielder = Enumerator.new {|y| y.yield :ok}
+ end
+
+ it "yields each element of self to the given block" do
+ acc = []
+ [1,2,3].to_enum.each {|e| acc << e }
+ acc.should == [1,2,3]
+ end
+
+ it "calls #each on the object given in the constructor by default" do
+ each = mock('each')
+ each.should_receive(:each)
+ each.to_enum.each {|e| e }
+ end
+
+ it "calls #each on the underlying object until it's exhausted" do
+ each = mock('each')
+ each.should_receive(:each).and_yield(1).and_yield(2).and_yield(3)
+ acc = []
+ each.to_enum.each {|e| acc << e }
+ acc.should == [1,2,3]
+ end
+
+ it "calls the method given in the constructor instead of #each" do
+ each = mock('peach')
+ each.should_receive(:peach)
+ each.to_enum(:peach).each {|e| e }
+ end
+
+ it "calls the method given in the constructor until it's exhausted" do
+ each = mock('each')
+ each.should_receive(:each).and_yield(1).and_yield(2).and_yield(3)
+ acc = []
+ each.to_enum.each {|e| acc << e }
+ acc.should == [1,2,3]
+ end
+
+ it "raises a NoMethodError if the object doesn't respond to #each" do
+ enum = Object.new.to_enum
+ lambda do
+ enum.each { |e| e }
+ end.should raise_error(NoMethodError)
+ end
+
+ it "returns self if not given arguments and not given a block" do
+ @enum_with_arguments.each.should equal(@enum_with_arguments)
+
+ @enum_with_yielder.each.should equal(@enum_with_yielder)
+ end
+
+ it "returns the same value from receiver.each if block is given" do
+ @enum_with_arguments.each {}.should equal(:method_returned)
+ end
+
+ it "passes given arguments at initialized to receiver.each" do
+ @enum_with_arguments.each.to_a.should == [[:arg0, :arg1, :arg2]]
+ end
+
+ it "requires multiple arguments" do
+ Enumerator.instance_method(:each).arity.should < 0
+ end
+
+ it "appends given arguments to receiver.each" do
+ @enum_with_arguments.each(:each0, :each1).to_a.should == [[:arg0, :arg1, :arg2, :each0, :each1]]
+ @enum_with_arguments.each(:each2, :each3).to_a.should == [[:arg0, :arg1, :arg2, :each2, :each3]]
+ end
+
+ it "returns the same value from receiver.each if block and arguments are given" do
+ @enum_with_arguments.each(:each1, :each2) {}.should equal(:method_returned)
+ end
+
+ it "returns new Enumerator if given arguments but not given a block" do
+ ret = @enum_with_arguments.each 1
+ ret.should be_an_instance_of(Enumerator)
+ ret.should_not equal(@enum_with_arguments)
+ end
end
diff --git a/spec/ruby/core/enumerator/inject_spec.rb b/spec/ruby/core/enumerator/inject_spec.rb
deleted file mode 100644
index 326c7ed581..0000000000
--- a/spec/ruby/core/enumerator/inject_spec.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-require_relative '../../shared/enumerator/each'
-
-describe "Enumerator#inject" do
- it_behaves_like :enum_each, :each
-
- it "works when chained against each_with_index" do
- passed_values = []
- [:a].each_with_index.inject(0) do |accumulator,value|
- passed_values << value
- accumulator + 1
- end.should == 1
- passed_values.should == [[:a,0]]
- end
-
-end
diff --git a/spec/ruby/core/enumerator/lazy/filter_spec.rb b/spec/ruby/core/enumerator/lazy/filter_spec.rb
new file mode 100644
index 0000000000..2ababa69cc
--- /dev/null
+++ b/spec/ruby/core/enumerator/lazy/filter_spec.rb
@@ -0,0 +1,8 @@
+require_relative '../../../spec_helper'
+require_relative 'shared/select'
+
+ruby_version_is "2.6" do
+ describe "Enumerator::Lazy#filter" do
+ it_behaves_like :enumerator_lazy_select, :filter
+ end
+end
diff --git a/spec/ruby/core/enumerator/new_spec.rb b/spec/ruby/core/enumerator/new_spec.rb
index 86d2d38022..170809dbc1 100644
--- a/spec/ruby/core/enumerator/new_spec.rb
+++ b/spec/ruby/core/enumerator/new_spec.rb
@@ -1,6 +1,41 @@
require_relative '../../spec_helper'
-require_relative '../../shared/enumerator/new'
describe "Enumerator.new" do
- it_behaves_like :enum_new, :new
+ it "creates a new custom enumerator with the given object, iterator and arguments" do
+ enum = Enumerator.new(1, :upto, 3)
+ enum.should be_an_instance_of(Enumerator)
+ end
+
+ it "creates a new custom enumerator that responds to #each" do
+ enum = Enumerator.new(1, :upto, 3)
+ enum.respond_to?(:each).should == true
+ end
+
+ it "creates a new custom enumerator that runs correctly" do
+ Enumerator.new(1, :upto, 3).map{|x|x}.should == [1,2,3]
+ end
+
+ it "aliases the second argument to :each" do
+ Enumerator.new(1..2).to_a.should == Enumerator.new(1..2, :each).to_a
+ end
+
+ it "doesn't check for the presence of the iterator method" do
+ Enumerator.new(nil).should be_an_instance_of(Enumerator)
+ end
+
+ it "uses the latest define iterator method" do
+ class StrangeEach
+ def each
+ yield :foo
+ end
+ end
+ enum = Enumerator.new(StrangeEach.new)
+ enum.to_a.should == [:foo]
+ class StrangeEach
+ def each
+ yield :bar
+ end
+ end
+ enum.to_a.should == [:bar]
+ end
end
diff --git a/spec/ruby/core/enumerator/next_spec.rb b/spec/ruby/core/enumerator/next_spec.rb
index 1d3baf54d7..e0d3c0a39b 100644
--- a/spec/ruby/core/enumerator/next_spec.rb
+++ b/spec/ruby/core/enumerator/next_spec.rb
@@ -1,6 +1,27 @@
require_relative '../../spec_helper'
-require_relative '../../shared/enumerator/next'
describe "Enumerator#next" do
- it_behaves_like :enum_next,:next
+ before :each do
+ @enum = 1.upto(3)
+ end
+
+ it "returns the next element of the enumeration" do
+ @enum.next.should == 1
+ @enum.next.should == 2
+ @enum.next.should == 3
+ end
+
+ it "raises a StopIteration exception at the end of the stream" do
+ 3.times { @enum.next }
+ lambda { @enum.next }.should raise_error(StopIteration)
+ end
+
+ it "cannot be called again until the enumerator is rewound" do
+ 3.times { @enum.next }
+ lambda { @enum.next }.should raise_error(StopIteration)
+ lambda { @enum.next }.should raise_error(StopIteration)
+ lambda { @enum.next }.should raise_error(StopIteration)
+ @enum.rewind
+ @enum.next.should == 1
+ end
end
diff --git a/spec/ruby/core/enumerator/plus_spec.rb b/spec/ruby/core/enumerator/plus_spec.rb
new file mode 100644
index 0000000000..c9bae08b04
--- /dev/null
+++ b/spec/ruby/core/enumerator/plus_spec.rb
@@ -0,0 +1,35 @@
+require_relative '../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Enumerator#+" do
+ before :each do
+ ScratchPad.record []
+ end
+
+ it "returns a chain of self and provided enumerators" do
+ one = Enumerator.new { |y| y << 1 }
+ two = Enumerator.new { |y| y << 2 }
+ three = Enumerator.new { |y| y << 3 }
+
+ chain = one + two + three
+
+ chain.should be_an_instance_of(Enumerator::Chain)
+ chain.each { |item| ScratchPad << item }
+ ScratchPad.recorded.should == [1, 2, 3]
+ end
+
+ it "calls #each on each argument" do
+ enum = Enumerator.new { |y| y << "one" }
+
+ obj1 = mock("obj1")
+ obj1.should_receive(:each).once.and_yield("two")
+
+ obj2 = mock("obj2")
+ obj2.should_receive(:each).once.and_yield("three")
+
+ chain = enum + obj1 + obj2
+ chain.each { |item| ScratchPad << item }
+ ScratchPad.recorded.should == ["one", "two", "three"]
+ end
+ end
+end
diff --git a/spec/ruby/core/enumerator/rewind_spec.rb b/spec/ruby/core/enumerator/rewind_spec.rb
index e846f63c49..2a83b7c6ee 100644
--- a/spec/ruby/core/enumerator/rewind_spec.rb
+++ b/spec/ruby/core/enumerator/rewind_spec.rb
@@ -1,9 +1,41 @@
require_relative '../../spec_helper'
-require_relative '../../shared/enumerator/rewind'
require_relative 'fixtures/common'
describe "Enumerator#rewind" do
- it_behaves_like :enum_rewind, :rewind
+ before :each do
+ @enum = 1.upto(3)
+ end
+
+ it "resets the enumerator to its initial state" do
+ @enum.next.should == 1
+ @enum.next.should == 2
+ @enum.rewind
+ @enum.next.should == 1
+ end
+
+ it "returns self" do
+ @enum.rewind.should == @enum
+ end
+
+ it "has no effect on a new enumerator" do
+ @enum.rewind
+ @enum.next.should == 1
+ end
+
+ it "has no effect if called multiple, consecutive times" do
+ @enum.next.should == 1
+ @enum.rewind
+ @enum.rewind
+ @enum.next.should == 1
+ end
+
+ it "works with peek to reset the position" do
+ @enum.next
+ @enum.next
+ @enum.rewind
+ @enum.next
+ @enum.peek.should == 2
+ end
it "calls the enclosed object's rewind method if one exists" do
obj = mock('rewinder')
diff --git a/spec/ruby/core/env/filter_spec.rb b/spec/ruby/core/env/filter_spec.rb
new file mode 100644
index 0000000000..ba18a3b33b
--- /dev/null
+++ b/spec/ruby/core/env/filter_spec.rb
@@ -0,0 +1,15 @@
+require_relative '../../spec_helper'
+require_relative '../enumerable/shared/enumeratorized'
+require_relative 'shared/select'
+
+ruby_version_is "2.6" do
+ describe "ENV.filter!" do
+ it_behaves_like :env_select!, :filter!
+ it_behaves_like :enumeratorized_with_origin_size, :filter!, ENV
+ end
+
+ describe "ENV.filter" do
+ it_behaves_like :env_select, :filter
+ it_behaves_like :enumeratorized_with_origin_size, :filter, ENV
+ end
+end
diff --git a/spec/ruby/core/env/select_spec.rb b/spec/ruby/core/env/select_spec.rb
index 9ccd27f3e7..c3a76f4434 100644
--- a/spec/ruby/core/env/select_spec.rb
+++ b/spec/ruby/core/env/select_spec.rb
@@ -1,39 +1,13 @@
require_relative '../../spec_helper'
require_relative '../enumerable/shared/enumeratorized'
+require_relative 'shared/select'
describe "ENV.select!" do
- it "removes environment variables for which the block returns true" do
- ENV["foo"] = "bar"
- ENV.select! { |k, v| k != "foo" }
- ENV["foo"].should == nil
- end
-
- it "returns self if any changes were made" do
- ENV["foo"] = "bar"
- ENV.select! { |k, v| k != "foo" }.should == ENV
- end
-
- it "returns nil if no changes were made" do
- ENV.select! { true }.should == nil
- end
-
- it "returns an Enumerator if called without a block" do
- ENV.select!.should be_an_instance_of(Enumerator)
- end
-
+ it_behaves_like :env_select!, :select!
it_behaves_like :enumeratorized_with_origin_size, :select!, ENV
end
describe "ENV.select" do
- it "returns a Hash of names and values for which block return true" do
- ENV["foo"] = "bar"
- ENV.select { |k, v| k == "foo" }.should == {"foo" => "bar"}
- ENV.delete "foo"
- end
-
- it "returns an Enumerator when no block is given" do
- ENV.select.should be_an_instance_of(Enumerator)
- end
-
+ it_behaves_like :env_select, :select
it_behaves_like :enumeratorized_with_origin_size, :select, ENV
end
diff --git a/spec/ruby/core/env/shared/select.rb b/spec/ruby/core/env/shared/select.rb
new file mode 100644
index 0000000000..a0b46a775a
--- /dev/null
+++ b/spec/ruby/core/env/shared/select.rb
@@ -0,0 +1,32 @@
+describe :env_select, shared: true do
+ it "returns a Hash of names and values for which block return true" do
+ ENV["foo"] = "bar"
+ (ENV.send(@method) { |k, v| k == "foo" }).should == { "foo" => "bar" }
+ ENV.delete "foo"
+ end
+
+ it "returns an Enumerator when no block is given" do
+ ENV.send(@method).should be_an_instance_of(Enumerator)
+ end
+end
+
+describe :env_select!, shared: true do
+ it "removes environment variables for which the block returns true" do
+ ENV["foo"] = "bar"
+ ENV.send(@method) { |k, v| k != "foo" }
+ ENV["foo"].should == nil
+ end
+
+ it "returns self if any changes were made" do
+ ENV["foo"] = "bar"
+ (ENV.send(@method) { |k, v| k != "foo" }).should == ENV
+ end
+
+ it "returns nil if no changes were made" do
+ (ENV.send(@method) { true }).should == nil
+ end
+
+ it "returns an Enumerator if called without a block" do
+ ENV.send(@method).should be_an_instance_of(Enumerator)
+ end
+end
diff --git a/spec/ruby/core/env/to_h_spec.rb b/spec/ruby/core/env/to_h_spec.rb
index f6c796b4d6..81a17700e9 100644
--- a/spec/ruby/core/env/to_h_spec.rb
+++ b/spec/ruby/core/env/to_h_spec.rb
@@ -1,18 +1,54 @@
require_relative '../../spec_helper'
require_relative 'shared/to_hash'
-describe "ENV.to_hash" do
+describe "ENV.to_h" do
it_behaves_like :env_to_hash, :to_h
ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- orig = ENV.to_hash
- begin
- ENV.replace "a" => "b", "c" => "d"
- i = 0
- ENV.to_h {|k, v| [k.to_sym, v.upcase]}.should == {a:"B", c:"D"}
- ensure
- ENV.replace orig
+ context "with block" do
+ before do
+ @orig_hash = ENV.to_hash
+ end
+
+ after do
+ ENV.replace @orig_hash
+ end
+
+ it "converts [key, value] pairs returned by the block to a hash" do
+ ENV.replace("a" => "b", "c" => "d")
+ ENV.to_h { |k, v| [k, v.upcase] }.should == { 'a' => "B", 'c' => "D" }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ ENV.to_h { |k, v| [k, v.upcase, 1] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+
+ -> do
+ ENV.to_h { |k, v| [k] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ ENV.to_h { |k, v| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ ENV.to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ ENV.to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject/)
end
end
end
diff --git a/spec/ruby/core/exception/full_message_spec.rb b/spec/ruby/core/exception/full_message_spec.rb
index f56282d67b..bc611c165b 100644
--- a/spec/ruby/core/exception/full_message_spec.rb
+++ b/spec/ruby/core/exception/full_message_spec.rb
@@ -34,5 +34,42 @@ ruby_version_is "2.5" do
e.full_message(order: :bottom, highlight: false).should =~ /b.rb:2.*a.rb:1/m
end
end
+
+ ruby_version_is "2.6" do
+ it "contains cause of exception" do
+ begin
+ begin
+ raise 'the cause'
+ rescue
+ raise 'main exception'
+ end
+ rescue => e
+ exception = e
+ end
+
+ exception.full_message.should include "main exception"
+ exception.full_message.should include "the cause"
+ end
+
+ it 'contains all the chain of exceptions' do
+ begin
+ begin
+ begin
+ raise 'origin exception'
+ rescue
+ raise 'intermediate exception'
+ end
+ rescue
+ raise 'last exception'
+ end
+ rescue => e
+ exception = e
+ end
+
+ exception.full_message.should include "last exception"
+ exception.full_message.should include "intermediate exception"
+ exception.full_message.should include "origin exception"
+ end
+ end
end
end
diff --git a/spec/ruby/core/exception/key_error_spec.rb b/spec/ruby/core/exception/key_error_spec.rb
new file mode 100644
index 0000000000..ad280279d8
--- /dev/null
+++ b/spec/ruby/core/exception/key_error_spec.rb
@@ -0,0 +1,15 @@
+require_relative '../../spec_helper'
+
+describe "KeyError" do
+ ruby_version_is "2.6" do
+ it "accepts :receiver and :key options" do
+ receiver = mock("receiver")
+ key = mock("key")
+
+ error = KeyError.new(receiver: receiver, key: key)
+
+ error.receiver.should == receiver
+ error.key.should == key
+ end
+ end
+end
diff --git a/spec/ruby/core/exception/name_error_spec.rb b/spec/ruby/core/exception/name_error_spec.rb
index a5810f178f..d0a810029b 100644
--- a/spec/ruby/core/exception/name_error_spec.rb
+++ b/spec/ruby/core/exception/name_error_spec.rb
@@ -10,4 +10,15 @@ describe "NameError.new" do
it "should take optional name argument" do
NameError.new("msg","name").name.should == "name"
end
+
+ ruby_version_is "2.6" do
+ it "accepts a :receiver keyword argument" do
+ receiver = mock("receiver")
+
+ error = NameError.new("msg", :name, receiver: receiver)
+
+ error.receiver.should == receiver
+ error.name.should == :name
+ end
+ end
end
diff --git a/spec/ruby/core/exception/no_method_error_spec.rb b/spec/ruby/core/exception/no_method_error_spec.rb
index 7839c080a8..28c3549562 100644
--- a/spec/ruby/core/exception/no_method_error_spec.rb
+++ b/spec/ruby/core/exception/no_method_error_spec.rb
@@ -3,12 +3,23 @@ require_relative 'fixtures/common'
describe "NoMethodError.new" do
it "allows passing method args" do
- NoMethodError.new("msg","name","args").args.should == "args"
+ NoMethodError.new("msg", "name", ["args"]).args.should == ["args"]
end
it "does not require a name" do
NoMethodError.new("msg").message.should == "msg"
end
+
+ ruby_version_is "2.6" do
+ it "accepts a :receiver keyword argument" do
+ receiver = mock("receiver")
+
+ error = NoMethodError.new("msg", :name, receiver: receiver)
+
+ error.receiver.should == receiver
+ error.name.should == :name
+ end
+ end
end
describe "NoMethodError#args" do
diff --git a/spec/ruby/core/file/open_spec.rb b/spec/ruby/core/file/open_spec.rb
index c6a0b68233..c37e7316ba 100644
--- a/spec/ruby/core/file/open_spec.rb
+++ b/spec/ruby/core/file/open_spec.rb
@@ -638,6 +638,33 @@ describe "File.open" do
end
end
+ ruby_version_is "2.6" do
+ context "'x' flag" do
+ before :each do
+ @xfile = tmp("x-flag")
+ rm_r @xfile
+ end
+
+ after :each do
+ rm_r @xfile
+ end
+
+ it "does nothing if the file doesn't exist" do
+ File.open(@xfile, "wx") { |f| f.write("content") }
+ File.read(@xfile).should == "content"
+ end
+
+ it "throws a Errno::EEXIST error if the file exists" do
+ touch @xfile
+ lambda { File.open(@xfile, "wx") }.should raise_error(Errno::EEXIST)
+ end
+
+ it "can't be used with 'r' and 'a' flags" do
+ lambda { File.open(@xfile, "rx") }.should raise_error(ArgumentError, 'invalid access mode rx')
+ lambda { File.open(@xfile, "ax") }.should raise_error(ArgumentError, 'invalid access mode ax')
+ end
+ end
+ end
end
describe "File.open when passed a file descriptor" do
diff --git a/spec/ruby/core/hash/merge_spec.rb b/spec/ruby/core/hash/merge_spec.rb
index 3af1ea6d4f..5ea70610be 100644
--- a/spec/ruby/core/hash/merge_spec.rb
+++ b/spec/ruby/core/hash/merge_spec.rb
@@ -63,6 +63,17 @@ describe "Hash#merge" do
merge_pairs.should == each_pairs
end
+ ruby_version_is "2.6" do
+ it "accepts multiple hashes" do
+ result = { a: 1 }.merge({ b: 2 }, { c: 3 }, { d: 4 })
+ result.should == { a: 1, b: 2, c: 3, d: 4 }
+ end
+
+ it "accepts zero arguments and returns self" do
+ hash = { a: 1 }
+ hash.merge.should eql(hash)
+ end
+ end
end
describe "Hash#merge!" do
diff --git a/spec/ruby/core/hash/shared/update.rb b/spec/ruby/core/hash/shared/update.rb
index be03ac019e..250c5ab440 100644
--- a/spec/ruby/core/hash/shared/update.rb
+++ b/spec/ruby/core/hash/shared/update.rb
@@ -56,4 +56,16 @@ describe :hash_update, shared: true do
HashSpecs.frozen_hash.send(@method, HashSpecs.empty_frozen_hash)
end.should raise_error(frozen_error_class)
end
+
+ ruby_version_is "2.6" do
+ it "accepts multiple hashes" do
+ result = { a: 1 }.send(@method, { b: 2 }, { c: 3 }, { d: 4 })
+ result.should == { a: 1, b: 2, c: 3, d: 4 }
+ end
+
+ it "accepts zero arguments" do
+ hash = { a: 1 }
+ hash.send(@method).should eql(hash)
+ end
+ end
end
diff --git a/spec/ruby/core/hash/to_h_spec.rb b/spec/ruby/core/hash/to_h_spec.rb
index 40bd0d06d2..d6eaac9f33 100644
--- a/spec/ruby/core/hash/to_h_spec.rb
+++ b/spec/ruby/core/hash/to_h_spec.rb
@@ -7,12 +7,6 @@ describe "Hash#to_h" do
h.to_h.should equal(h)
end
- ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- {a: 1, b: 2}.to_h {|k, v| [k.to_s, v*v]}.should == { "a" => 1, "b" => 4 }
- end
- end
-
describe "when called on a subclass of Hash" do
before :each do
@h = HashSpecs::MyHash.new
@@ -37,4 +31,44 @@ describe "Hash#to_h" do
@h[42].should == 84
end
end
+
+ ruby_version_is "2.6" do
+ context "with block" do
+ it "converts [key, value] pairs returned by the block to a hash" do
+ { a: 1, b: 2 }.to_h { |k, v| [k.to_s, v*v]}.should == { "a" => 1, "b" => 4 }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ { a: 1, b: 2 }.to_h { |k, v| [k.to_s, v*v, 1] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+
+ -> do
+ { a: 1, b: 2 }.to_h { |k, v| [k] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ { a: 1, b: 2 }.to_h { |k, v| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ { a: 1 }.to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ { a: 1 }.to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject/)
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/io/ungetbyte_spec.rb b/spec/ruby/core/io/ungetbyte_spec.rb
index 2e51fb0298..f5f9a11be1 100644
--- a/spec/ruby/core/io/ungetbyte_spec.rb
+++ b/spec/ruby/core/io/ungetbyte_spec.rb
@@ -49,7 +49,7 @@ describe "IO#ungetbyte" do
end
end
- ruby_version_is '2.6'...'2.7' do
+ ruby_version_is '2.6'...'2.6.1' do
it "is an RangeError if the integer is not in 8bit" do
for i in [4095, 0x4f7574206f6620636861722072616e6765] do
lambda { @io.ungetbyte(i) }.should raise_error(RangeError)
@@ -57,10 +57,11 @@ describe "IO#ungetbyte" do
end
end
- ruby_version_is '2.7' do
+ ruby_version_is '2.6.1' do
it "never raises RangeError" do
- for i in [4095, 0x4f7574206f6620636861722072616e6765] do
- lambda { @io.ungetbyte(i) }.should_not raise_error
+ for i in [4095, 0x4f7574206f6620636861722072616e67ff] do
+ @io.ungetbyte(i).should be_nil
+ @io.getbyte.should == 255
end
end
end
diff --git a/spec/ruby/core/kernel/Complex_spec.rb b/spec/ruby/core/kernel/Complex_spec.rb
index 44e4f44ada..e5435a56e6 100644
--- a/spec/ruby/core/kernel/Complex_spec.rb
+++ b/spec/ruby/core/kernel/Complex_spec.rb
@@ -138,4 +138,52 @@ describe "Kernel.Complex()" do
lambda { Complex(nil, 0) }.should raise_error(TypeError, "can't convert nil into Complex")
end
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and [Numeric]" do
+ it "returns a complex number" do
+ Complex("123", exception: false).should == Complex(123)
+ end
+ end
+
+ describe "and [non-Numeric]" do
+ it "swallows an error" do
+ Complex(:sym, exception: false).should == nil
+ end
+ end
+
+ describe "and [non-Numeric, Numeric] argument" do
+ it "throws a TypeError" do
+ lambda { Complex(:sym, 0, exception: false) }.should raise_error(TypeError, "not a real")
+ end
+ end
+
+ describe "and [anything, non-Numeric] argument" do
+ it "swallows an error" do
+ Complex("a", :sym, exception: false).should == nil
+ Complex(:sym, :sym, exception: false).should == nil
+ Complex(0, :sym, exception: false).should == nil
+ end
+ end
+
+ describe "and non-numeric String arguments" do
+ it "swallows an error" do
+ Complex("a", "b", exception: false).should == nil
+ Complex("a", 0, exception: false).should == nil
+ Complex(0, "b", exception: false).should == nil
+ end
+ end
+
+ ruby_bug "#15525", "2.6"..."2.6.1" do
+ describe "and nil arguments" do
+ it "swallows an error" do
+ Complex(nil, exception: false).should == nil
+ Complex(0, nil, exception: false).should == nil
+ Complex(nil, 0, exception: false).should == nil
+ end
+ end
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/kernel/Float_spec.rb b/spec/ruby/core/kernel/Float_spec.rb
index 47d7d0816f..43daefa6aa 100644
--- a/spec/ruby/core/kernel/Float_spec.rb
+++ b/spec/ruby/core/kernel/Float_spec.rb
@@ -299,6 +299,31 @@ describe :kernel_float, shared: true do
c = Complex(2, 3)
lambda { @object.send(:Float, c) }.should raise_error(RangeError)
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and valid input" do
+ it "returns a Float number" do
+ @object.send(:Float, 1, exception: false).should == 1.0
+ @object.send(:Float, "1", exception: false).should == 1.0
+ @object.send(:Float, "1.23", exception: false).should == 1.23
+ end
+ end
+
+ describe "and invalid input" do
+ it "swallows an error" do
+ @object.send(:Float, "abc", exception: false).should == nil
+ @object.send(:Float, :sym, exception: false).should == nil
+ end
+ end
+
+ describe "and nil" do
+ it "swallows it" do
+ @object.send(:Float, nil, exception: false).should == nil
+ end
+ end
+ end
+ end
end
describe "Kernel.Float" do
diff --git a/spec/ruby/core/kernel/Integer_spec.rb b/spec/ruby/core/kernel/Integer_spec.rb
index b79c827d31..72e33fc737 100644
--- a/spec/ruby/core/kernel/Integer_spec.rb
+++ b/spec/ruby/core/kernel/Integer_spec.rb
@@ -99,6 +99,65 @@ describe :kernel_integer, shared: true do
it "raises a FloatDomainError when passed Infinity" do
lambda { Integer(infinity_value) }.should raise_error(FloatDomainError)
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and to_i returns a value that is not an Integer" do
+ it "swallows an error" do
+ obj = mock("object")
+ obj.should_receive(:to_i).and_return("1")
+ Integer(obj, exception: false).should == nil
+ end
+ end
+
+ describe "and no to_int or to_i methods exist" do
+ it "swallows an error" do
+ obj = mock("object")
+ Integer(obj, exception: false).should == nil
+ end
+ end
+
+ describe "and to_int returns nil and no to_i exists" do
+ it "swallows an error" do
+ obj = mock("object")
+ obj.should_receive(:to_i).and_return(nil)
+ Integer(obj, exception: false).should == nil
+ end
+ end
+
+ ruby_bug "#15525", "2.6"..."2.6.1" do
+ describe "and passed NaN" do
+ it "swallows an error" do
+ Integer(nan_value, exception: false).should == nil
+ end
+ end
+
+ describe "and passed Infinity" do
+ it "swallows an error" do
+ Integer(infinity_value, exception: false).should == nil
+ end
+ end
+ end
+
+ describe "and passed nil" do
+ it "swallows an error" do
+ Integer(nil, exception: false).should == nil
+ end
+ end
+
+ describe "and passed a String that contains numbers" do
+ it "normally parses it and returns an Integer" do
+ Integer("42", exception: false).should == 42
+ end
+ end
+
+ describe "and passed a String that can't be converted to an Integer" do
+ it "swallows an error" do
+ Integer("abc", exception: false).should == nil
+ end
+ end
+ end
+ end
end
describe "Integer() given a String", shared: true do
@@ -189,6 +248,34 @@ describe "Integer() given a String", shared: true do
lambda { Integer("") }.should raise_error(ArgumentError)
end
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and multiple leading -s" do
+ it "swallows an error" do
+ Integer("---1", exception: false).should == nil
+ end
+ end
+
+ describe "and multiple trailing -s" do
+ it "swallows an error" do
+ Integer("1---", exception: false).should == nil
+ end
+ end
+
+ describe "and an argument that contains a period" do
+ it "swallows an error" do
+ Integer("0.0", exception: false).should == nil
+ end
+ end
+
+ describe "and an empty string" do
+ it "swallows an error" do
+ Integer("", exception: false).should == nil
+ end
+ end
+ end
+ end
+
it "parses the value as 0 if the string consists of a single zero character" do
Integer("0").should == 0
end
@@ -508,6 +595,24 @@ describe "Integer() given a String and base", shared: true do
lambda { Integer(98, 15) }.should raise_error(ArgumentError)
end
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and valid argument" do
+ it "returns an Integer number" do
+ Integer("100", 10, exception: false).should == 100
+ Integer("100", 2, exception: false).should == 4
+ end
+ end
+
+ describe "and invalid argument" do
+ it "swallows an error" do
+ Integer("999", 2, exception: false).should == nil
+ Integer("abc", 10, exception: false).should == nil
+ end
+ end
+ end
+ end
end
describe :kernel_Integer, shared: true do
diff --git a/spec/ruby/core/kernel/match_spec.rb b/spec/ruby/core/kernel/match_spec.rb
index d5808b6ede..6dc1eb7de8 100644
--- a/spec/ruby/core/kernel/match_spec.rb
+++ b/spec/ruby/core/kernel/match_spec.rb
@@ -13,4 +13,12 @@ describe "Kernel#=~" do
(o =~ true).should be_nil
end
end
+
+ ruby_version_is "2.6" do
+ it "is deprecated" do
+ -> do
+ Object.new =~ /regexp/
+ end.should complain(/deprecated Object#=~ is called on Object/, verbose: true)
+ end
+ end
end
diff --git a/spec/ruby/core/kernel/shared/load.rb b/spec/ruby/core/kernel/shared/load.rb
index 0ce7d58d2c..b479b29399 100644
--- a/spec/ruby/core/kernel/shared/load.rb
+++ b/spec/ruby/core/kernel/shared/load.rb
@@ -30,9 +30,8 @@ describe :kernel_load, shared: true do
it "loads a file that recursively requires itself" do
path = File.expand_path "recursive_require_fixture.rb", CODE_LOADING_DIR
-> {
- $VERBOSE = true
@object.load(path).should be_true
- }.should complain(/circular require considered harmful/)
+ }.should complain(/circular require considered harmful/, verbose: true)
ScratchPad.recorded.should == [:loaded, :loaded]
end
diff --git a/spec/ruby/core/kernel/shared/require.rb b/spec/ruby/core/kernel/shared/require.rb
index a81a68088a..b502476bc3 100644
--- a/spec/ruby/core/kernel/shared/require.rb
+++ b/spec/ruby/core/kernel/shared/require.rb
@@ -225,9 +225,8 @@ describe :kernel_require, shared: true do
it "loads a file that recursively requires itself" do
path = File.expand_path "recursive_require_fixture.rb", CODE_LOADING_DIR
-> {
- $VERBOSE = true
@object.require(path).should be_true
- }.should complain(/circular require considered harmful/)
+ }.should complain(/circular require considered harmful/, verbose: true)
ScratchPad.recorded.should == [:loaded]
end
end
diff --git a/spec/ruby/core/method/compose_spec.rb b/spec/ruby/core/method/compose_spec.rb
new file mode 100644
index 0000000000..aa0aded775
--- /dev/null
+++ b/spec/ruby/core/method/compose_spec.rb
@@ -0,0 +1,101 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/classes'
+require_relative '../proc/shared/compose'
+
+ruby_version_is "2.6" do
+ describe "Method#<<" do
+ it "returns a Proc that is the composition of self and the passed Proc" do
+ succ = MethodSpecs::Composition.new.method(:succ)
+ upcase = proc { |s| s.upcase }
+
+ (succ << upcase).call('Ruby').should == "RUBZ"
+ end
+
+ it "calls passed Proc with arguments and then calls self with result" do
+ pow_2_proc = proc { |x| x * x }
+ double_proc = proc { |x| x + x }
+
+ pow_2_method = MethodSpecs::Composition.new.method(:pow_2)
+ double_method = MethodSpecs::Composition.new.method(:double)
+
+ (pow_2_method << double_proc).call(2).should == 16
+ (double_method << pow_2_proc).call(2).should == 8
+ end
+
+ it "accepts any callable object" do
+ inc = MethodSpecs::Composition.new.method(:inc)
+
+ double = Object.new
+ def double.call(n); n * 2; end
+
+ (inc << double).call(3).should == 7
+ end
+
+ it_behaves_like :proc_compose, :<<, -> { MethodSpecs::Composition.new.method(:upcase) }
+
+ describe "composition" do
+ it "is a lambda" do
+ pow_2 = MethodSpecs::Composition.new.method(:pow_2)
+ double = proc { |x| x + x }
+
+ (pow_2 << double).is_a?(Proc).should == true
+ (pow_2 << double).lambda?.should == true
+ end
+
+ it "may accept multiple arguments" do
+ inc = MethodSpecs::Composition.new.method(:inc)
+ mul = proc { |n, m| n * m }
+
+ (inc << mul).call(2, 3).should == 7
+ end
+ end
+ end
+
+ describe "Method#>>" do
+ it "returns a Proc that is the composition of self and the passed Proc" do
+ upcase = proc { |s| s.upcase }
+ succ = MethodSpecs::Composition.new.method(:succ)
+
+ (succ >> upcase).call('Ruby').should == "RUBZ"
+ end
+
+ it "calls passed Proc with arguments and then calls self with result" do
+ pow_2_proc = proc { |x| x * x }
+ double_proc = proc { |x| x + x }
+
+ pow_2_method = MethodSpecs::Composition.new.method(:pow_2)
+ double_method = MethodSpecs::Composition.new.method(:double)
+
+ (pow_2_method >> double_proc).call(2).should == 8
+ (double_method >> pow_2_proc).call(2).should == 16
+ end
+
+ it "accepts any callable object" do
+ inc = MethodSpecs::Composition.new.method(:inc)
+
+ double = Object.new
+ def double.call(n); n * 2; end
+
+ (inc >> double).call(3).should == 8
+ end
+
+ it_behaves_like :proc_compose, :>>, -> { MethodSpecs::Composition.new.method(:upcase) }
+
+ describe "composition" do
+ it "is a lambda" do
+ pow_2 = MethodSpecs::Composition.new.method(:pow_2)
+ double = proc { |x| x + x }
+
+ (pow_2 >> double).is_a?(Proc).should == true
+ (pow_2 >> double).lambda?.should == true
+ end
+
+ it "may accept multiple arguments" do
+ mul = MethodSpecs::Composition.new.method(:mul)
+ inc = proc { |n| n + 1 }
+
+ (mul >> inc).call(2, 3).should == 7
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/method/fixtures/classes.rb b/spec/ruby/core/method/fixtures/classes.rb
index 142cbd1bec..315672c6e0 100644
--- a/spec/ruby/core/method/fixtures/classes.rb
+++ b/spec/ruby/core/method/fixtures/classes.rb
@@ -181,4 +181,29 @@ module MethodSpecs
end
end
+ class Composition
+ def upcase(s)
+ s.upcase
+ end
+
+ def succ(s)
+ s.succ
+ end
+
+ def pow_2(n)
+ n * n
+ end
+
+ def double(n)
+ n + n
+ end
+
+ def inc(n)
+ n + 1
+ end
+
+ def mul(n, m)
+ n * m
+ end
+ end
end
diff --git a/spec/ruby/core/module/attr_spec.rb b/spec/ruby/core/module/attr_spec.rb
index 87bf8ea57f..b114b06b6e 100644
--- a/spec/ruby/core/module/attr_spec.rb
+++ b/spec/ruby/core/module/attr_spec.rb
@@ -138,9 +138,8 @@ describe "Module#attr" do
it "with a boolean argument emits a warning when $VERBOSE is true" do
lambda {
- $VERBOSE = true
Class.new { attr :foo, true }
- }.should complain(/boolean argument is obsoleted/)
+ }.should complain(/boolean argument is obsoleted/, verbose: true)
end
ruby_version_is ''...'2.5' do
diff --git a/spec/ruby/core/module/autoload_spec.rb b/spec/ruby/core/module/autoload_spec.rb
index d6af169cff..b028dbc56c 100644
--- a/spec/ruby/core/module/autoload_spec.rb
+++ b/spec/ruby/core/module/autoload_spec.rb
@@ -582,9 +582,8 @@ describe "Module#autoload" do
end
-> {
- $VERBOSE = true
Kernel.require fixture(__FILE__, "autoload_during_require.rb")
- }.should_not complain
+ }.should_not complain(verbose: true)
ModuleSpecs::Autoload::AutoloadDuringRequire.should be_kind_of(Class)
end
diff --git a/spec/ruby/core/module/method_defined_spec.rb b/spec/ruby/core/module/method_defined_spec.rb
index 62e0db8ee6..f5203917b4 100644
--- a/spec/ruby/core/module/method_defined_spec.rb
+++ b/spec/ruby/core/module/method_defined_spec.rb
@@ -46,4 +46,55 @@ describe "Module#method_defined?" do
c.method_defined?(o).should == true
end
+
+ ruby_version_is "2.6" do
+ # works as method_defined?(method_name)
+ describe "when passed true as a second optional argument" do
+ it "performs a lookup in ancestors" do
+ ModuleSpecs::Child.method_defined?(:public_child, true).should == true
+ ModuleSpecs::Child.method_defined?(:protected_child, true).should == true
+ ModuleSpecs::Child.method_defined?(:accessor_method, true).should == true
+ ModuleSpecs::Child.method_defined?(:private_child, true).should == false
+
+ # Defined in Parent
+ ModuleSpecs::Child.method_defined?(:public_parent, true).should == true
+ ModuleSpecs::Child.method_defined?(:protected_parent, true).should == true
+ ModuleSpecs::Child.method_defined?(:private_parent, true).should == false
+
+ # Defined in Module
+ ModuleSpecs::Child.method_defined?(:public_module, true).should == true
+ ModuleSpecs::Child.method_defined?(:protected_module, true).should == true
+ ModuleSpecs::Child.method_defined?(:private_module, true).should == false
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.method_defined?(:public_super_module, true).should == true
+ ModuleSpecs::Child.method_defined?(:protected_super_module, true).should == true
+ ModuleSpecs::Child.method_defined?(:private_super_module, true).should == false
+ end
+ end
+
+ describe "when passed false as a second optional argument" do
+ it "checks only the class itself" do
+ ModuleSpecs::Child.method_defined?(:public_child, false).should == true
+ ModuleSpecs::Child.method_defined?(:protected_child, false).should == true
+ ModuleSpecs::Child.method_defined?(:accessor_method, false).should == true
+ ModuleSpecs::Child.method_defined?(:private_child, false).should == false
+
+ # Defined in Parent
+ ModuleSpecs::Child.method_defined?(:public_parent, false).should == false
+ ModuleSpecs::Child.method_defined?(:protected_parent, false).should == false
+ ModuleSpecs::Child.method_defined?(:private_parent, false).should == false
+
+ # Defined in Module
+ ModuleSpecs::Child.method_defined?(:public_module, false).should == false
+ ModuleSpecs::Child.method_defined?(:protected_module, false).should == false
+ ModuleSpecs::Child.method_defined?(:private_module, false).should == false
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.method_defined?(:public_super_module, false).should == false
+ ModuleSpecs::Child.method_defined?(:protected_super_module, false).should == false
+ ModuleSpecs::Child.method_defined?(:private_super_module, false).should == false
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/module/private_method_defined_spec.rb b/spec/ruby/core/module/private_method_defined_spec.rb
index e00a8c8a9b..a3cf55852e 100644
--- a/spec/ruby/core/module/private_method_defined_spec.rb
+++ b/spec/ruby/core/module/private_method_defined_spec.rb
@@ -69,4 +69,54 @@ describe "Module#private_method_defined?" do
def str.to_str() 'private_3' end
ModuleSpecs::CountsMixin.private_method_defined?(str).should == true
end
+
+ ruby_version_is "2.6" do
+ describe "when passed true as a second optional argument" do
+ it "performs a lookup in ancestors" do
+ ModuleSpecs::Child.private_method_defined?(:public_child, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_child, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:accessor_method, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_child, true).should == true
+
+ # Defined in Parent
+ ModuleSpecs::Child.private_method_defined?(:public_parent, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_parent, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_parent, true).should == true
+
+ # Defined in Module
+ ModuleSpecs::Child.private_method_defined?(:public_module, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_module, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_module, true).should == true
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.private_method_defined?(:public_super_module, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_super_module, true).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_super_module, true).should == true
+ end
+ end
+
+ describe "when passed false as a second optional argument" do
+ it "checks only the class itself" do
+ ModuleSpecs::Child.private_method_defined?(:public_child, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_child, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:accessor_method, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_child, false).should == true
+
+ # Defined in Parent
+ ModuleSpecs::Child.private_method_defined?(:public_parent, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_parent, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_parent, false).should == false
+
+ # Defined in Module
+ ModuleSpecs::Child.private_method_defined?(:public_module, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_module, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_module, false).should == false
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.private_method_defined?(:public_super_module, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:protected_super_module, false).should == false
+ ModuleSpecs::Child.private_method_defined?(:private_super_module, false).should == false
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/module/protected_method_defined_spec.rb b/spec/ruby/core/module/protected_method_defined_spec.rb
index 8492a497d3..75e02e0433 100644
--- a/spec/ruby/core/module/protected_method_defined_spec.rb
+++ b/spec/ruby/core/module/protected_method_defined_spec.rb
@@ -69,4 +69,54 @@ describe "Module#protected_method_defined?" do
str.should_receive(:to_str).and_return("protected_3")
ModuleSpecs::CountsMixin.protected_method_defined?(str).should == true
end
+
+ ruby_version_is "2.6" do
+ describe "when passed true as a second optional argument" do
+ it "performs a lookup in ancestors" do
+ ModuleSpecs::Child.protected_method_defined?(:public_child, true).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_child, true).should == true
+ ModuleSpecs::Child.protected_method_defined?(:accessor_method, true).should == false
+ ModuleSpecs::Child.protected_method_defined?(:private_child, true).should == false
+
+ # Defined in Parent
+ ModuleSpecs::Child.protected_method_defined?(:public_parent, true).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_parent, true).should == true
+ ModuleSpecs::Child.protected_method_defined?(:private_parent, true).should == false
+
+ # Defined in Module
+ ModuleSpecs::Child.protected_method_defined?(:public_module, true).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_module, true).should == true
+ ModuleSpecs::Child.protected_method_defined?(:private_module, true).should == false
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.protected_method_defined?(:public_super_module, true).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_super_module, true).should == true
+ ModuleSpecs::Child.protected_method_defined?(:private_super_module, true).should == false
+ end
+ end
+
+ describe "when passed false as a second optional argument" do
+ it "checks only the class itself" do
+ ModuleSpecs::Child.protected_method_defined?(:public_child, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_child, false).should == true
+ ModuleSpecs::Child.protected_method_defined?(:accessor_method, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:private_child, false).should == false
+
+ # Defined in Parent
+ ModuleSpecs::Child.protected_method_defined?(:public_parent, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_parent, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:private_parent, false).should == false
+
+ # Defined in Module
+ ModuleSpecs::Child.protected_method_defined?(:public_module, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_module, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:private_module, false).should == false
+
+ # Defined in SuperModule
+ ModuleSpecs::Child.protected_method_defined?(:public_super_module, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:protected_super_module, false).should == false
+ ModuleSpecs::Child.protected_method_defined?(:private_super_module, false).should == false
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/module/refine_spec.rb b/spec/ruby/core/module/refine_spec.rb
index 97ea0a706d..662d49205d 100644
--- a/spec/ruby/core/module/refine_spec.rb
+++ b/spec/ruby/core/module/refine_spec.rb
@@ -425,6 +425,24 @@ describe "Module#refine" do
end
end
+ ruby_version_is "" ... "2.6" do
+ it "is not honored by Kernel#public_send" do
+ refinement = Module.new do
+ refine ModuleSpecs::ClassWithFoo do
+ def foo; "foo from refinement"; end
+ end
+ end
+
+ result = nil
+ Module.new do
+ using refinement
+ result = ModuleSpecs::ClassWithFoo.new.public_send :foo
+ end
+
+ result.should == "foo"
+ end
+ end
+
ruby_version_is "2.6" do
it "is honored by Kernel#public_send" do
refinement = Module.new do
@@ -561,6 +579,45 @@ describe "Module#refine" do
result.should == true
end
end
+
+ ruby_version_is ""..."2.6" do
+ it "is not honored by &" do
+ refinement = Module.new do
+ refine String do
+ def to_proc(*args)
+ -> (*) { 'foo' }
+ end
+ end
+ end
+
+ -> do
+ Module.new do
+ using refinement
+ ["hola"].map(&"upcase")
+ end
+ end.should raise_error(TypeError, /wrong argument type String \(expected Proc\)/)
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it "is honored by &" do
+ refinement = Module.new do
+ refine String do
+ def to_proc(*args)
+ -> (*) { 'foo' }
+ end
+ end
+ end
+
+ result = nil
+ Module.new do
+ using refinement
+ result = ["hola"].map(&"upcase")
+ end
+
+ result.should == ['foo']
+ end
+ end
end
context "when super is called in a refinement" do
diff --git a/spec/ruby/core/nil/match_spec.rb b/spec/ruby/core/nil/match_spec.rb
new file mode 100644
index 0000000000..3f69312bfe
--- /dev/null
+++ b/spec/ruby/core/nil/match_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "NilClass#=~" do
+ it "returns nil matching any object" do
+ o = Object.new
+
+ suppress_warning do
+ (o =~ /Object/).should be_nil
+ (o =~ 'Object').should be_nil
+ (o =~ Object).should be_nil
+ (o =~ Object.new).should be_nil
+ (o =~ nil).should be_nil
+ (o =~ false).should be_nil
+ (o =~ true).should be_nil
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/numeric/step_spec.rb b/spec/ruby/core/numeric/step_spec.rb
index 1eb91aa1e5..96439927a4 100644
--- a/spec/ruby/core/numeric/step_spec.rb
+++ b/spec/ruby/core/numeric/step_spec.rb
@@ -61,6 +61,20 @@ describe "Numeric#step" do
end
end
end
+
+ describe "type" do
+ ruby_version_is ""..."2.6" do
+ it "returns an instance of Enumerator" do
+ 1.step(10).class.should == Enumerator
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it "returns an instance of Enumerator::ArithmeticSequence" do
+ 1.step(10).class.should == Enumerator::ArithmeticSequence
+ end
+ end
+ end
end
end
diff --git a/spec/ruby/core/proc/compose_spec.rb b/spec/ruby/core/proc/compose_spec.rb
new file mode 100644
index 0000000000..f1befe658b
--- /dev/null
+++ b/spec/ruby/core/proc/compose_spec.rb
@@ -0,0 +1,94 @@
+require_relative '../../spec_helper'
+require_relative 'shared/compose'
+
+ruby_version_is "2.6" do
+ describe "Proc#<<" do
+ it "returns a Proc that is the composition of self and the passed Proc" do
+ upcase = proc { |s| s.upcase }
+ succ = proc { |s| s.succ }
+
+ (succ << upcase).call('Ruby').should == "RUBZ"
+ end
+
+ it "calls passed Proc with arguments and then calls self with result" do
+ f = proc { |x| x * x }
+ g = proc { |x| x + x }
+
+ (f << g).call(2).should == 16
+ (g << f).call(2).should == 8
+ end
+
+ it "accepts any callable object" do
+ inc = proc { |n| n + 1 }
+
+ double = Object.new
+ def double.call(n); n * 2; end
+
+ (inc << double).call(3).should == 7
+ end
+
+ it_behaves_like :proc_compose, :<<, -> { proc { |s| s.upcase } }
+
+ describe "composition" do
+ it "is a Proc" do
+ f = proc { |x| x * x }
+ g = proc { |x| x + x }
+
+ (f << g).is_a?(Proc).should == true
+ (f << g).lambda?.should == false
+ end
+
+ it "may accept multiple arguments" do
+ inc = proc { |n| n + 1 }
+ mul = proc { |n, m| n * m }
+
+ (inc << mul).call(2, 3).should == 7
+ end
+ end
+ end
+
+ describe "Proc#>>" do
+ it "returns a Proc that is the composition of self and the passed Proc" do
+ upcase = proc { |s| s.upcase }
+ succ = proc { |s| s.succ }
+
+ (succ >> upcase).call('Ruby').should == "RUBZ"
+ end
+
+ it "calls passed Proc with arguments and then calls self with result" do
+ f = proc { |x| x * x }
+ g = proc { |x| x + x }
+
+ (f >> g).call(2).should == 8
+ (g >> f).call(2).should == 16
+ end
+
+ it "accepts any callable object" do
+ inc = proc { |n| n + 1 }
+
+ double = Object.new
+ def double.call(n); n * 2; end
+
+ (inc >> double).call(3).should == 8
+ end
+
+ it_behaves_like :proc_compose, :>>, -> { proc { |s| s.upcase } }
+
+ describe "composition" do
+ it "is a Proc" do
+ f = proc { |x| x * x }
+ g = proc { |x| x + x }
+
+ (f >> g).is_a?(Proc).should == true
+ (f >> g).lambda?.should == false
+ end
+
+ it "may accept multiple arguments" do
+ inc = proc { |n| n + 1 }
+ mul = proc { |n, m| n * m }
+
+ (mul >> inc).call(2, 3).should == 7
+ end
+ end
+ end
+end
diff --git a/spec/ruby/core/proc/shared/compose.rb b/spec/ruby/core/proc/shared/compose.rb
new file mode 100644
index 0000000000..64338cada8
--- /dev/null
+++ b/spec/ruby/core/proc/shared/compose.rb
@@ -0,0 +1,47 @@
+describe :proc_compose, shared: true do
+ ruby_version_is "2.6"..."2.7" do
+ it "raises NoMethodError when called if passed not callable object" do
+ not_callable = Object.new
+ composed = @object.call.send(@method, not_callable)
+
+ -> {
+ composed.call('a')
+ }.should raise_error(NoMethodError, /undefined method `call' for/)
+
+ end
+
+ it "when called does not try to coerce argument with #to_proc" do
+ succ = Object.new
+ def succ.to_proc(s); s.succ; end
+
+ composed = @object.call.send(@method, succ)
+
+ -> {
+ composed.call('a')
+ }.should raise_error(NoMethodError, /undefined method `call' for/)
+ end
+ end
+
+ ruby_version_is "2.7" do # https://bugs.ruby-lang.org/issues/15428
+ it "raises TypeError if passed not callable object" do
+ lhs = @object.call
+ not_callable = Object.new
+
+ -> {
+ lhs.send(@method, not_callable)
+ }.should raise_error(TypeError, "callable object is expected")
+
+ end
+
+ it "does not try to coerce argument with #to_proc" do
+ lhs = @object.call
+
+ succ = Object.new
+ def succ.to_proc(s); s.succ; end
+
+ -> {
+ lhs.send(@method, succ)
+ }.should raise_error(TypeError, "callable object is expected")
+ end
+ end
+end
diff --git a/spec/ruby/core/process/fixtures/in.txt b/spec/ruby/core/process/fixtures/in.txt
new file mode 100644
index 0000000000..cf52303bdc
--- /dev/null
+++ b/spec/ruby/core/process/fixtures/in.txt
@@ -0,0 +1 @@
+stdin
diff --git a/spec/ruby/core/process/spawn_spec.rb b/spec/ruby/core/process/spawn_spec.rb
index 951941888b..bb55fe299b 100644
--- a/spec/ruby/core/process/spawn_spec.rb
+++ b/spec/ruby/core/process/spawn_spec.rb
@@ -8,10 +8,10 @@ end
describe :process_spawn_does_not_close_std_streams, shared: true do
it "does not close STDIN" do
- code = "STDOUT.puts STDIN.read(0).inspect"
+ code = "puts STDIN.read"
cmd = "Process.wait Process.spawn(#{ruby_cmd(code).inspect}, #{@options.inspect})"
- ruby_exe(cmd, args: "> #{@name}")
- File.binread(@name).should == %[""#{newline}]
+ ruby_exe(cmd, args: "< #{fixture(__FILE__, "in.txt")} > #{@name}")
+ File.binread(@name).should == %[stdin#{newline}]
end
it "does not close STDOUT" do
@@ -530,7 +530,35 @@ describe "Process.spawn" do
File.read(@name).should == "glarkbang"
end
+ # :close_others
+
platform_is_not :windows do
+ context "defaults :close_others to" do
+ ruby_version_is ""..."2.6" do
+ it "true" do
+ IO.pipe do |r, w|
+ w.close_on_exec = false
+ code = "begin; IO.new(#{w.fileno}).close; rescue Errno::EBADF; puts 'not inherited'; end"
+ Process.wait Process.spawn(ruby_cmd(code), :out => @name)
+ File.read(@name).should == "not inherited\n"
+ end
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it "false" do
+ IO.pipe do |r, w|
+ w.close_on_exec = false
+ code = "io = IO.new(#{w.fileno}); io.puts('inherited'); io.close"
+ pid = Process.spawn(ruby_cmd(code))
+ w.close
+ Process.wait(pid)
+ r.read.should == "inherited\n"
+ end
+ end
+ end
+ end
+
context "when passed close_others: true" do
before :each do
@options = { close_others: true }
diff --git a/spec/ruby/core/range/case_compare_spec.rb b/spec/ruby/core/range/case_compare_spec.rb
index 9a33c5b73b..37d8cc4677 100644
--- a/spec/ruby/core/range/case_compare_spec.rb
+++ b/spec/ruby/core/range/case_compare_spec.rb
@@ -9,12 +9,20 @@ describe "Range#===" do
range.should_receive(:include?).with(2).and_return(:true)
(range === 2).should == :true
end
+
+ it "requires #succ method to be implemented" do
+ range = RangeSpecs::WithoutSucc.new(0)..RangeSpecs::WithoutSucc.new(10)
+
+ lambda do
+ range === RangeSpecs::WithoutSucc.new(2)
+ end.should raise_error(TypeError, /can't iterate from/)
+ end
end
ruby_version_is "2.6" do
it "returns the result of calling #cover? on self" do
- range = RangeSpecs::Custom.new(0)..RangeSpecs::Custom.new(10)
- (range === RangeSpecs::Custom.new(2)).should == true
+ range = RangeSpecs::WithoutSucc.new(0)..RangeSpecs::WithoutSucc.new(10)
+ (range === RangeSpecs::WithoutSucc.new(2)).should == true
end
end
end
diff --git a/spec/ruby/core/range/fixtures/classes.rb b/spec/ruby/core/range/fixtures/classes.rb
index b62704ca39..3a1df010b2 100644
--- a/spec/ruby/core/range/fixtures/classes.rb
+++ b/spec/ruby/core/range/fixtures/classes.rb
@@ -40,6 +40,28 @@ module RangeSpecs
end
end
+ class WithoutSucc
+ include Comparable
+ attr_reader :n
+
+ def initialize(n)
+ @n = n
+ end
+
+ def eql?(other)
+ inspect.eql? other.inspect
+ end
+ alias :== :eql?
+
+ def inspect
+ "WithoutSucc(#{@n})"
+ end
+
+ def <=>(other)
+ @n <=> other.n
+ end
+ end
+
class Xs < Custom # represent a string of 'x's
def succ
Xs.new(@length + 1)
diff --git a/spec/ruby/core/range/new_spec.rb b/spec/ruby/core/range/new_spec.rb
index 26ea12867d..c110687163 100644
--- a/spec/ruby/core/range/new_spec.rb
+++ b/spec/ruby/core/range/new_spec.rb
@@ -42,4 +42,30 @@ describe "Range.new" do
-> { Range.new(a, b) }.should raise_error(RangeSpecs::ComparisonError)
end
end
+
+ describe "endless range" do
+ it "does not allow range without left boundary" do
+ -> { Range.new(nil, 1) }.should raise_error(ArgumentError, /bad value for range/)
+ end
+
+ ruby_version_is ""..."2.6" do
+ it "does not allow range without right boundary" do
+ -> { Range.new(1, nil) }.should raise_error(ArgumentError, /bad value for range/)
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it "allows endless right boundary" do
+ range = Range.new(1, nil)
+ range.end.should == nil
+ end
+
+ it "distinguishes ranges with included and excluded right boundary" do
+ range_exclude = Range.new(1, nil, true)
+ range_include = Range.new(1, nil, false)
+
+ range_exclude.should_not == range_include
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/range/percent_spec.rb b/spec/ruby/core/range/percent_spec.rb
new file mode 100644
index 0000000000..41badd4f72
--- /dev/null
+++ b/spec/ruby/core/range/percent_spec.rb
@@ -0,0 +1,18 @@
+require_relative '../../spec_helper'
+
+ruby_version_is "2.6" do
+ describe "Range#%" do
+ it "works as a Range#step" do
+ aseq = (1..10) % 2
+ aseq.class.should == Enumerator::ArithmeticSequence
+ aseq.begin.should == 1
+ aseq.end.should == 10
+ aseq.step.should == 2
+ aseq.to_a.should == [1, 3, 5, 7, 9]
+ end
+
+ it "produces an arithmetic sequence with a percent sign in #inspect" do
+ ((1..10) % 2).inspect.should == "((1..10).%(2))"
+ end
+ end
+end
diff --git a/spec/ruby/core/range/shared/cover.rb b/spec/ruby/core/range/shared/cover.rb
index b2de86531d..7d2367d712 100644
--- a/spec/ruby/core/range/shared/cover.rb
+++ b/spec/ruby/core/range/shared/cover.rb
@@ -90,4 +90,64 @@ describe :range_cover, shared: true do
end
end
end
+
+ ruby_version_is "2.6" do
+ context "range argument" do
+ it "accepts range argument" do
+ (0..10).send(@method, (3..7)).should be_true
+ (0..10).send(@method, (3..15)).should be_false
+ (0..10).send(@method, (-2..7)).should be_false
+
+ (1.1..7.9).send(@method, (2.5..6.5)).should be_true
+ (1.1..7.9).send(@method, (2.5..8.5)).should be_false
+ (1.1..7.9).send(@method, (0.5..6.5)).should be_false
+
+ ('c'..'i').send(@method, ('d'..'f')).should be_true
+ ('c'..'i').send(@method, ('d'..'z')).should be_false
+ ('c'..'i').send(@method, ('a'..'f')).should be_false
+
+ range_10_100 = RangeSpecs::TenfoldSucc.new(10)..RangeSpecs::TenfoldSucc.new(100)
+ range_20_90 = RangeSpecs::TenfoldSucc.new(20)..RangeSpecs::TenfoldSucc.new(90)
+ range_20_110 = RangeSpecs::TenfoldSucc.new(20)..RangeSpecs::TenfoldSucc.new(110)
+ range_0_90 = RangeSpecs::TenfoldSucc.new(0)..RangeSpecs::TenfoldSucc.new(90)
+
+ range_10_100.send(@method, range_20_90).should be_true
+ range_10_100.send(@method, range_20_110).should be_false
+ range_10_100.send(@method, range_0_90).should be_false
+ end
+
+ it "supports boundaries of different comparable types" do
+ (0..10).send(@method, (3.1..7.9)).should be_true
+ (0..10).send(@method, (3.1..15.9)).should be_false
+ (0..10).send(@method, (-2.1..7.9)).should be_false
+ end
+
+ it "returns false if types are not comparable" do
+ (0..10).send(@method, ('a'..'z')).should be_false
+ (0..10).send(@method, (RangeSpecs::TenfoldSucc.new(0)..RangeSpecs::TenfoldSucc.new(100))).should be_false
+ end
+
+ it "honors exclusion of right boundary (:exclude_end option)" do
+ # Integer
+ (0..10).send(@method, (0..10)).should be_true
+ (0...10).send(@method, (0...10)).should be_true
+
+ (0..10).send(@method, (0...10)).should be_true
+ (0...10).send(@method, (0..10)).should be_false
+
+ (0...11).send(@method, (0..10)).should be_true
+ (0..10).send(@method, (0...11)).should be_true
+
+ # Float
+ (0..10.1).send(@method, (0..10.1)).should be_true
+ (0...10.1).send(@method, (0...10.1)).should be_true
+
+ (0..10.1).send(@method, (0...10.1)).should be_true
+ (0...10.1).send(@method, (0..10.1)).should be_false
+
+ (0...11.1).send(@method, (0..10.1)).should be_true
+ (0..10.1).send(@method, (0...11.1)).should be_false
+ end
+ end
+ end
end
diff --git a/spec/ruby/core/range/step_spec.rb b/spec/ruby/core/range/step_spec.rb
index cdf66e4565..818207974a 100644
--- a/spec/ruby/core/range/step_spec.rb
+++ b/spec/ruby/core/range/step_spec.rb
@@ -1,21 +1,10 @@
require_relative '../../spec_helper'
describe "Range#step" do
- step_enum_class = Enumerator
- ruby_version_is "2.6" do
- step_enum_class = Enumerator::ArithmeticSequence
- end
-
before :each do
ScratchPad.record []
end
- it "returns an #{step_enum_class} when no block is given" do
- enum = (1..10).step(4)
- enum.should be_an_instance_of(step_enum_class)
- enum.to_a.should eql([1, 5, 9])
- end
-
it "returns self" do
r = 1..2
r.step { }.should equal(r)
@@ -268,7 +257,7 @@ describe "Range#step" do
end
describe "when no block is given" do
- describe "returned #{step_enum_class}" do
+ describe "returned Enumerator" do
describe "size" do
it "raises a TypeError if step does not respond to #to_int" do
obj = mock("Range#step non-integer")
@@ -363,6 +352,28 @@ describe "Range#step" do
enum.size.should == nil
end
end
+
+ describe "type" do
+ ruby_version_is ""..."2.6" do
+ it "returns an instance of Enumerator" do
+ (1..10).step.class.should == Enumerator
+ end
+ end
+
+ ruby_version_is "2.6" do
+ context "when both begin and end are numerics" do
+ it "returns an instance of Enumerator::ArithmeticSequence" do
+ (1..10).step.class.should == Enumerator::ArithmeticSequence
+ end
+ end
+
+ context "when begin and end are not numerics" do
+ it "returns an instance of Enumerator" do
+ ("a".."z").step.class.should == Enumerator
+ end
+ end
+ end
+ end
end
end
end
diff --git a/spec/ruby/core/string/split_spec.rb b/spec/ruby/core/string/split_spec.rb
index b89a28c149..b451921c66 100644
--- a/spec/ruby/core/string/split_spec.rb
+++ b/spec/ruby/core/string/split_spec.rb
@@ -411,5 +411,17 @@ describe "String#split with Regexp" do
returned_object.should == "chunky bacon"
a.should == ["Chunky", "Bacon"]
end
+
+ describe "for a String subclass" do
+ a = []
+ StringSpecs::MyString.new("a|b").split("|") { |str| a << str }
+ first, last = a
+
+ first.should be_an_instance_of(StringSpecs::MyString)
+ first.should == "a"
+
+ last.should be_an_instance_of(StringSpecs::MyString)
+ last.should == "b"
+ end
end
end
diff --git a/spec/ruby/core/struct/to_h_spec.rb b/spec/ruby/core/struct/to_h_spec.rb
index ddfbfbca61..b5f4e40701 100644
--- a/spec/ruby/core/struct/to_h_spec.rb
+++ b/spec/ruby/core/struct/to_h_spec.rb
@@ -14,10 +14,45 @@ describe "Struct#to_h" do
end
ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- car = StructClasses::Car.new('Ford', 'Ranger')
- h = car.to_h {|k, v| [k.to_s, "#{v}".downcase]}
- h.should == {"make" => "ford", "model" => "ranger", "year" => ""}
+ context "with block" do
+ it "converts [key, value] pairs returned by the block to a hash" do
+ car = StructClasses::Car.new('Ford', 'Ranger')
+
+ h = car.to_h { |k, v| [k.to_s, "#{v}".downcase] }
+ h.should == { "make" => "ford", "model" => "ranger", "year" => "" }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ StructClasses::Car.new.to_h { |k, v| [k.to_s, "#{v}".downcase, 1] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+
+ -> do
+ StructClasses::Car.new.to_h { |k, v| [k] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ StructClasses::Car.new.to_h { |k, v| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ StructClasses::Car.new.to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ StructClasses::Car.new.to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject/)
+ end
end
end
end
diff --git a/spec/ruby/core/tracepoint/eval_script_spec.rb b/spec/ruby/core/tracepoint/eval_script_spec.rb
new file mode 100644
index 0000000000..8a153156d1
--- /dev/null
+++ b/spec/ruby/core/tracepoint/eval_script_spec.rb
@@ -0,0 +1,22 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/classes'
+
+ruby_version_is "2.6" do
+ describe "#eval_script" do
+ ScratchPad.record []
+
+ script = <<-CODE
+ def foo
+ p :hello
+ end
+ CODE
+
+ TracePoint.new(:script_compiled) do |e|
+ ScratchPad << e.eval_script
+ end.enable do
+ eval script
+ end
+
+ ScratchPad.recorded.should == [script]
+ end
+end
diff --git a/spec/ruby/core/tracepoint/instruction_sequence_spec.rb b/spec/ruby/core/tracepoint/instruction_sequence_spec.rb
new file mode 100644
index 0000000000..50a9cd5722
--- /dev/null
+++ b/spec/ruby/core/tracepoint/instruction_sequence_spec.rb
@@ -0,0 +1,23 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/classes'
+
+ruby_version_is "2.6" do
+ describe "#instruction_sequence" do
+ ScratchPad.record []
+
+ script = <<-CODE
+ def foo
+ p :hello
+ end
+ CODE
+
+ TracePoint.new(:script_compiled) do |e|
+ ScratchPad << e.instruction_sequence
+ end.enable do
+ eval script
+ end
+
+ ScratchPad.recorded.size.should == 1
+ ScratchPad.recorded[0].class.should == RubyVM::InstructionSequence
+ end
+end
diff --git a/spec/ruby/language/constants_spec.rb b/spec/ruby/language/constants_spec.rb
index 5b111f4e81..354cc4b9a3 100644
--- a/spec/ruby/language/constants_spec.rb
+++ b/spec/ruby/language/constants_spec.rb
@@ -713,3 +713,35 @@ describe "Module#public_constant marked constants" do
end
end
end
+
+describe 'Allowed characters' do
+ it 'allows not ASCII characters in the middle of a name' do
+ mod = Module.new
+ mod.const_set("BBἍBB", 1)
+
+ eval("mod::BBἍBB").should == 1
+ end
+
+ it 'does not allow not ASCII characters that cannot be upcased or lowercased at the beginning' do
+ -> do
+ Module.new.const_set("થBB", 1)
+ end.should raise_error(NameError, /wrong constant name/)
+ end
+
+ ruby_version_is ""..."2.6" do
+ it 'does not allow not ASCII upcased characters at the beginning' do
+ -> do
+ Module.new.const_set("ἍBB", 1)
+ end.should raise_error(NameError, /wrong constant name/)
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it 'allows not ASCII upcased characters at the beginning' do
+ mod = Module.new
+ mod.const_set("ἍBB", 1)
+
+ eval("mod::ἍBB").should == 1
+ end
+ end
+end
diff --git a/spec/ruby/language/if_spec.rb b/spec/ruby/language/if_spec.rb
index fe207e77d5..bdb2d1e6ac 100644
--- a/spec/ruby/language/if_spec.rb
+++ b/spec/ruby/language/if_spec.rb
@@ -310,6 +310,18 @@ describe "The if expression" do
6.times(&b)
ScratchPad.recorded.should == [4, 5, 4, 5]
end
+
+ ruby_version_is "2.6" do
+ it 'is deprecated' do
+ i = 4
+
+ -> do
+ eval "ScratchPad << 'it works' if (i == 4)..(i == 7)"
+ end.should complain(/flip-flop is deprecated/)
+
+ ScratchPad.recorded.should == ['it works']
+ end
+ end
end
end
diff --git a/spec/ruby/language/range_spec.rb b/spec/ruby/language/range_spec.rb
new file mode 100644
index 0000000000..c720c5b98e
--- /dev/null
+++ b/spec/ruby/language/range_spec.rb
@@ -0,0 +1,19 @@
+require_relative '../spec_helper'
+require_relative 'fixtures/classes'
+
+describe "Literal Ranges" do
+ it "creates range object" do
+ (1..10).should == Range.new(1, 10)
+ end
+
+ it "creates range with excluded right boundary" do
+ (1...10).should == Range.new(1, 10, true)
+ end
+
+ ruby_version_is "2.6" do
+ it "creates endless ranges" do
+ eval("(1..)").should == Range.new(1, nil)
+ eval("(1...)").should == Range.new(1, nil, true)
+ end
+ end
+end
diff --git a/spec/ruby/language/safe_spec.rb b/spec/ruby/language/safe_spec.rb
index 305965c1a7..9b8350c892 100644
--- a/spec/ruby/language/safe_spec.rb
+++ b/spec/ruby/language/safe_spec.rb
@@ -41,20 +41,30 @@ describe "The $SAFE variable" do
ruby_version_is ""..."2.6" do
it "cannot be set to values below 0" do
- lambda {
- proc {
- $SAFE = -100
- }.call
- }.should raise_error(SecurityError, /tried to downgrade safe level from 0 to -100/)
+ lambda {
+ proc {
+ $SAFE = -100
+ }.call
+ }.should raise_error(SecurityError, /tried to downgrade safe level from 0 to -100/)
end
end
- it "cannot be set to values above 4" do
+ ruby_version_is "2.6" do
+ it "raises ArgumentError when set to values below 0" do
lambda {
proc {
- $SAFE = 100
+ $SAFE = -100
}.call
- }.should raise_error(ArgumentError, /\$SAFE=2 to 4 are obsolete/)
+ }.should raise_error(ArgumentError, "$SAFE should be >= 0")
+ end
+ end
+
+ it "cannot be set to values above 4" do
+ lambda {
+ proc {
+ $SAFE = 100
+ }.call
+ }.should raise_error(ArgumentError, /\$SAFE=2 to 4 are obsolete/)
end
ruby_version_is ""..."2.6" do
@@ -84,6 +94,36 @@ describe "The $SAFE variable" do
end
end
+ ruby_version_is "2.6" do
+ it "can be manually lowered" do
+ $SAFE = 1
+ $SAFE = 0
+ $SAFE.should == 0
+ end
+
+ it "is not Proc local" do
+ $SAFE.should == 0
+ proc {
+ $SAFE = 1
+ }.call
+ $SAFE.should == 1
+ end
+
+ it "is not lambda local" do
+ $SAFE.should == 0
+ lambda {
+ $SAFE = 1
+ }.call
+ $SAFE.should == 1
+ end
+
+ it "is global like regular global variables" do
+ Thread.new { $SAFE }.value.should == 0
+ $SAFE = 1
+ Thread.new { $SAFE }.value.should == 1
+ end
+ end
+
it "can be read when default from Thread#safe_level" do
Thread.current.safe_level.should == 0
end
diff --git a/spec/ruby/language/variables_spec.rb b/spec/ruby/language/variables_spec.rb
index 4c4599bec4..640c9e49ac 100644
--- a/spec/ruby/language/variables_spec.rb
+++ b/spec/ruby/language/variables_spec.rb
@@ -758,3 +758,31 @@ describe "A local variable assigned only within a conditional block" do
end
end
end
+
+describe 'Local variable shadowing' do
+ ruby_version_is ""..."2.6" do
+ it "leads to warning in verbose mode" do
+ -> do
+ eval <<-CODE
+ a = [1, 2, 3]
+ a.each { |a| a = 3 }
+ CODE
+ end.should complain(/shadowing outer local variable/, verbose: true)
+ end
+ end
+
+ ruby_version_is "2.6" do
+ it "does not warn in verbose mode" do
+ result = nil
+
+ -> do
+ eval <<-CODE
+ a = [1, 2, 3]
+ result = a.map { |a| a = 3 }
+ CODE
+ end.should_not complain(verbose: true)
+
+ result.should == [3, 3, 3]
+ end
+ end
+end
diff --git a/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb b/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb
index ab56176a5c..9b04bffb2e 100644
--- a/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb
+++ b/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb
@@ -14,9 +14,8 @@ describe "Net::HTTPGenericRequest#body_exist?" do
it "emits a warning" do
request = Net::HTTPGenericRequest.new("POST", true, false, "/some/path")
lambda {
- $VERBOSE = true
request.body_exist?
- }.should complain(/body_exist\? is obsolete/)
+ }.should complain(/body_exist\? is obsolete/, verbose: true)
end
end
end
diff --git a/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb b/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb
index 92a0b82d60..35768b4e7e 100644
--- a/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb
+++ b/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb
@@ -15,8 +15,7 @@ describe "Net::HTTPHeader#initialize_http_header when passed Hash" do
it "complains about duplicate keys when in verbose mode" do
lambda do
- $VERBOSE = true
@headers.initialize_http_header("My-Header" => "test", "my-header" => "another test")
- end.should complain(/duplicated HTTP header/)
+ end.should complain(/duplicated HTTP header/, verbose: true)
end
end
diff --git a/spec/ruby/library/openstruct/to_h_spec.rb b/spec/ruby/library/openstruct/to_h_spec.rb
index 1a8a87a94d..ebdec16174 100644
--- a/spec/ruby/library/openstruct/to_h_spec.rb
+++ b/spec/ruby/library/openstruct/to_h_spec.rb
@@ -28,9 +28,43 @@ describe "OpenStruct#to_h" do
end
ruby_version_is "2.6" do
- it "converts [key, value] pairs returned by the block to a hash" do
- h = @os.to_h {|key, value| [key.to_s, value * 2]}
- h.should == {"name" => "John SmithJohn Smith", "age" => 140, "pension" => 600}
+ context "with block" do
+ it "converts [key, value] pairs returned by the block to a hash" do
+ h = @os.to_h { |k, v| [k.to_s, v*2] }
+ h.should == { "name" => "John SmithJohn Smith", "age" => 140, "pension" => 600 }
+ end
+
+ it "raises ArgumentError if block returns longer or shorter array" do
+ -> do
+ @os.to_h { |k, v| [k.to_s, v*2, 1] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+
+ -> do
+ @os.to_h { |k, v| [k] }
+ end.should raise_error(ArgumentError, /element has wrong array length/)
+ end
+
+ it "raises TypeError if block returns something other than Array" do
+ -> do
+ @os.to_h { |k, v| "not-array" }
+ end.should raise_error(TypeError, /wrong element type String/)
+ end
+
+ it "coerces returned pair to Array with #to_ary" do
+ x = mock('x')
+ x.stub!(:to_ary).and_return([:b, 'b'])
+
+ @os.to_h { |k| x }.should == { :b => 'b' }
+ end
+
+ it "does not coerce returned pair to Array with #to_a" do
+ x = mock('x')
+ x.stub!(:to_a).and_return([:b, 'b'])
+
+ -> do
+ @os.to_h { |k| x }
+ end.should raise_error(TypeError, /wrong element type MockObject/)
+ end
end
end
end
diff --git a/spec/ruby/library/set/disjoint_spec.rb b/spec/ruby/library/set/disjoint_spec.rb
new file mode 100644
index 0000000000..ea3b141455
--- /dev/null
+++ b/spec/ruby/library/set/disjoint_spec.rb
@@ -0,0 +1,23 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
+require 'set'
+
+describe "Set#disjoint?" do
+ it "returns false when two Sets have at least one element in common" do
+ Set[1, 2].disjoint?(Set[2, 3]).should == false
+ end
+
+ it "returns true when two Sets have no element in common" do
+ Set[1, 2].disjoint?(Set[3, 4]).should == true
+ end
+
+ context "when comparing to a Set-like object" do
+ it "returns false when a Set has at least one element in common with a Set-like object" do
+ Set[1, 2].disjoint?(SetSpecs::SetLike.new([2, 3])).should be_false
+ end
+
+ it "returns true when a Set has no element in common with a Set-like object" do
+ Set[1, 2].disjoint?(SetSpecs::SetLike.new([3, 4])).should be_true
+ end
+ end
+end
diff --git a/spec/ruby/library/set/equal_value_spec.rb b/spec/ruby/library/set/equal_value_spec.rb
index 10e0efab1b..f5b5f790c0 100644
--- a/spec/ruby/library/set/equal_value_spec.rb
+++ b/spec/ruby/library/set/equal_value_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#==" do
@@ -23,4 +24,10 @@ describe "Set#==" do
set2 = Set[Set["c", "d"], Set["a", "b"], Set["e", "f"]]
set1.should == set2
end
+
+ context "when comparing to a Set-like object" do
+ it "returns true when a Set and a Set-like object contain the same elements" do
+ Set[1, 2, 3].should == SetSpecs::SetLike.new([1, 2, 3])
+ end
+ end
end
diff --git a/spec/ruby/library/set/fixtures/set_like.rb b/spec/ruby/library/set/fixtures/set_like.rb
new file mode 100644
index 0000000000..46f61a451e
--- /dev/null
+++ b/spec/ruby/library/set/fixtures/set_like.rb
@@ -0,0 +1,31 @@
+require 'set'
+
+module SetSpecs
+ # This class is used to test the interaction of "Set-like" objects with real Sets
+ #
+ # These "Set-like" objects reply to is_a?(Set) with true and thus real Set objects are able to transparently
+ # interoperate with them in a duck-typing manner.
+ class SetLike
+ include Enumerable
+
+ def is_a?(klass)
+ super || klass == ::Set
+ end
+
+ def initialize(entries)
+ @entries = entries
+ end
+
+ def each(&block)
+ @entries.each(&block)
+ end
+
+ def inspect
+ "#<#{self.class}: {#{map(&:inspect).join(", ")}}>"
+ end
+
+ def size
+ @entries.size
+ end
+ end
+end
diff --git a/spec/ruby/library/set/flatten_spec.rb b/spec/ruby/library/set/flatten_spec.rb
index 4a037bbd5e..be94630f48 100644
--- a/spec/ruby/library/set/flatten_spec.rb
+++ b/spec/ruby/library/set/flatten_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#flatten" do
@@ -14,6 +15,12 @@ describe "Set#flatten" do
(set = Set[]) << set
lambda { set.flatten }.should raise_error(ArgumentError)
end
+
+ context "when Set contains a Set-like object" do
+ it "returns a copy of self with each included Set-like object flattened" do
+ Set[SetSpecs::SetLike.new([1])].flatten.should == Set[1]
+ end
+ end
end
describe "Set#flatten!" do
@@ -37,4 +44,10 @@ describe "Set#flatten!" do
(set = Set[]) << set
lambda { set.flatten! }.should raise_error(ArgumentError)
end
+
+ context "when Set contains a Set-like object" do
+ it "flattens self, including Set-like objects" do
+ Set[SetSpecs::SetLike.new([1])].flatten!.should == Set[1]
+ end
+ end
end
diff --git a/spec/ruby/library/set/intersect_spec.rb b/spec/ruby/library/set/intersect_spec.rb
new file mode 100644
index 0000000000..e60f06db94
--- /dev/null
+++ b/spec/ruby/library/set/intersect_spec.rb
@@ -0,0 +1,23 @@
+require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
+require 'set'
+
+describe "Set#intersect?" do
+ it "returns true when two Sets have at least one element in common" do
+ Set[1, 2].intersect?(Set[2, 3]).should == true
+ end
+
+ it "returns false when two Sets have no element in common" do
+ Set[1, 2].intersect?(Set[3, 4]).should == false
+ end
+
+ context "when comparing to a Set-like object" do
+ it "returns true when a Set has at least one element in common with a Set-like object" do
+ Set[1, 2].intersect?(SetSpecs::SetLike.new([2, 3])).should be_true
+ end
+
+ it "returns false when a Set has no element in common with a Set-like object" do
+ Set[1, 2].intersect?(SetSpecs::SetLike.new([3, 4])).should be_false
+ end
+ end
+end
diff --git a/spec/ruby/library/set/proper_subset_spec.rb b/spec/ruby/library/set/proper_subset_spec.rb
index d925e80a8b..20c354b655 100644
--- a/spec/ruby/library/set/proper_subset_spec.rb
+++ b/spec/ruby/library/set/proper_subset_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#proper_subset?" do
@@ -31,4 +32,10 @@ describe "Set#proper_subset?" do
lambda { Set[].proper_subset?("test") }.should raise_error(ArgumentError)
lambda { Set[].proper_subset?(Object.new) }.should raise_error(ArgumentError)
end
+
+ context "when comparing to a Set-like object" do
+ it "returns true if passed a Set-like object that self is a proper subset of" do
+ Set[1, 2, 3].proper_subset?(SetSpecs::SetLike.new([1, 2, 3, 4])).should be_true
+ end
+ end
end
diff --git a/spec/ruby/library/set/proper_superset_spec.rb b/spec/ruby/library/set/proper_superset_spec.rb
index cdfd44f32f..abc0e44f96 100644
--- a/spec/ruby/library/set/proper_superset_spec.rb
+++ b/spec/ruby/library/set/proper_superset_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#proper_superset?" do
@@ -31,4 +32,10 @@ describe "Set#proper_superset?" do
lambda { Set[].proper_superset?("test") }.should raise_error(ArgumentError)
lambda { Set[].proper_superset?(Object.new) }.should raise_error(ArgumentError)
end
+
+ context "when comparing to a Set-like object" do
+ it "returns true if passed a Set-like object that self is a proper superset of" do
+ Set[1, 2, 3, 4].proper_superset?(SetSpecs::SetLike.new([1, 2, 3])).should be_true
+ end
+ end
end
diff --git a/spec/ruby/library/set/subset_spec.rb b/spec/ruby/library/set/subset_spec.rb
index e1792ce9b9..a1aed45ad0 100644
--- a/spec/ruby/library/set/subset_spec.rb
+++ b/spec/ruby/library/set/subset_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#subset?" do
@@ -31,4 +32,10 @@ describe "Set#subset?" do
lambda { Set[].subset?("test") }.should raise_error(ArgumentError)
lambda { Set[].subset?(Object.new) }.should raise_error(ArgumentError)
end
+
+ context "when comparing to a Set-like object" do
+ it "returns true if passed a Set-like object that self is a subset of" do
+ Set[1, 2, 3].subset?(SetSpecs::SetLike.new([1, 2, 3, 4])).should be_true
+ end
+ end
end
diff --git a/spec/ruby/library/set/superset_spec.rb b/spec/ruby/library/set/superset_spec.rb
index a95fab8a42..1336975a9b 100644
--- a/spec/ruby/library/set/superset_spec.rb
+++ b/spec/ruby/library/set/superset_spec.rb
@@ -1,4 +1,5 @@
require_relative '../../spec_helper'
+require_relative 'fixtures/set_like'
require 'set'
describe "Set#superset?" do
@@ -31,4 +32,10 @@ describe "Set#superset?" do
lambda { Set[].superset?("test") }.should raise_error(ArgumentError)
lambda { Set[].superset?(Object.new) }.should raise_error(ArgumentError)
end
+
+ context "when comparing to a Set-like object" do
+ it "returns true if passed a Set-like object that self is a superset of" do
+ Set[1, 2, 3, 4].superset?(SetSpecs::SetLike.new([1, 2, 3])).should be_true
+ end
+ end
end
diff --git a/spec/ruby/library/stringscanner/clear_spec.rb b/spec/ruby/library/stringscanner/clear_spec.rb
index 70c60f7039..c8b19abe7d 100644
--- a/spec/ruby/library/stringscanner/clear_spec.rb
+++ b/spec/ruby/library/stringscanner/clear_spec.rb
@@ -8,13 +8,11 @@ describe "StringScanner#clear" do
it "warns in verbose mode that the method is obsolete" do
s = StringScanner.new("abc")
lambda {
- $VERBOSE = true
s.clear
- }.should complain(/clear.*obsolete.*terminate/)
+ }.should complain(/clear.*obsolete.*terminate/, verbose: true)
lambda {
- $VERBOSE = false
s.clear
- }.should_not complain
+ }.should_not complain(verbose: false)
end
end
diff --git a/spec/ruby/library/stringscanner/empty_spec.rb b/spec/ruby/library/stringscanner/empty_spec.rb
index bba51364c8..0b67d23246 100644
--- a/spec/ruby/library/stringscanner/empty_spec.rb
+++ b/spec/ruby/library/stringscanner/empty_spec.rb
@@ -8,13 +8,11 @@ describe "StringScanner#empty?" do
it "warns in verbose mode that the method is obsolete" do
s = StringScanner.new("abc")
lambda {
- $VERBOSE = true
s.empty?
- }.should complain(/empty?.*obsolete.*eos?/)
+ }.should complain(/empty?.*obsolete.*eos?/, verbose: true)
lambda {
- $VERBOSE = false
s.empty?
- }.should_not complain
+ }.should_not complain(verbose: false)
end
end
diff --git a/spec/ruby/library/stringscanner/getbyte_spec.rb b/spec/ruby/library/stringscanner/getbyte_spec.rb
index a71c5ee781..102aa5325d 100644
--- a/spec/ruby/library/stringscanner/getbyte_spec.rb
+++ b/spec/ruby/library/stringscanner/getbyte_spec.rb
@@ -9,14 +9,12 @@ describe "StringScanner#getbyte" do
it "warns in verbose mode that the method is obsolete" do
s = StringScanner.new("abc")
lambda {
- $VERBOSE = true
s.getbyte
- }.should complain(/getbyte.*obsolete.*get_byte/)
+ }.should complain(/getbyte.*obsolete.*get_byte/, verbose: true)
lambda {
- $VERBOSE = false
s.getbyte
- }.should_not complain
+ }.should_not complain(verbose: false)
end
it_behaves_like :extract_range, :getbyte
diff --git a/spec/ruby/library/stringscanner/peep_spec.rb b/spec/ruby/library/stringscanner/peep_spec.rb
index 887522a8ae..a1c8565579 100644
--- a/spec/ruby/library/stringscanner/peep_spec.rb
+++ b/spec/ruby/library/stringscanner/peep_spec.rb
@@ -8,13 +8,11 @@ describe "StringScanner#peep" do
it "warns in verbose mode that the method is obsolete" do
s = StringScanner.new("abc")
lambda {
- $VERBOSE = true
s.peep(1)
- }.should complain(/peep.*obsolete.*peek/)
+ }.should complain(/peep.*obsolete.*peek/, verbose: true)
lambda {
- $VERBOSE = false
s.peep(1)
- }.should_not complain
+ }.should_not complain(verbose: false)
end
end
diff --git a/spec/ruby/library/stringscanner/restsize_spec.rb b/spec/ruby/library/stringscanner/restsize_spec.rb
index 87edf35ad6..cf3e22f34c 100644
--- a/spec/ruby/library/stringscanner/restsize_spec.rb
+++ b/spec/ruby/library/stringscanner/restsize_spec.rb
@@ -8,13 +8,11 @@ describe "StringScanner#restsize" do
it "warns in verbose mode that the method is obsolete" do
s = StringScanner.new("abc")
lambda {
- $VERBOSE = true
s.restsize
- }.should complain(/restsize.*obsolete.*rest_size/)
+ }.should complain(/restsize.*obsolete.*rest_size/, verbose: true)
lambda {
- $VERBOSE = false
s.restsize
- }.should_not complain
+ }.should_not complain(verbose: false)
end
end
diff --git a/spec/ruby/optional/capi/class_spec.rb b/spec/ruby/optional/capi/class_spec.rb
index bab4f52831..a4dac6707a 100644
--- a/spec/ruby/optional/capi/class_spec.rb
+++ b/spec/ruby/optional/capi/class_spec.rb
@@ -109,6 +109,16 @@ describe "C-API Class function" do
end
end
+ describe "rb_define_method" do
+ it "defines a method taking variable arguments as a C array if the argument count is -1" do
+ @s.rb_method_varargs_1(1, 3, 7, 4).should == [1, 3, 7, 4]
+ end
+
+ it "defines a method taking variable arguments as a Ruby array if the argument count is -2" do
+ @s.rb_method_varargs_2(1, 3, 7, 4).should == [1, 3, 7, 4]
+ end
+ end
+
describe "rb_class2name" do
it "returns the class name" do
@s.rb_class2name(CApiClassSpecs).should == "CApiClassSpecs"
diff --git a/spec/ruby/optional/capi/ext/array_spec.c b/spec/ruby/optional/capi/ext/array_spec.c
index 8bc144195c..56f91d0c48 100644
--- a/spec/ruby/optional/capi/ext/array_spec.c
+++ b/spec/ruby/optional/capi/ext/array_spec.c
@@ -7,13 +7,10 @@
extern "C" {
#endif
-#ifdef HAVE_RB_ARRAY
static VALUE array_spec_rb_Array(VALUE self, VALUE object) {
return rb_Array(object);
}
-#endif
-#if defined(HAVE_RARRAY_LEN) && defined(HAVE_RARRAY_PTR)
static VALUE array_spec_RARRAY_PTR_iterate(VALUE self, VALUE array) {
int i;
VALUE* ptr;
@@ -35,109 +32,75 @@ static VALUE array_spec_RARRAY_PTR_assign(VALUE self, VALUE array, VALUE value)
}
return Qnil;
}
-#endif
-#ifdef HAVE_RARRAY_LEN
static VALUE array_spec_RARRAY_LEN(VALUE self, VALUE array) {
return INT2FIX(RARRAY_LEN(array));
}
-#endif
-#ifdef HAVE_RARRAY_AREF
static VALUE array_spec_RARRAY_AREF(VALUE self, VALUE array, VALUE index) {
return RARRAY_AREF(array, FIX2INT(index));
}
-#endif
-#ifdef HAVE_RB_ARY_AREF
static VALUE array_spec_rb_ary_aref(int argc, VALUE *argv, VALUE self) {
VALUE ary, args;
rb_scan_args(argc, argv, "1*", &ary, &args);
return rb_ary_aref((int)RARRAY_LEN(args), RARRAY_PTR(args), ary);
}
-#endif
-#ifdef HAVE_RB_ARY_CLEAR
static VALUE array_spec_rb_ary_clear(VALUE self, VALUE array) {
return rb_ary_clear(array);
}
-#endif
-#ifdef HAVE_RB_ARY_DELETE
static VALUE array_spec_rb_ary_delete(VALUE self, VALUE array, VALUE item) {
return rb_ary_delete(array, item);
}
-#endif
-#ifdef HAVE_RB_ARY_DELETE_AT
static VALUE array_spec_rb_ary_delete_at(VALUE self, VALUE array, VALUE index) {
return rb_ary_delete_at(array, NUM2LONG(index));
}
-#endif
-#ifdef HAVE_RB_ARY_DUP
static VALUE array_spec_rb_ary_dup(VALUE self, VALUE array) {
return rb_ary_dup(array);
}
-#endif
-#ifdef HAVE_RB_ARY_ENTRY
static VALUE array_spec_rb_ary_entry(VALUE self, VALUE array, VALUE offset) {
return rb_ary_entry(array, FIX2INT(offset));
}
-#endif
-#ifdef HAVE_RB_ARY_INCLUDES
static VALUE array_spec_rb_ary_includes(VALUE self, VALUE ary, VALUE item) {
return rb_ary_includes(ary, item);
}
-#endif
-#ifdef HAVE_RB_ARY_JOIN
static VALUE array_spec_rb_ary_join(VALUE self, VALUE array1, VALUE array2) {
return rb_ary_join(array1, array2);
}
-#endif
-#ifdef HAVE_RB_ARY_TO_S
static VALUE array_spec_rb_ary_to_s(VALUE self, VALUE array) {
return rb_ary_to_s(array);
}
-#endif
-#ifdef HAVE_RB_ARY_NEW
static VALUE array_spec_rb_ary_new(VALUE self) {
VALUE ret;
ret = rb_ary_new();
return ret;
}
-#endif
-#ifdef HAVE_RB_ARY_NEW2
static VALUE array_spec_rb_ary_new2(VALUE self, VALUE length) {
return rb_ary_new2(NUM2LONG(length));
}
-#endif
-#ifdef HAVE_RB_ARY_NEW_CAPA
static VALUE array_spec_rb_ary_new_capa(VALUE self, VALUE length) {
return rb_ary_new_capa(NUM2LONG(length));
}
-#endif
-#ifdef HAVE_RB_ARY_NEW3
static VALUE array_spec_rb_ary_new3(VALUE self, VALUE first, VALUE second, VALUE third) {
return rb_ary_new3(3, first, second, third);
}
-#endif
-#ifdef HAVE_RB_ARY_NEW_FROM_ARGS
static VALUE array_spec_rb_ary_new_from_args(VALUE self, VALUE first, VALUE second, VALUE third) {
return rb_ary_new_from_args(3, first, second, third);
}
-#endif
-#ifdef HAVE_RB_ARY_NEW4
static VALUE array_spec_rb_ary_new4(VALUE self, VALUE first, VALUE second, VALUE third) {
VALUE values[3];
values[0] = first;
@@ -145,9 +108,7 @@ static VALUE array_spec_rb_ary_new4(VALUE self, VALUE first, VALUE second, VALUE
values[2] = third;
return rb_ary_new4(3, values);
}
-#endif
-#ifdef HAVE_RB_ARY_NEW_FROM_VALUES
static VALUE array_spec_rb_ary_new_from_values(VALUE self, VALUE first, VALUE second, VALUE third) {
VALUE values[3];
values[0] = first;
@@ -155,80 +116,56 @@ static VALUE array_spec_rb_ary_new_from_values(VALUE self, VALUE first, VALUE se
values[2] = third;
return rb_ary_new_from_values(3, values);
}
-#endif
-#ifdef HAVE_RB_ARY_POP
static VALUE array_spec_rb_ary_pop(VALUE self, VALUE array) {
return rb_ary_pop(array);
}
-#endif
-#ifdef HAVE_RB_ARY_PUSH
static VALUE array_spec_rb_ary_push(VALUE self, VALUE array, VALUE item) {
rb_ary_push(array, item);
return array;
}
-#endif
-#ifdef HAVE_RB_ARY_CAT
static VALUE array_spec_rb_ary_cat(int argc, VALUE *argv, VALUE self) {
VALUE ary, args;
rb_scan_args(argc, argv, "1*", &ary, &args);
return rb_ary_cat(ary, RARRAY_PTR(args), RARRAY_LEN(args));
}
-#endif
-#ifdef HAVE_RB_ARY_REVERSE
static VALUE array_spec_rb_ary_reverse(VALUE self, VALUE array) {
return rb_ary_reverse(array);
}
-#endif
-#ifdef HAVE_RB_ARY_ROTATE
static VALUE array_spec_rb_ary_rotate(VALUE self, VALUE array, VALUE count) {
return rb_ary_rotate(array, NUM2LONG(count));
}
-#endif
-#ifdef HAVE_RB_ARY_SHIFT
static VALUE array_spec_rb_ary_shift(VALUE self, VALUE array) {
return rb_ary_shift(array);
}
-#endif
-#ifdef HAVE_RB_ARY_STORE
static VALUE array_spec_rb_ary_store(VALUE self, VALUE array, VALUE offset, VALUE value) {
rb_ary_store(array, FIX2INT(offset), value);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_ARY_CONCAT
static VALUE array_spec_rb_ary_concat(VALUE self, VALUE array1, VALUE array2) {
return rb_ary_concat(array1, array2);
}
-#endif
-#ifdef HAVE_RB_ARY_PLUS
static VALUE array_spec_rb_ary_plus(VALUE self, VALUE array1, VALUE array2) {
return rb_ary_plus(array1, array2);
}
-#endif
-#ifdef HAVE_RB_ARY_UNSHIFT
static VALUE array_spec_rb_ary_unshift(VALUE self, VALUE array, VALUE val) {
return rb_ary_unshift(array, val);
}
-#endif
-#ifdef HAVE_RB_ASSOC_NEW
static VALUE array_spec_rb_assoc_new(VALUE self, VALUE first, VALUE second) {
return rb_assoc_new(first, second);
}
-#endif
-#if defined(HAVE_RB_ITERATE) && defined(HAVE_RB_EACH)
static VALUE copy_ary(VALUE el, VALUE new_ary) {
return rb_ary_push(new_ary, el);
}
@@ -266,185 +203,67 @@ static VALUE array_spec_rb_iterate_then_yield(VALUE self, VALUE obj) {
rb_iterate(rb_each, obj, iter_yield, obj);
return Qnil;
}
-#endif
-#if defined(HAVE_RB_MEM_CLEAR)
static VALUE array_spec_rb_mem_clear(VALUE self, VALUE obj) {
VALUE ary[1];
ary[0] = obj;
rb_mem_clear(ary, 1);
return ary[0];
}
-#endif
-#ifdef HAVE_RB_ARY_FREEZE
static VALUE array_spec_rb_ary_freeze(VALUE self, VALUE ary) {
return rb_ary_freeze(ary);
}
-#endif
-#ifdef HAVE_RB_ARY_TO_ARY
static VALUE array_spec_rb_ary_to_ary(VALUE self, VALUE ary) {
return rb_ary_to_ary(ary);
}
-#endif
-#ifdef HAVE_RB_ARY_SUBSEQ
static VALUE array_spec_rb_ary_subseq(VALUE self, VALUE ary, VALUE begin, VALUE len) {
return rb_ary_subseq(ary, FIX2LONG(begin), FIX2LONG(len));
}
-#endif
void Init_array_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiArraySpecs", rb_cObject);
-
-#ifdef HAVE_RB_ARRAY
+ VALUE cls = rb_define_class("CApiArraySpecs", rb_cObject);
rb_define_method(cls, "rb_Array", array_spec_rb_Array, 1);
-#endif
-
-#ifdef HAVE_RARRAY_LEN
rb_define_method(cls, "RARRAY_LEN", array_spec_RARRAY_LEN, 1);
-#endif
-
-#if defined(HAVE_RARRAY_LEN) && defined(HAVE_RARRAY_PTR)
rb_define_method(cls, "RARRAY_PTR_iterate", array_spec_RARRAY_PTR_iterate, 1);
rb_define_method(cls, "RARRAY_PTR_assign", array_spec_RARRAY_PTR_assign, 2);
-#endif
-
-#ifdef HAVE_RARRAY_AREF
rb_define_method(cls, "RARRAY_AREF", array_spec_RARRAY_AREF, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_AREF
rb_define_method(cls, "rb_ary_aref", array_spec_rb_ary_aref, -1);
-#endif
-
-#ifdef HAVE_RB_ARY_CLEAR
rb_define_method(cls, "rb_ary_clear", array_spec_rb_ary_clear, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_DELETE
rb_define_method(cls, "rb_ary_delete", array_spec_rb_ary_delete, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_DELETE_AT
rb_define_method(cls, "rb_ary_delete_at", array_spec_rb_ary_delete_at, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_DUP
rb_define_method(cls, "rb_ary_dup", array_spec_rb_ary_dup, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_ENTRY
rb_define_method(cls, "rb_ary_entry", array_spec_rb_ary_entry, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_INCLUDES
rb_define_method(cls, "rb_ary_includes", array_spec_rb_ary_includes, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_JOIN
rb_define_method(cls, "rb_ary_join", array_spec_rb_ary_join, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_TO_S
rb_define_method(cls, "rb_ary_to_s", array_spec_rb_ary_to_s, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW
rb_define_method(cls, "rb_ary_new", array_spec_rb_ary_new, 0);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW2
rb_define_method(cls, "rb_ary_new2", array_spec_rb_ary_new2, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW_CAPA
rb_define_method(cls, "rb_ary_new_capa", array_spec_rb_ary_new_capa, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW3
rb_define_method(cls, "rb_ary_new3", array_spec_rb_ary_new3, 3);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW_FROM_ARGS
rb_define_method(cls, "rb_ary_new_from_args", array_spec_rb_ary_new_from_args, 3);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW4
rb_define_method(cls, "rb_ary_new4", array_spec_rb_ary_new4, 3);
-#endif
-
-#ifdef HAVE_RB_ARY_NEW_FROM_VALUES
rb_define_method(cls, "rb_ary_new_from_values", array_spec_rb_ary_new_from_values, 3);
-#endif
-
-#ifdef HAVE_RB_ARY_POP
rb_define_method(cls, "rb_ary_pop", array_spec_rb_ary_pop, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_PUSH
rb_define_method(cls, "rb_ary_push", array_spec_rb_ary_push, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_CAT
rb_define_method(cls, "rb_ary_cat", array_spec_rb_ary_cat, -1);
-#endif
-
-#ifdef HAVE_RB_ARY_REVERSE
rb_define_method(cls, "rb_ary_reverse", array_spec_rb_ary_reverse, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_ROTATE
rb_define_method(cls, "rb_ary_rotate", array_spec_rb_ary_rotate, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_SHIFT
rb_define_method(cls, "rb_ary_shift", array_spec_rb_ary_shift, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_STORE
rb_define_method(cls, "rb_ary_store", array_spec_rb_ary_store, 3);
-#endif
-
-#ifdef HAVE_RB_ARY_CONCAT
rb_define_method(cls, "rb_ary_concat", array_spec_rb_ary_concat, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_PLUS
rb_define_method(cls, "rb_ary_plus", array_spec_rb_ary_plus, 2);
-#endif
-
-#ifdef HAVE_RB_ARY_UNSHIFT
rb_define_method(cls, "rb_ary_unshift", array_spec_rb_ary_unshift, 2);
-#endif
-
-#ifdef HAVE_RB_ASSOC_NEW
rb_define_method(cls, "rb_assoc_new", array_spec_rb_assoc_new, 2);
-#endif
-
-#if defined(HAVE_RB_ITERATE) && defined(HAVE_RB_EACH)
rb_define_method(cls, "rb_iterate", array_spec_rb_iterate, 1);
rb_define_method(cls, "rb_iterate_each_pair", array_spec_rb_iterate_each_pair, 1);
rb_define_method(cls, "rb_iterate_then_yield", array_spec_rb_iterate_then_yield, 1);
-#endif
-
-#if defined(HAVE_RB_MEM_CLEAR)
rb_define_method(cls, "rb_mem_clear", array_spec_rb_mem_clear, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_FREEZE
rb_define_method(cls, "rb_ary_freeze", array_spec_rb_ary_freeze, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_TO_ARY
rb_define_method(cls, "rb_ary_to_ary", array_spec_rb_ary_to_ary, 1);
-#endif
-
-#ifdef HAVE_RB_ARY_SUBSEQ
rb_define_method(cls, "rb_ary_subseq", array_spec_rb_ary_subseq, 3);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/bignum_spec.c b/spec/ruby/optional/capi/ext/bignum_spec.c
index ab3b36eadc..a773e06436 100644
--- a/spec/ruby/optional/capi/ext/bignum_spec.c
+++ b/spec/ruby/optional/capi/ext/bignum_spec.c
@@ -5,51 +5,36 @@
extern "C" {
#endif
-#ifdef HAVE_RB_BIG2DBL
static VALUE bignum_spec_rb_big2dbl(VALUE self, VALUE num) {
return rb_float_new(rb_big2dbl(num));
}
-#endif
-#ifdef HAVE_RB_DBL2BIG
static VALUE bignum_spec_rb_dbl2big(VALUE self, VALUE num) {
double dnum = NUM2DBL(num);
return rb_dbl2big(dnum);
}
-#endif
-#ifdef HAVE_RB_BIG2LL
static VALUE bignum_spec_rb_big2ll(VALUE self, VALUE num) {
return rb_ll2inum(rb_big2ll(num));
}
-#endif
-#ifdef HAVE_RB_BIG2LONG
static VALUE bignum_spec_rb_big2long(VALUE self, VALUE num) {
return LONG2NUM(rb_big2long(num));
}
-#endif
-#ifdef HAVE_RB_BIG2STR
static VALUE bignum_spec_rb_big2str(VALUE self, VALUE num, VALUE base) {
return rb_big2str(num, FIX2INT(base));
}
-#endif
-#ifdef HAVE_RB_BIG2ULONG
static VALUE bignum_spec_rb_big2ulong(VALUE self, VALUE num) {
return ULONG2NUM(rb_big2ulong(num));
}
-#endif
-#ifdef HAVE_RB_BIG_CMP
static VALUE bignum_spec_rb_big_cmp(VALUE self, VALUE x, VALUE y) {
return rb_big_cmp(x, y);
}
-#endif
-#ifdef HAVE_RB_BIG_PACK
static VALUE bignum_spec_rb_big_pack(VALUE self, VALUE val) {
unsigned long buff;
@@ -57,9 +42,7 @@ static VALUE bignum_spec_rb_big_pack(VALUE self, VALUE val) {
return ULONG2NUM(buff);
}
-#endif
-#if HAVE_ABSINT_SIZE
static VALUE bignum_spec_rb_big_pack_length(VALUE self, VALUE val) {
long long_len;
int leading_bits = 0;
@@ -72,9 +55,7 @@ static VALUE bignum_spec_rb_big_pack_length(VALUE self, VALUE val) {
long_len = len / divisor + ((len % divisor == 0) ? 0 : 1);
return LONG2NUM(long_len);
}
-#endif
-#ifdef HAVE_RB_BIG_PACK
static VALUE bignum_spec_rb_big_pack_array(VALUE self, VALUE val, VALUE len) {
int i;
long long_len = NUM2LONG(len);
@@ -100,48 +81,19 @@ static VALUE bignum_spec_rb_big_pack_array(VALUE self, VALUE val, VALUE len) {
free(buf);
return ary;
}
-#endif
void Init_bignum_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiBignumSpecs", rb_cObject);
-
-#ifdef HAVE_RB_BIG2DBL
+ VALUE cls = rb_define_class("CApiBignumSpecs", rb_cObject);
rb_define_method(cls, "rb_big2dbl", bignum_spec_rb_big2dbl, 1);
-#endif
-
-#ifdef HAVE_RB_DBL2BIG
rb_define_method(cls, "rb_dbl2big", bignum_spec_rb_dbl2big, 1);
-#endif
-
-#ifdef HAVE_RB_BIG2LL
rb_define_method(cls, "rb_big2ll", bignum_spec_rb_big2ll, 1);
-#endif
-
-#ifdef HAVE_RB_BIG2LONG
rb_define_method(cls, "rb_big2long", bignum_spec_rb_big2long, 1);
-#endif
-
-#ifdef HAVE_RB_BIG2STR
rb_define_method(cls, "rb_big2str", bignum_spec_rb_big2str, 2);
-#endif
-
-#ifdef HAVE_RB_BIG2ULONG
rb_define_method(cls, "rb_big2ulong", bignum_spec_rb_big2ulong, 1);
-#endif
-
-#ifdef HAVE_RB_BIG_CMP
rb_define_method(cls, "rb_big_cmp", bignum_spec_rb_big_cmp, 2);
-#endif
-
-#ifdef HAVE_RB_BIG_PACK
rb_define_method(cls, "rb_big_pack", bignum_spec_rb_big_pack, 1);
rb_define_method(cls, "rb_big_pack_array", bignum_spec_rb_big_pack_array, 2);
-#endif
-
-#ifdef HAVE_ABSINT_SIZE
rb_define_method(cls, "rb_big_pack_length", bignum_spec_rb_big_pack_length, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/boolean_spec.c b/spec/ruby/optional/capi/ext/boolean_spec.c
index 94d79c0fc0..7bb6fe569d 100644
--- a/spec/ruby/optional/capi/ext/boolean_spec.c
+++ b/spec/ruby/optional/capi/ext/boolean_spec.c
@@ -22,8 +22,7 @@ static VALUE boolean_spec_q_false(VALUE self) {
}
void Init_boolean_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiBooleanSpecs", rb_cObject);
+ VALUE cls = rb_define_class("CApiBooleanSpecs", rb_cObject);
rb_define_method(cls, "is_true", boolean_spec_is_true, 1);
rb_define_method(cls, "q_true", boolean_spec_q_true, 0);
rb_define_method(cls, "q_false", boolean_spec_q_false, 0);
diff --git a/spec/ruby/optional/capi/ext/class_spec.c b/spec/ruby/optional/capi/ext/class_spec.c
index e3860df1da..6e5c02e657 100644
--- a/spec/ruby/optional/capi/ext/class_spec.c
+++ b/spec/ruby/optional/capi/ext/class_spec.c
@@ -8,7 +8,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_CALL_SUPER
static VALUE class_spec_call_super_method(VALUE self) {
return rb_call_super(0, 0);
}
@@ -17,45 +16,31 @@ static VALUE class_spec_define_call_super_method(VALUE self, VALUE obj, VALUE st
rb_define_method(obj, RSTRING_PTR(str_name), class_spec_call_super_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CLASS_PATH
static VALUE class_spec_rb_class_path(VALUE self, VALUE klass) {
return rb_class_path(klass);
}
-#endif
-#ifdef HAVE_RB_CLASS_NAME
static VALUE class_spec_rb_class_name(VALUE self, VALUE klass) {
return rb_class_name(klass);
}
-#endif
-#ifdef HAVE_RB_CLASS2NAME
static VALUE class_spec_rb_class2name(VALUE self, VALUE klass) {
return rb_str_new2( rb_class2name(klass) );
}
-#endif
-#ifdef HAVE_RB_PATH2CLASS
static VALUE class_spec_rb_path2class(VALUE self, VALUE path) {
return rb_path2class(RSTRING_PTR(path));
}
-#endif
-#ifdef HAVE_RB_PATH_TO_CLASS
static VALUE class_spec_rb_path_to_class(VALUE self, VALUE path) {
return rb_path_to_class(path);
}
-#endif
-#ifdef HAVE_RB_CLASS_NEW
static VALUE class_spec_rb_class_new(VALUE self, VALUE super) {
return rb_class_new(super);
}
-#endif
-#ifdef HAVE_RB_CLASS_NEW_INSTANCE
static VALUE class_spec_rb_class_new_instance(VALUE self,
VALUE nargs, VALUE args,
VALUE klass) {
@@ -68,9 +53,7 @@ static VALUE class_spec_rb_class_new_instance(VALUE self,
return rb_class_new_instance(c_nargs, c_args, klass);
}
-#endif
-#ifdef HAVE_RB_CLASS_REAL
static VALUE class_spec_rb_class_real(VALUE self, VALUE object) {
if(rb_type_p(object, T_FIXNUM)) {
return INT2FIX(rb_class_real(FIX2INT(object)));
@@ -78,49 +61,35 @@ static VALUE class_spec_rb_class_real(VALUE self, VALUE object) {
return rb_class_real(CLASS_OF(object));
}
}
-#endif
-#ifdef HAVE_RB_CLASS_SUPERCLASS
static VALUE class_spec_rb_class_superclass(VALUE self, VALUE klass) {
return rb_class_superclass(klass);
}
-#endif
-#ifdef HAVE_RB_CVAR_DEFINED
static VALUE class_spec_cvar_defined(VALUE self, VALUE klass, VALUE id) {
ID as_id = rb_intern(StringValuePtr(id));
return rb_cvar_defined(klass, as_id);
}
-#endif
-#ifdef HAVE_RB_CVAR_GET
static VALUE class_spec_cvar_get(VALUE self, VALUE klass, VALUE name) {
return rb_cvar_get(klass, rb_intern(StringValuePtr(name)));
}
-#endif
-#ifdef HAVE_RB_CVAR_SET
static VALUE class_spec_cvar_set(VALUE self, VALUE klass, VALUE name, VALUE val) {
rb_cvar_set(klass, rb_intern(StringValuePtr(name)), val);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CV_GET
static VALUE class_spec_cv_get(VALUE self, VALUE klass, VALUE name) {
return rb_cv_get(klass, StringValuePtr(name));
}
-#endif
-#ifdef HAVE_RB_CV_SET
static VALUE class_spec_cv_set(VALUE self, VALUE klass, VALUE name, VALUE val) {
rb_cv_set(klass, StringValuePtr(name), val);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_ATTR
VALUE class_spec_define_attr(VALUE self, VALUE klass, VALUE sym, VALUE read, VALUE write) {
int int_read, int_write;
int_read = read == Qtrue ? 1 : 0;
@@ -128,132 +97,72 @@ VALUE class_spec_define_attr(VALUE self, VALUE klass, VALUE sym, VALUE read, VAL
rb_define_attr(klass, rb_id2name(SYM2ID(sym)), int_read, int_write);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_CLASS
static VALUE class_spec_rb_define_class(VALUE self, VALUE name, VALUE super) {
if(NIL_P(super)) super = 0;
return rb_define_class(RSTRING_PTR(name), super);
}
-#endif
-#ifdef HAVE_RB_DEFINE_CLASS_UNDER
static VALUE class_spec_rb_define_class_under(VALUE self, VALUE outer,
VALUE name, VALUE super) {
if(NIL_P(super)) super = 0;
return rb_define_class_under(outer, RSTRING_PTR(name), super);
}
-#endif
-#ifdef HAVE_RB_DEFINE_CLASS_ID_UNDER
static VALUE class_spec_rb_define_class_id_under(VALUE self, VALUE outer,
VALUE name, VALUE super) {
if(NIL_P(super)) super = 0;
return rb_define_class_id_under(outer, SYM2ID(name), super);
}
-#endif
-#ifdef HAVE_RB_DEFINE_CLASS_VARIABLE
static VALUE class_spec_define_class_variable(VALUE self, VALUE klass, VALUE name, VALUE val) {
rb_define_class_variable(klass, StringValuePtr(name), val);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_INCLUDE_MODULE
static VALUE class_spec_include_module(VALUE self, VALUE klass, VALUE module) {
rb_include_module(klass, module);
return klass;
}
-#endif
-void Init_class_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiClassSpecs", rb_cObject);
+static VALUE class_spec_method_var_args_1(int argc, VALUE *argv, VALUE self) {
+ VALUE ary = rb_ary_new();
+ int i;
+ for (i = 0; i < argc; i++) {
+ rb_ary_push(ary, argv[i]);
+ }
+ return ary;
+}
-#ifdef HAVE_RB_CALL_SUPER
- rb_define_method(cls, "define_call_super_method", class_spec_define_call_super_method, 2);
-#endif
+static VALUE class_spec_method_var_args_2(VALUE self, VALUE argv) {
+ return argv;
+}
-#ifdef HAVE_RB_CLASS_PATH
+void Init_class_spec(void) {
+ VALUE cls = rb_define_class("CApiClassSpecs", rb_cObject);
+ rb_define_method(cls, "define_call_super_method", class_spec_define_call_super_method, 2);
rb_define_method(cls, "rb_class_path", class_spec_rb_class_path, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS_NAME
rb_define_method(cls, "rb_class_name", class_spec_rb_class_name, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS2NAME
rb_define_method(cls, "rb_class2name", class_spec_rb_class2name, 1);
-#endif
-
-#ifdef HAVE_RB_PATH2CLASS
rb_define_method(cls, "rb_path2class", class_spec_rb_path2class, 1);
-#endif
-
-#ifdef HAVE_RB_PATH_TO_CLASS
rb_define_method(cls, "rb_path_to_class", class_spec_rb_path_to_class, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS_NEW
rb_define_method(cls, "rb_class_new", class_spec_rb_class_new, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS_NEW_INSTANCE
rb_define_method(cls, "rb_class_new_instance", class_spec_rb_class_new_instance, 3);
-#endif
-
-#ifdef HAVE_RB_CLASS_REAL
rb_define_method(cls, "rb_class_real", class_spec_rb_class_real, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS_SUPERCLASS
rb_define_method(cls, "rb_class_superclass", class_spec_rb_class_superclass, 1);
-#endif
-
-#ifdef HAVE_RB_CVAR_DEFINED
rb_define_method(cls, "rb_cvar_defined", class_spec_cvar_defined, 2);
-#endif
-
-#ifdef HAVE_RB_CVAR_GET
rb_define_method(cls, "rb_cvar_get", class_spec_cvar_get, 2);
-#endif
-
-#ifdef HAVE_RB_CVAR_SET
rb_define_method(cls, "rb_cvar_set", class_spec_cvar_set, 3);
-#endif
-
-#ifdef HAVE_RB_CV_GET
rb_define_method(cls, "rb_cv_get", class_spec_cv_get, 2);
-#endif
-
-#ifdef HAVE_RB_CV_SET
rb_define_method(cls, "rb_cv_set", class_spec_cv_set, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_ATTR
rb_define_method(cls, "rb_define_attr", class_spec_define_attr, 4);
-#endif
-
-#ifdef HAVE_RB_DEFINE_CLASS
rb_define_method(cls, "rb_define_class", class_spec_rb_define_class, 2);
-#endif
-
-#ifdef HAVE_RB_DEFINE_CLASS_UNDER
rb_define_method(cls, "rb_define_class_under", class_spec_rb_define_class_under, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_CLASS_ID_UNDER
rb_define_method(cls, "rb_define_class_id_under", class_spec_rb_define_class_id_under, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_CLASS_VARIABLE
rb_define_method(cls, "rb_define_class_variable", class_spec_define_class_variable, 3);
-#endif
-
-#ifdef HAVE_RB_INCLUDE_MODULE
rb_define_method(cls, "rb_include_module", class_spec_include_module, 2);
-#endif
+ rb_define_method(cls, "rb_method_varargs_1", class_spec_method_var_args_1, -1);
+ rb_define_method(cls, "rb_method_varargs_2", class_spec_method_var_args_2, -2);
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/complex_spec.c b/spec/ruby/optional/capi/ext/complex_spec.c
index 476bbce31c..dfccd7a037 100644
--- a/spec/ruby/optional/capi/ext/complex_spec.c
+++ b/spec/ruby/optional/capi/ext/complex_spec.c
@@ -5,69 +5,38 @@
extern "C" {
#endif
-#ifdef HAVE_RB_COMPLEX
static VALUE complex_spec_rb_Complex(VALUE self, VALUE num, VALUE den) {
return rb_Complex(num, den);
}
-#endif
-#ifdef HAVE_RB_COMPLEX1
static VALUE complex_spec_rb_Complex1(VALUE self, VALUE num) {
return rb_Complex1(num);
}
-#endif
-#ifdef HAVE_RB_COMPLEX2
static VALUE complex_spec_rb_Complex2(VALUE self, VALUE num, VALUE den) {
return rb_Complex2(num, den);
}
-#endif
-#ifdef HAVE_RB_COMPLEX_NEW
static VALUE complex_spec_rb_complex_new(VALUE self, VALUE num, VALUE den) {
return rb_complex_new(num, den);
}
-#endif
-#ifdef HAVE_RB_COMPLEX_NEW1
static VALUE complex_spec_rb_complex_new1(VALUE self, VALUE num) {
return rb_complex_new1(num);
}
-#endif
-#ifdef HAVE_RB_COMPLEX_NEW2
static VALUE complex_spec_rb_complex_new2(VALUE self, VALUE num, VALUE den) {
return rb_complex_new2(num, den);
}
-#endif
void Init_complex_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiComplexSpecs", rb_cObject);
-
-#ifdef HAVE_RB_COMPLEX
+ VALUE cls = rb_define_class("CApiComplexSpecs", rb_cObject);
rb_define_method(cls, "rb_Complex", complex_spec_rb_Complex, 2);
-#endif
-
-#ifdef HAVE_RB_COMPLEX1
rb_define_method(cls, "rb_Complex1", complex_spec_rb_Complex1, 1);
-#endif
-
-#ifdef HAVE_RB_COMPLEX2
rb_define_method(cls, "rb_Complex2", complex_spec_rb_Complex2, 2);
-#endif
-
-#ifdef HAVE_RB_COMPLEX_NEW
rb_define_method(cls, "rb_complex_new", complex_spec_rb_complex_new, 2);
-#endif
-
-#ifdef HAVE_RB_COMPLEX_NEW1
rb_define_method(cls, "rb_complex_new1", complex_spec_rb_complex_new1, 1);
-#endif
-
-#ifdef HAVE_RB_COMPLEX_NEW2
rb_define_method(cls, "rb_complex_new2", complex_spec_rb_complex_new2, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/constants_spec.c b/spec/ruby/optional/capi/ext/constants_spec.c
index 7751b12224..c8ae843016 100644
--- a/spec/ruby/optional/capi/ext/constants_spec.c
+++ b/spec/ruby/optional/capi/ext/constants_spec.c
@@ -5,640 +5,333 @@
extern "C" {
#endif
-#ifdef HAVE_RB_CARRAY
static VALUE constants_spec_rb_cArray(VALUE self) {
return rb_cArray;
}
-#endif
-#ifdef HAVE_RB_CBIGNUM
+#ifndef RUBY_INTEGER_UNIFICATION
static VALUE constants_spec_rb_cBignum(VALUE self) {
return rb_cBignum;
}
#endif
-#ifdef HAVE_RB_CCLASS
static VALUE constants_spec_rb_cClass(VALUE self) {
return rb_cClass;
}
-#endif
-#ifdef HAVE_RB_CDATA
static VALUE constants_spec_rb_cData(VALUE self) {
return rb_cData;
}
-#endif
-#ifdef HAVE_RB_CFALSECLASS
static VALUE constants_spec_rb_cFalseClass(VALUE self) {
return rb_cFalseClass;
}
-#endif
-#ifdef HAVE_RB_CFILE
static VALUE constants_spec_rb_cFile(VALUE self) {
return rb_cFile;
}
-#endif
-#ifdef HAVE_RB_CFIXNUM
+#ifndef RUBY_INTEGER_UNIFICATION
static VALUE constants_spec_rb_cFixnum(VALUE self) {
return rb_cFixnum;
}
#endif
-#ifdef HAVE_RB_CFLOAT
static VALUE constants_spec_rb_cFloat(VALUE self) {
return rb_cFloat;
}
-#endif
-#ifdef HAVE_RB_CHASH
static VALUE constants_spec_rb_cHash(VALUE self) {
return rb_cHash;
}
-#endif
-#ifdef HAVE_RB_CINTEGER
static VALUE constants_spec_rb_cInteger(VALUE self) {
return rb_cInteger;
}
-#endif
-#ifdef HAVE_RB_CIO
static VALUE constants_spec_rb_cIO(VALUE self) {
return rb_cIO;
}
-#endif
-#ifdef HAVE_RB_CMODULE
static VALUE constants_spec_rb_cModule(VALUE self) {
return rb_cModule;
}
-#endif
-#ifdef HAVE_RB_CMATCH
static VALUE constants_spec_rb_cMatch(VALUE self) {
return rb_cMatch;
}
-#endif
-#ifdef HAVE_RB_CNILCLASS
static VALUE constants_spec_rb_cNilClass(VALUE self) {
return rb_cNilClass;
}
-#endif
-#ifdef HAVE_RB_CNUMERIC
static VALUE constants_spec_rb_cNumeric(VALUE self) {
return rb_cNumeric;
}
-#endif
-#ifdef HAVE_RB_COBJECT
static VALUE constants_spec_rb_cObject(VALUE self) {
return rb_cObject;
}
-#endif
-#ifdef HAVE_RB_CRANGE
static VALUE constants_spec_rb_cRange(VALUE self) {
return rb_cRange;
}
-#endif
-#ifdef HAVE_RB_CREGEXP
static VALUE constants_spec_rb_cRegexp(VALUE self) {
return rb_cRegexp;
}
-#endif
-#ifdef HAVE_RB_CSTRING
static VALUE constants_spec_rb_cString(VALUE self) {
return rb_cString;
}
-#endif
-#ifdef HAVE_RB_CSTRUCT
static VALUE constants_spec_rb_cStruct(VALUE self) {
return rb_cStruct;
}
-#endif
-#ifdef HAVE_RB_CSYMBOL
static VALUE constants_spec_rb_cSymbol(VALUE self) {
return rb_cSymbol;
}
-#endif
-#ifdef HAVE_RB_CTIME
static VALUE constants_spec_rb_cTime(VALUE self) {
return rb_cTime;
}
-#endif
-#ifdef HAVE_RB_CTHREAD
static VALUE constants_spec_rb_cThread(VALUE self) {
return rb_cThread;
}
-#endif
-#ifdef HAVE_RB_CTRUECLASS
static VALUE constants_spec_rb_cTrueClass(VALUE self) {
return rb_cTrueClass;
}
-#endif
-#ifdef HAVE_RB_CPROC
static VALUE constants_spec_rb_cProc(VALUE self) {
return rb_cProc;
}
-#endif
-#ifdef HAVE_RB_CMETHOD
static VALUE constants_spec_rb_cMethod(VALUE self) {
return rb_cMethod;
}
-#endif
-#ifdef HAVE_RB_CENUMERATOR
static VALUE constants_spec_rb_cEnumerator(VALUE self) {
return rb_cEnumerator;
}
-#endif
-#ifdef HAVE_RB_MCOMPARABLE
static VALUE constants_spec_rb_mComparable(VALUE self) {
return rb_mComparable;
}
-#endif
-#ifdef HAVE_RB_MENUMERABLE
static VALUE constants_spec_rb_mEnumerable(VALUE self) {
return rb_mEnumerable;
}
-#endif
-#ifdef HAVE_RB_MKERNEL
static VALUE constants_spec_rb_mKernel(VALUE self) {
return rb_mKernel;
}
-#endif
-#ifdef HAVE_RB_EARGERROR
static VALUE constants_spec_rb_eArgError(VALUE self) {
return rb_eArgError;
}
-#endif
-#ifdef HAVE_RB_EEOFERROR
static VALUE constants_spec_rb_eEOFError(VALUE self) {
return rb_eEOFError;
}
-#endif
-#ifdef HAVE_RB_MERRNO
static VALUE constants_spec_rb_mErrno(VALUE self) {
return rb_mErrno;
}
-#endif
-#ifdef HAVE_RB_EEXCEPTION
static VALUE constants_spec_rb_eException(VALUE self) {
return rb_eException;
}
-#endif
-#ifdef HAVE_RB_EFLOATDOMAINERROR
static VALUE constants_spec_rb_eFloatDomainError(VALUE self) {
return rb_eFloatDomainError;
}
-#endif
-#ifdef HAVE_RB_EINDEXERROR
static VALUE constants_spec_rb_eIndexError(VALUE self) {
return rb_eIndexError;
}
-#endif
-#ifdef HAVE_RB_EINTERRUPT
static VALUE constants_spec_rb_eInterrupt(VALUE self) {
return rb_eInterrupt;
}
-#endif
-#ifdef HAVE_RB_EIOERROR
static VALUE constants_spec_rb_eIOError(VALUE self) {
return rb_eIOError;
}
-#endif
-#ifdef HAVE_RB_ELOADERROR
static VALUE constants_spec_rb_eLoadError(VALUE self) {
return rb_eLoadError;
}
-#endif
-#ifdef HAVE_RB_ELOCALJUMPERROR
static VALUE constants_spec_rb_eLocalJumpError(VALUE self) {
return rb_eLocalJumpError;
}
-#endif
-#ifdef HAVE_RB_ENAMEERROR
static VALUE constants_spec_rb_eNameError(VALUE self) {
return rb_eNameError;
}
-#endif
-#ifdef HAVE_RB_ENOMEMERROR
static VALUE constants_spec_rb_eNoMemError(VALUE self) {
return rb_eNoMemError;
}
-#endif
-#ifdef HAVE_RB_ENOMETHODERROR
static VALUE constants_spec_rb_eNoMethodError(VALUE self) {
return rb_eNoMethodError;
}
-#endif
-#ifdef HAVE_RB_ENOTIMPERROR
static VALUE constants_spec_rb_eNotImpError(VALUE self) {
return rb_eNotImpError;
}
-#endif
-#ifdef HAVE_RB_ERANGEERROR
static VALUE constants_spec_rb_eRangeError(VALUE self) {
return rb_eRangeError;
}
-#endif
-#ifdef HAVE_RB_EREGEXPERROR
static VALUE constants_spec_rb_eRegexpError(VALUE self) {
return rb_eRegexpError;
}
-#endif
-#ifdef HAVE_RB_ERUNTIMEERROR
static VALUE constants_spec_rb_eRuntimeError(VALUE self) {
return rb_eRuntimeError;
}
-#endif
-#ifdef HAVE_RB_ESCRIPTERROR
static VALUE constants_spec_rb_eScriptError(VALUE self) {
return rb_eScriptError;
}
-#endif
-#ifdef HAVE_RB_ESECURITYERROR
static VALUE constants_spec_rb_eSecurityError(VALUE self) {
return rb_eSecurityError;
}
-#endif
-#ifdef HAVE_RB_ESIGNAL
static VALUE constants_spec_rb_eSignal(VALUE self) {
return rb_eSignal;
}
-#endif
-#ifdef HAVE_RB_ESTANDARDERROR
static VALUE constants_spec_rb_eStandardError(VALUE self) {
return rb_eStandardError;
}
-#endif
-#ifdef HAVE_RB_ESYNTAXERROR
static VALUE constants_spec_rb_eSyntaxError(VALUE self) {
return rb_eSyntaxError;
}
-#endif
-#ifdef HAVE_RB_ESYSTEMCALLERROR
static VALUE constants_spec_rb_eSystemCallError(VALUE self) {
return rb_eSystemCallError;
}
-#endif
-#ifdef HAVE_RB_ESYSTEMEXIT
static VALUE constants_spec_rb_eSystemExit(VALUE self) {
return rb_eSystemExit;
}
-#endif
-#ifdef HAVE_RB_ESYSSTACKERROR
static VALUE constants_spec_rb_eSysStackError(VALUE self) {
return rb_eSysStackError;
}
-#endif
-#ifdef HAVE_RB_ETYPEERROR
static VALUE constants_spec_rb_eTypeError(VALUE self) {
return rb_eTypeError;
}
-#endif
-#ifdef HAVE_RB_ETHREADERROR
static VALUE constants_spec_rb_eThreadError(VALUE self) {
return rb_eThreadError;
}
-#endif
-#ifdef HAVE_RB_EZERODIVERROR
static VALUE constants_spec_rb_eZeroDivError(VALUE self) {
return rb_eZeroDivError;
}
-#endif
-#ifdef HAVE_RB_EMATHDOMAINERROR
static VALUE constants_spec_rb_eMathDomainError(VALUE self) {
return rb_eMathDomainError;
}
-#endif
-#ifdef HAVE_RB_EENCCOMPATERROR
static VALUE constants_spec_rb_eEncCompatError(VALUE self) {
return rb_eEncCompatError;
}
-#endif
-#ifdef HAVE_RB_MWAITREADABLE
static VALUE constants_spec_rb_mWaitReadable(VALUE self) {
return rb_mWaitReadable;
}
-#endif
-#ifdef HAVE_RB_MWAITWRITABLE
static VALUE constants_spec_rb_mWaitWritable(VALUE self) {
return rb_mWaitWritable;
}
-#endif
-#ifdef HAVE_RB_CDIR
static VALUE constants_spec_rb_cDir(VALUE self) {
return rb_cDir;
}
-#endif
void Init_constants_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiConstantsSpecs", rb_cObject);
-
-#ifdef HAVE_RB_CARRAY
+ VALUE cls = rb_define_class("CApiConstantsSpecs", rb_cObject);
rb_define_method(cls, "rb_cArray", constants_spec_rb_cArray, 0);
-#endif
-
-#ifdef HAVE_RB_CBIGNUM
+#ifndef RUBY_INTEGER_UNIFICATION
rb_define_method(cls, "rb_cBignum", constants_spec_rb_cBignum, 0);
#endif
-#ifdef HAVE_RB_CCLASS
rb_define_method(cls, "rb_cClass", constants_spec_rb_cClass, 0);
-#endif
-
-#ifdef HAVE_RB_CDATA
rb_define_method(cls, "rb_cData", constants_spec_rb_cData, 0);
-#endif
-
-#ifdef HAVE_RB_CFALSECLASS
rb_define_method(cls, "rb_cFalseClass", constants_spec_rb_cFalseClass, 0);
-#endif
-
-#ifdef HAVE_RB_CFILE
rb_define_method(cls, "rb_cFile", constants_spec_rb_cFile, 0);
-#endif
-
-#ifdef HAVE_RB_CFIXNUM
+#ifndef RUBY_INTEGER_UNIFICATION
rb_define_method(cls, "rb_cFixnum", constants_spec_rb_cFixnum, 0);
#endif
-#ifdef HAVE_RB_CFLOAT
rb_define_method(cls, "rb_cFloat", constants_spec_rb_cFloat, 0);
-#endif
-
-#ifdef HAVE_RB_CHASH
rb_define_method(cls, "rb_cHash", constants_spec_rb_cHash, 0);
-#endif
-
-#ifdef HAVE_RB_CINTEGER
rb_define_method(cls, "rb_cInteger", constants_spec_rb_cInteger, 0);
-#endif
-
-#ifdef HAVE_RB_CIO
rb_define_method(cls, "rb_cIO", constants_spec_rb_cIO, 0);
-#endif
-
-#ifdef HAVE_RB_CMATCH
rb_define_method(cls, "rb_cMatch", constants_spec_rb_cMatch, 0);
-#endif
-
-#ifdef HAVE_RB_CMODULE
rb_define_method(cls, "rb_cModule", constants_spec_rb_cModule, 0);
-#endif
-
-#ifdef HAVE_RB_CNILCLASS
rb_define_method(cls, "rb_cNilClass", constants_spec_rb_cNilClass, 0);
-#endif
-
-#ifdef HAVE_RB_CNUMERIC
rb_define_method(cls, "rb_cNumeric", constants_spec_rb_cNumeric, 0);
-#endif
-
-#ifdef HAVE_RB_COBJECT
rb_define_method(cls, "rb_cObject", constants_spec_rb_cObject, 0);
-#endif
-
-#ifdef HAVE_RB_CRANGE
rb_define_method(cls, "rb_cRange", constants_spec_rb_cRange, 0);
-#endif
-
-#ifdef HAVE_RB_CREGEXP
rb_define_method(cls, "rb_cRegexp", constants_spec_rb_cRegexp, 0);
-#endif
-
-#ifdef HAVE_RB_CSTRING
rb_define_method(cls, "rb_cString", constants_spec_rb_cString, 0);
-#endif
-
-#ifdef HAVE_RB_CSTRUCT
rb_define_method(cls, "rb_cStruct", constants_spec_rb_cStruct, 0);
-#endif
-
-#ifdef HAVE_RB_CSYMBOL
rb_define_method(cls, "rb_cSymbol", constants_spec_rb_cSymbol, 0);
-#endif
-
-#ifdef HAVE_RB_CTIME
rb_define_method(cls, "rb_cTime", constants_spec_rb_cTime, 0);
-#endif
-
-#ifdef HAVE_RB_CTHREAD
rb_define_method(cls, "rb_cThread", constants_spec_rb_cThread, 0);
-#endif
-
-#ifdef HAVE_RB_CTRUECLASS
rb_define_method(cls, "rb_cTrueClass", constants_spec_rb_cTrueClass, 0);
-#endif
-
-#ifdef HAVE_RB_CPROC
rb_define_method(cls, "rb_cProc", constants_spec_rb_cProc, 0);
-#endif
-
-#ifdef HAVE_RB_CMETHOD
rb_define_method(cls, "rb_cMethod", constants_spec_rb_cMethod, 0);
-#endif
-
-#ifdef HAVE_RB_CENUMERATOR
rb_define_method(cls, "rb_cEnumerator", constants_spec_rb_cEnumerator, 0);
-#endif
-
-#ifdef HAVE_RB_MCOMPARABLE
rb_define_method(cls, "rb_mComparable", constants_spec_rb_mComparable, 0);
-#endif
-
-#ifdef HAVE_RB_MENUMERABLE
rb_define_method(cls, "rb_mEnumerable", constants_spec_rb_mEnumerable, 0);
-#endif
-
-#ifdef HAVE_RB_MKERNEL
rb_define_method(cls, "rb_mKernel", constants_spec_rb_mKernel, 0);
-#endif
-
-#ifdef HAVE_RB_EARGERROR
rb_define_method(cls, "rb_eArgError", constants_spec_rb_eArgError, 0);
-#endif
-
-#ifdef HAVE_RB_EEOFERROR
rb_define_method(cls, "rb_eEOFError", constants_spec_rb_eEOFError, 0);
-#endif
-
-#ifdef HAVE_RB_MERRNO
rb_define_method(cls, "rb_mErrno", constants_spec_rb_mErrno, 0);
-#endif
-
-#ifdef HAVE_RB_EEXCEPTION
rb_define_method(cls, "rb_eException", constants_spec_rb_eException, 0);
-#endif
-
-#ifdef HAVE_RB_EFLOATDOMAINERROR
rb_define_method(cls, "rb_eFloatDomainError", constants_spec_rb_eFloatDomainError, 0);
-#endif
-
-#ifdef HAVE_RB_EINDEXERROR
rb_define_method(cls, "rb_eIndexError", constants_spec_rb_eIndexError, 0);
-#endif
-
-#ifdef HAVE_RB_EINTERRUPT
rb_define_method(cls, "rb_eInterrupt", constants_spec_rb_eInterrupt, 0);
-#endif
-
-#ifdef HAVE_RB_EIOERROR
rb_define_method(cls, "rb_eIOError", constants_spec_rb_eIOError, 0);
-#endif
-
-#ifdef HAVE_RB_ELOADERROR
rb_define_method(cls, "rb_eLoadError", constants_spec_rb_eLoadError, 0);
-#endif
-
-#ifdef HAVE_RB_ELOCALJUMPERROR
rb_define_method(cls, "rb_eLocalJumpError", constants_spec_rb_eLocalJumpError, 0);
-#endif
-
-#ifdef HAVE_RB_ENAMEERROR
rb_define_method(cls, "rb_eNameError", constants_spec_rb_eNameError, 0);
-#endif
-
-#ifdef HAVE_RB_ENOMEMERROR
rb_define_method(cls, "rb_eNoMemError", constants_spec_rb_eNoMemError, 0);
-#endif
-
-#ifdef HAVE_RB_ENOMETHODERROR
rb_define_method(cls, "rb_eNoMethodError", constants_spec_rb_eNoMethodError, 0);
-#endif
-
-#ifdef HAVE_RB_ENOTIMPERROR
rb_define_method(cls, "rb_eNotImpError", constants_spec_rb_eNotImpError, 0);
-#endif
-
-#ifdef HAVE_RB_ERANGEERROR
rb_define_method(cls, "rb_eRangeError", constants_spec_rb_eRangeError, 0);
-#endif
-
-#ifdef HAVE_RB_EREGEXPERROR
rb_define_method(cls, "rb_eRegexpError", constants_spec_rb_eRegexpError, 0);
-#endif
-
-#ifdef HAVE_RB_ERUNTIMEERROR
rb_define_method(cls, "rb_eRuntimeError", constants_spec_rb_eRuntimeError, 0);
-#endif
-
-#ifdef HAVE_RB_ESCRIPTERROR
rb_define_method(cls, "rb_eScriptError", constants_spec_rb_eScriptError, 0);
-#endif
-
-#ifdef HAVE_RB_ESECURITYERROR
rb_define_method(cls, "rb_eSecurityError", constants_spec_rb_eSecurityError, 0);
-#endif
-
-#ifdef HAVE_RB_ESIGNAL
rb_define_method(cls, "rb_eSignal", constants_spec_rb_eSignal, 0);
-#endif
-
-#ifdef HAVE_RB_ESTANDARDERROR
rb_define_method(cls, "rb_eStandardError", constants_spec_rb_eStandardError, 0);
-#endif
-
-#ifdef HAVE_RB_ESYNTAXERROR
rb_define_method(cls, "rb_eSyntaxError", constants_spec_rb_eSyntaxError, 0);
-#endif
-
-#ifdef HAVE_RB_ESYSTEMCALLERROR
rb_define_method(cls, "rb_eSystemCallError", constants_spec_rb_eSystemCallError, 0);
-#endif
-
-#ifdef HAVE_RB_ESYSTEMEXIT
rb_define_method(cls, "rb_eSystemExit", constants_spec_rb_eSystemExit, 0);
-#endif
-
-#ifdef HAVE_RB_ESYSSTACKERROR
rb_define_method(cls, "rb_eSysStackError", constants_spec_rb_eSysStackError, 0);
-#endif
-
-#ifdef HAVE_RB_ETYPEERROR
rb_define_method(cls, "rb_eTypeError", constants_spec_rb_eTypeError, 0);
-#endif
-
-#ifdef HAVE_RB_ETHREADERROR
rb_define_method(cls, "rb_eThreadError", constants_spec_rb_eThreadError, 0);
-#endif
-
-#ifdef HAVE_RB_EZERODIVERROR
rb_define_method(cls, "rb_eZeroDivError", constants_spec_rb_eZeroDivError, 0);
-#endif
-
-#ifdef HAVE_RB_EMATHDOMAINERROR
rb_define_method(cls, "rb_eMathDomainError", constants_spec_rb_eMathDomainError, 0);
-#endif
-
-#ifdef HAVE_RB_EENCCOMPATERROR
rb_define_method(cls, "rb_eEncCompatError", constants_spec_rb_eEncCompatError, 0);
-#endif
-
-#ifdef HAVE_RB_MWAITREADABLE
rb_define_method(cls, "rb_mWaitReadable", constants_spec_rb_mWaitReadable, 0);
-#endif
-
-#ifdef HAVE_RB_MWAITWRITABLE
rb_define_method(cls, "rb_mWaitWritable", constants_spec_rb_mWaitWritable, 0);
-#endif
-
-#ifdef HAVE_RB_CDIR
rb_define_method(cls, "rb_cDir", constants_spec_rb_cDir, 0);
-#endif
-
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/data_spec.c b/spec/ruby/optional/capi/ext/data_spec.c
index ac6b51b454..a41666f655 100644
--- a/spec/ruby/optional/capi/ext/data_spec.c
+++ b/spec/ruby/optional/capi/ext/data_spec.c
@@ -7,7 +7,6 @@
extern "C" {
#endif
-#if defined(HAVE_RDATA) && defined(HAVE_DATA_WRAP_STRUCT)
struct sample_wrapped_struct {
int foo;
};
@@ -66,23 +65,17 @@ VALUE sws_change_struct(VALUE self, VALUE obj, VALUE new_val) {
RDATA(obj)->data = new_struct;
return Qnil;
}
-#endif
void Init_data_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiAllocSpecs", rb_cObject);
-
-#if defined(HAVE_RDATA) && defined(HAVE_DATA_WRAP_STRUCT)
+ VALUE cls = rb_define_class("CApiAllocSpecs", rb_cObject);
rb_define_alloc_func(cls, sdaf_alloc_func);
rb_define_method(cls, "wrapped_data", sdaf_get_struct, 0);
-
cls = rb_define_class("CApiWrappedStructSpecs", rb_cObject);
rb_define_method(cls, "wrap_struct", sws_wrap_struct, 1);
rb_define_method(cls, "get_struct", sws_get_struct, 1);
rb_define_method(cls, "get_struct_rdata", sws_get_struct_rdata, 1);
rb_define_method(cls, "get_struct_data_ptr", sws_get_struct_data_ptr, 1);
rb_define_method(cls, "change_struct", sws_change_struct, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/encoding_spec.c b/spec/ruby/optional/capi/ext/encoding_spec.c
index 9ab893b86a..3cde884225 100644
--- a/spec/ruby/optional/capi/ext/encoding_spec.c
+++ b/spec/ruby/optional/capi/ext/encoding_spec.c
@@ -7,7 +7,6 @@
extern "C" {
#endif
-#ifdef HAVE_ENC_CODERANGE_ASCIIONLY
static VALUE encoding_spec_ENC_CODERANGE_ASCIIONLY(VALUE self, VALUE obj) {
if(ENC_CODERANGE_ASCIIONLY(obj)) {
return Qtrue;
@@ -15,103 +14,73 @@ static VALUE encoding_spec_ENC_CODERANGE_ASCIIONLY(VALUE self, VALUE obj) {
return Qfalse;
}
}
-#endif
-#ifdef HAVE_RB_USASCII_ENCODING
static VALUE encoding_spec_rb_usascii_encoding(VALUE self) {
return rb_str_new2(rb_usascii_encoding()->name);
}
-#endif
-#ifdef HAVE_RB_USASCII_ENCINDEX
static VALUE encoding_spec_rb_usascii_encindex(VALUE self) {
return INT2NUM(rb_usascii_encindex());
}
-#endif
-#ifdef HAVE_RB_ASCII8BIT_ENCODING
static VALUE encoding_spec_rb_ascii8bit_encoding(VALUE self) {
return rb_str_new2(rb_ascii8bit_encoding()->name);
}
-#endif
-#ifdef HAVE_RB_ASCII8BIT_ENCINDEX
static VALUE encoding_spec_rb_ascii8bit_encindex(VALUE self) {
return INT2NUM(rb_ascii8bit_encindex());
}
-#endif
-#ifdef HAVE_RB_UTF8_ENCODING
static VALUE encoding_spec_rb_utf8_encoding(VALUE self) {
return rb_str_new2(rb_utf8_encoding()->name);
}
-#endif
-#ifdef HAVE_RB_UTF8_ENCINDEX
static VALUE encoding_spec_rb_utf8_encindex(VALUE self) {
return INT2NUM(rb_utf8_encindex());
}
-#endif
-#ifdef HAVE_RB_LOCALE_ENCODING
static VALUE encoding_spec_rb_locale_encoding(VALUE self) {
return rb_str_new2(rb_locale_encoding()->name);
}
-#endif
-#ifdef HAVE_RB_LOCALE_ENCINDEX
static VALUE encoding_spec_rb_locale_encindex(VALUE self) {
return INT2NUM(rb_locale_encindex());
}
-#endif
-#ifdef HAVE_RB_FILESYSTEM_ENCODING
static VALUE encoding_spec_rb_filesystem_encoding(VALUE self) {
return rb_str_new2(rb_filesystem_encoding()->name);
}
-#endif
-#ifdef HAVE_RB_FILESYSTEM_ENCINDEX
static VALUE encoding_spec_rb_filesystem_encindex(VALUE self) {
return INT2NUM(rb_filesystem_encindex());
}
-#endif
-#ifdef HAVE_RB_DEFAULT_INTERNAL_ENCODING
static VALUE encoding_spec_rb_default_internal_encoding(VALUE self) {
rb_encoding* enc = rb_default_internal_encoding();
if(enc == 0) return Qnil;
return rb_str_new2(enc->name);
}
-#endif
-#ifdef HAVE_RB_DEFAULT_EXTERNAL_ENCODING
static VALUE encoding_spec_rb_default_external_encoding(VALUE self) {
rb_encoding* enc = rb_default_external_encoding();
if(enc == 0) return Qnil;
return rb_str_new2(enc->name);
}
-#endif
-#ifdef HAVE_RB_ENC_ALIAS
+#ifdef RUBY_VERSION_IS_2_6
static VALUE encoding_spec_rb_enc_alias(VALUE self, VALUE alias, VALUE orig) {
return INT2NUM(rb_enc_alias(RSTRING_PTR(alias), RSTRING_PTR(orig)));
}
#endif
-#if defined(HAVE_RB_ENC_ASSOCIATE) && defined(HAVE_RB_ENC_FIND)
static VALUE encoding_spec_rb_enc_associate(VALUE self, VALUE obj, VALUE enc) {
return rb_enc_associate(obj, NIL_P(enc) ? NULL : rb_enc_find(RSTRING_PTR(enc)));
}
-#endif
-#if defined(HAVE_RB_ENC_ASSOCIATE_INDEX) && defined(HAVE_RB_ENC_FIND_INDEX)
static VALUE encoding_spec_rb_enc_associate_index(VALUE self, VALUE obj, VALUE index) {
return rb_enc_associate_index(obj, FIX2INT(index));
}
-#endif
-#ifdef HAVE_RB_ENC_COMPATIBLE
static VALUE encoding_spec_rb_enc_compatible(VALUE self, VALUE a, VALUE b) {
rb_encoding* enc = rb_enc_compatible(a, b);
@@ -119,58 +88,40 @@ static VALUE encoding_spec_rb_enc_compatible(VALUE self, VALUE a, VALUE b) {
return rb_enc_from_encoding(enc);
}
-#endif
-#ifdef HAVE_RB_ENC_COPY
static VALUE encoding_spec_rb_enc_copy(VALUE self, VALUE dest, VALUE src) {
rb_enc_copy(dest, src);
return dest;
}
-#endif
-#ifdef HAVE_RB_ENC_FIND
static VALUE encoding_spec_rb_enc_find(VALUE self, VALUE name) {
return rb_str_new2(rb_enc_find(RSTRING_PTR(name))->name);
}
-#endif
-#ifdef HAVE_RB_ENC_FIND_INDEX
static VALUE encoding_spec_rb_enc_find_index(VALUE self, VALUE name) {
return INT2NUM(rb_enc_find_index(RSTRING_PTR(name)));
}
-#endif
-#ifdef HAVE_RB_ENC_FROM_INDEX
static VALUE encoding_spec_rb_enc_from_index(VALUE self, VALUE index) {
return rb_str_new2(rb_enc_from_index(NUM2INT(index))->name);
}
-#endif
-#ifdef HAVE_RB_ENC_FROM_ENCODING
static VALUE encoding_spec_rb_enc_from_encoding(VALUE self, VALUE name) {
return rb_enc_from_encoding(rb_enc_find(RSTRING_PTR(name)));
}
-#endif
-#ifdef HAVE_RB_ENC_GET
static VALUE encoding_spec_rb_enc_get(VALUE self, VALUE obj) {
return rb_str_new2(rb_enc_get(obj)->name);
}
-#endif
-#ifdef HAVE_RB_OBJ_ENCODING
static VALUE encoding_spec_rb_obj_encoding(VALUE self, VALUE obj) {
return rb_obj_encoding(obj);
}
-#endif
-#ifdef HAVE_RB_ENC_GET_INDEX
static VALUE encoding_spec_rb_enc_get_index(VALUE self, VALUE obj) {
return INT2NUM(rb_enc_get_index(obj));
}
-#endif
-#if defined(HAVE_RB_ENC_SET_INDEX) && defined(HAVE_RB_ENC_FROM_INDEX)
static VALUE encoding_spec_rb_enc_set_index(VALUE self, VALUE obj, VALUE index) {
int i = NUM2INT(index);
@@ -180,9 +131,7 @@ static VALUE encoding_spec_rb_enc_set_index(VALUE self, VALUE obj, VALUE index)
return rb_ary_new3(2, rb_str_new2(rb_enc_name(enc)),
rb_str_new2(rb_enc_name(rb_enc_get(obj))));
}
-#endif
-#ifdef HAVE_RB_ENC_STR_CODERANGE
static VALUE encoding_spec_rb_enc_str_coderange(VALUE self, VALUE str) {
int coderange = rb_enc_str_coderange(str);
@@ -199,21 +148,15 @@ static VALUE encoding_spec_rb_enc_str_coderange(VALUE self, VALUE str) {
return ID2SYM(rb_intern("coderange_unrecognized"));
}
}
-#endif
-#ifdef HAVE_RB_ENC_STR_NEW
static VALUE encoding_spec_rb_enc_str_new(VALUE self, VALUE str, VALUE len, VALUE enc) {
return rb_enc_str_new(RSTRING_PTR(str), FIX2INT(len), rb_to_encoding(enc));
}
-#endif
-#ifdef HAVE_ENCODING_GET
static VALUE encoding_spec_ENCODING_GET(VALUE self, VALUE obj) {
return INT2NUM(ENCODING_GET(obj));
}
-#endif
-#ifdef HAVE_ENCODING_SET
static VALUE encoding_spec_ENCODING_SET(VALUE self, VALUE obj, VALUE index) {
int i = NUM2INT(index);
@@ -223,36 +166,26 @@ static VALUE encoding_spec_ENCODING_SET(VALUE self, VALUE obj, VALUE index) {
return rb_ary_new3(2, rb_str_new2(rb_enc_name(enc)),
rb_str_new2(rb_enc_name(rb_enc_get(obj))));
}
-#endif
-#if defined(HAVE_RB_ENC_TO_INDEX) && defined(HAVE_RB_ENC_FIND)
static VALUE encoding_spec_rb_enc_to_index(VALUE self, VALUE name) {
return INT2NUM(rb_enc_to_index(NIL_P(name) ? NULL : rb_enc_find(RSTRING_PTR(name))));
}
-#endif
-#ifdef HAVE_RB_TO_ENCODING
static VALUE encoding_spec_rb_to_encoding(VALUE self, VALUE obj) {
return rb_str_new2(rb_to_encoding(obj)->name);
}
-#endif
-#ifdef HAVE_RB_TO_ENCODING_INDEX
static VALUE encoding_spec_rb_to_encoding_index(VALUE self, VALUE obj) {
return INT2NUM(rb_to_encoding_index(obj));
}
-#endif
-#ifdef HAVE_RB_ENC_NTH
static VALUE encoding_spec_rb_enc_nth(VALUE self, VALUE str, VALUE index) {
char* start = RSTRING_PTR(str);
char* end = start + RSTRING_LEN(str);
char* ptr = rb_enc_nth(start, end, FIX2LONG(index), rb_enc_get(str));
return LONG2NUM(ptr - start);
}
-#endif
-#ifdef HAVE_RB_ENC_CODEPOINT_LEN
static VALUE encoding_spec_rb_enc_codepoint_len(VALUE self, VALUE str) {
char* start = RSTRING_PTR(str);
char* end = start + RSTRING_LEN(str);
@@ -262,154 +195,53 @@ static VALUE encoding_spec_rb_enc_codepoint_len(VALUE self, VALUE str) {
return rb_ary_new3(2, LONG2NUM(codepoint), LONG2NUM(len));
}
-#endif
void Init_encoding_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiEncodingSpecs", rb_cObject);
-
-#ifdef HAVE_ENC_CODERANGE_ASCIIONLY
+ VALUE cls = rb_define_class("CApiEncodingSpecs", rb_cObject);
rb_define_method(cls, "ENC_CODERANGE_ASCIIONLY",
encoding_spec_ENC_CODERANGE_ASCIIONLY, 1);
-#endif
-#ifdef HAVE_RB_USASCII_ENCODING
rb_define_method(cls, "rb_usascii_encoding", encoding_spec_rb_usascii_encoding, 0);
-#endif
-
-#ifdef HAVE_RB_USASCII_ENCINDEX
rb_define_method(cls, "rb_usascii_encindex", encoding_spec_rb_usascii_encindex, 0);
-#endif
-
-#ifdef HAVE_RB_ASCII8BIT_ENCODING
rb_define_method(cls, "rb_ascii8bit_encoding", encoding_spec_rb_ascii8bit_encoding, 0);
-#endif
-
-#ifdef HAVE_RB_ASCII8BIT_ENCINDEX
rb_define_method(cls, "rb_ascii8bit_encindex", encoding_spec_rb_ascii8bit_encindex, 0);
-#endif
-
-#ifdef HAVE_RB_UTF8_ENCODING
rb_define_method(cls, "rb_utf8_encoding", encoding_spec_rb_utf8_encoding, 0);
-#endif
-
-#ifdef HAVE_RB_UTF8_ENCINDEX
rb_define_method(cls, "rb_utf8_encindex", encoding_spec_rb_utf8_encindex, 0);
-#endif
-
-#ifdef HAVE_RB_LOCALE_ENCODING
rb_define_method(cls, "rb_locale_encoding", encoding_spec_rb_locale_encoding, 0);
-#endif
-
-#ifdef HAVE_RB_LOCALE_ENCINDEX
rb_define_method(cls, "rb_locale_encindex", encoding_spec_rb_locale_encindex, 0);
-#endif
-
-#ifdef HAVE_RB_FILESYSTEM_ENCODING
rb_define_method(cls, "rb_filesystem_encoding", encoding_spec_rb_filesystem_encoding, 0);
-#endif
-
-#ifdef HAVE_RB_FILESYSTEM_ENCINDEX
rb_define_method(cls, "rb_filesystem_encindex", encoding_spec_rb_filesystem_encindex, 0);
-#endif
-
-#ifdef HAVE_RB_DEFAULT_INTERNAL_ENCODING
rb_define_method(cls, "rb_default_internal_encoding",
encoding_spec_rb_default_internal_encoding, 0);
-#endif
-#ifdef HAVE_RB_DEFAULT_EXTERNAL_ENCODING
rb_define_method(cls, "rb_default_external_encoding",
encoding_spec_rb_default_external_encoding, 0);
-#endif
-#ifdef HAVE_RB_ENC_ALIAS
+#ifdef RUBY_VERSION_IS_2_6
rb_define_method(cls, "rb_enc_alias", encoding_spec_rb_enc_alias, 2);
#endif
-#ifdef HAVE_RB_ENC_ASSOCIATE
rb_define_method(cls, "rb_enc_associate", encoding_spec_rb_enc_associate, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_ASSOCIATE_INDEX
rb_define_method(cls, "rb_enc_associate_index", encoding_spec_rb_enc_associate_index, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_COMPATIBLE
rb_define_method(cls, "rb_enc_compatible", encoding_spec_rb_enc_compatible, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_COPY
rb_define_method(cls, "rb_enc_copy", encoding_spec_rb_enc_copy, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_FIND
rb_define_method(cls, "rb_enc_find", encoding_spec_rb_enc_find, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_FIND_INDEX
rb_define_method(cls, "rb_enc_find_index", encoding_spec_rb_enc_find_index, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_FROM_INDEX
rb_define_method(cls, "rb_enc_from_index", encoding_spec_rb_enc_from_index, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_FROM_ENCODING
rb_define_method(cls, "rb_enc_from_encoding", encoding_spec_rb_enc_from_encoding, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_GET
rb_define_method(cls, "rb_enc_get", encoding_spec_rb_enc_get, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_ENCODING
rb_define_method(cls, "rb_obj_encoding", encoding_spec_rb_obj_encoding, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_GET_INDEX
rb_define_method(cls, "rb_enc_get_index", encoding_spec_rb_enc_get_index, 1);
-#endif
-
-#if defined(HAVE_RB_ENC_SET_INDEX) && defined(HAVE_RB_ENC_FROM_INDEX)
rb_define_method(cls, "rb_enc_set_index", encoding_spec_rb_enc_set_index, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_STR_CODERANGE
rb_define_method(cls, "rb_enc_str_coderange", encoding_spec_rb_enc_str_coderange, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_STR_NEW
rb_define_method(cls, "rb_enc_str_new", encoding_spec_rb_enc_str_new, 3);
-#endif
-
-#ifdef HAVE_ENCODING_GET
rb_define_method(cls, "ENCODING_GET", encoding_spec_ENCODING_GET, 1);
-#endif
-
-#ifdef HAVE_ENCODING_SET
rb_define_method(cls, "ENCODING_SET", encoding_spec_ENCODING_SET, 2);
-#endif
-
-#if defined(HAVE_RB_ENC_TO_INDEX) && defined(HAVE_RB_ENC_FIND)
rb_define_method(cls, "rb_enc_to_index", encoding_spec_rb_enc_to_index, 1);
-#endif
-
-#ifdef HAVE_RB_TO_ENCODING
rb_define_method(cls, "rb_to_encoding", encoding_spec_rb_to_encoding, 1);
-#endif
-
-#ifdef HAVE_RB_TO_ENCODING_INDEX
rb_define_method(cls, "rb_to_encoding_index", encoding_spec_rb_to_encoding_index, 1);
-#endif
-
-#ifdef HAVE_RB_ENC_NTH
rb_define_method(cls, "rb_enc_nth", encoding_spec_rb_enc_nth, 2);
-#endif
-
-#ifdef HAVE_RB_ENC_CODEPOINT_LEN
rb_define_method(cls, "rb_enc_codepoint_len", encoding_spec_rb_enc_codepoint_len, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/enumerator_spec.c b/spec/ruby/optional/capi/ext/enumerator_spec.c
index d9e34afd96..917621c003 100644
--- a/spec/ruby/optional/capi/ext/enumerator_spec.c
+++ b/spec/ruby/optional/capi/ext/enumerator_spec.c
@@ -5,15 +5,12 @@
extern "C" {
#endif
-#ifdef HAVE_RB_ENUMERATORIZE
VALUE enumerator_spec_rb_enumeratorize(int argc, VALUE *argv, VALUE self) {
VALUE obj, meth, args;
rb_scan_args(argc, argv, "2*", &obj, &meth, &args);
return rb_enumeratorize(obj, meth, (int)RARRAY_LEN(args), RARRAY_PTR(args));
}
-#endif
-#ifdef HAVE_RB_ENUMERATORIZE_WITH_SIZE
VALUE enumerator_spec_size_fn(VALUE obj, VALUE args, VALUE anEnum) {
return INT2NUM(7);
}
@@ -23,18 +20,11 @@ VALUE enumerator_spec_rb_enumeratorize_with_size(int argc, VALUE *argv, VALUE se
rb_scan_args(argc, argv, "2*", &obj, &meth, &args);
return rb_enumeratorize_with_size(obj, meth, (int)RARRAY_LEN(args), RARRAY_PTR(args), enumerator_spec_size_fn);
}
-#endif
void Init_enumerator_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiEnumeratorSpecs", rb_cObject);
-
-#ifdef HAVE_RB_ENUMERATORIZE
+ VALUE cls = rb_define_class("CApiEnumeratorSpecs", rb_cObject);
rb_define_method(cls, "rb_enumeratorize", enumerator_spec_rb_enumeratorize, -1);
-#endif
-#ifdef HAVE_RB_ENUMERATORIZE_WITH_SIZE
rb_define_method(cls, "rb_enumeratorize_with_size", enumerator_spec_rb_enumeratorize_with_size, -1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/exception_spec.c b/spec/ruby/optional/capi/ext/exception_spec.c
index b37f74f03e..cdd86b183e 100644
--- a/spec/ruby/optional/capi/ext/exception_spec.c
+++ b/spec/ruby/optional/capi/ext/exception_spec.c
@@ -8,63 +8,37 @@
extern "C" {
#endif
-#ifdef HAVE_RB_EXC_NEW
VALUE exception_spec_rb_exc_new(VALUE self, VALUE str) {
char *cstr = StringValuePtr(str);
return rb_exc_new(rb_eException, cstr, strlen(cstr));
}
-#endif
-#ifdef HAVE_RB_EXC_NEW2
VALUE exception_spec_rb_exc_new2(VALUE self, VALUE str) {
char *cstr = StringValuePtr(str);
return rb_exc_new2(rb_eException, cstr);
}
-#endif
-#ifdef HAVE_RB_EXC_NEW3
VALUE exception_spec_rb_exc_new3(VALUE self, VALUE str) {
return rb_exc_new3(rb_eException, str);
}
-#endif
-#ifdef HAVE_RB_EXC_RAISE
VALUE exception_spec_rb_exc_raise(VALUE self, VALUE exc) {
if (self != Qundef) rb_exc_raise(exc);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_SET_ERRINFO
VALUE exception_spec_rb_set_errinfo(VALUE self, VALUE exc) {
rb_set_errinfo(exc);
return Qnil;
}
-#endif
void Init_exception_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiExceptionSpecs", rb_cObject);
-
-#ifdef HAVE_RB_EXC_NEW
+ VALUE cls = rb_define_class("CApiExceptionSpecs", rb_cObject);
rb_define_method(cls, "rb_exc_new", exception_spec_rb_exc_new, 1);
-#endif
-
-#ifdef HAVE_RB_EXC_NEW2
rb_define_method(cls, "rb_exc_new2", exception_spec_rb_exc_new2, 1);
-#endif
-
-#ifdef HAVE_RB_EXC_NEW3
rb_define_method(cls, "rb_exc_new3", exception_spec_rb_exc_new3, 1);
-#endif
-
-#ifdef HAVE_RB_EXC_RAISE
rb_define_method(cls, "rb_exc_raise", exception_spec_rb_exc_raise, 1);
-#endif
-
-#ifdef HAVE_RB_SET_ERRINFO
rb_define_method(cls, "rb_set_errinfo", exception_spec_rb_set_errinfo, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/file_spec.c b/spec/ruby/optional/capi/ext/file_spec.c
index 98f8db1595..cd4a653765 100644
--- a/spec/ruby/optional/capi/ext/file_spec.c
+++ b/spec/ruby/optional/capi/ext/file_spec.c
@@ -5,38 +5,23 @@
extern "C" {
#endif
-#ifdef HAVE_RB_FILE_OPEN
VALUE file_spec_rb_file_open(VALUE self, VALUE name, VALUE mode) {
return rb_file_open(RSTRING_PTR(name), RSTRING_PTR(mode));
}
-#endif
-#ifdef HAVE_RB_FILE_OPEN_STR
VALUE file_spec_rb_file_open_str(VALUE self, VALUE name, VALUE mode) {
return rb_file_open_str(name, RSTRING_PTR(mode));
}
-#endif
-#ifdef HAVE_FILEPATHVALUE
VALUE file_spec_FilePathValue(VALUE self, VALUE obj) {
return FilePathValue(obj);
}
-#endif
void Init_file_spec(void) {
VALUE cls = rb_define_class("CApiFileSpecs", rb_cObject);
-
-#ifdef HAVE_RB_FILE_OPEN
rb_define_method(cls, "rb_file_open", file_spec_rb_file_open, 2);
-#endif
-
-#ifdef HAVE_RB_FILE_OPEN_STR
rb_define_method(cls, "rb_file_open_str", file_spec_rb_file_open_str, 2);
-#endif
-
-#ifdef HAVE_FILEPATHVALUE
rb_define_method(cls, "FilePathValue", file_spec_FilePathValue, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/fixnum_spec.c b/spec/ruby/optional/capi/ext/fixnum_spec.c
index c3a207b387..7048ce3f13 100644
--- a/spec/ruby/optional/capi/ext/fixnum_spec.c
+++ b/spec/ruby/optional/capi/ext/fixnum_spec.c
@@ -15,36 +15,10 @@ static VALUE fixnum_spec_FIX2UINT(VALUE self, VALUE value) {
return UINT2NUM(i);
}
-#ifdef HAVE_RB_FIX2UINT
-static VALUE fixnum_spec_rb_fix2uint(VALUE self, VALUE value) {
- unsigned long i = rb_fix2uint(value);
- return ULONG2NUM(i);
-}
-#endif
-
-#ifdef HAVE_RB_FIX2INT
-static VALUE fixnum_spec_rb_fix2int(VALUE self, VALUE value) {
- long i = rb_fix2int(value);
- return LONG2NUM(i);
-}
-#endif
-
void Init_fixnum_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiFixnumSpecs", rb_cObject);
-
+ VALUE cls = rb_define_class("CApiFixnumSpecs", rb_cObject);
rb_define_method(cls, "FIX2INT", fixnum_spec_FIX2INT, 1);
rb_define_method(cls, "FIX2UINT", fixnum_spec_FIX2UINT, 1);
-
-#ifdef HAVE_RB_FIX2UINT
- rb_define_method(cls, "rb_fix2uint", fixnum_spec_rb_fix2uint, 1);
-#endif
-
-#ifdef HAVE_RB_FIX2INT
- rb_define_method(cls, "rb_fix2int", fixnum_spec_rb_fix2int, 1);
-#endif
-
- (void)cls;
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/float_spec.c b/spec/ruby/optional/capi/ext/float_spec.c
index 15c74e62c9..34be917965 100644
--- a/spec/ruby/optional/capi/ext/float_spec.c
+++ b/spec/ruby/optional/capi/ext/float_spec.c
@@ -7,7 +7,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_FLOAT_NEW
static VALUE float_spec_new_zero(VALUE self) {
double flt = 0;
return rb_float_new(flt);
@@ -17,36 +16,21 @@ static VALUE float_spec_new_point_five(VALUE self) {
double flt = 0.555;
return rb_float_new(flt);
}
-#endif
-#ifdef HAVE_RB_RFLOAT
static VALUE float_spec_rb_Float(VALUE self, VALUE float_str) {
return rb_Float(float_str);
}
-#endif
-#ifdef HAVE_RFLOAT_VALUE
static VALUE float_spec_RFLOAT_VALUE(VALUE self, VALUE float_h) {
return rb_float_new(RFLOAT_VALUE(float_h));
}
-#endif
void Init_float_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiFloatSpecs", rb_cObject);
-
-#ifdef HAVE_RB_FLOAT_NEW
+ VALUE cls = rb_define_class("CApiFloatSpecs", rb_cObject);
rb_define_method(cls, "new_zero", float_spec_new_zero, 0);
rb_define_method(cls, "new_point_five", float_spec_new_point_five, 0);
-#endif
-
-#ifdef HAVE_RB_RFLOAT
rb_define_method(cls, "rb_Float", float_spec_rb_Float, 1);
-#endif
-
-#ifdef HAVE_RFLOAT_VALUE
rb_define_method(cls, "RFLOAT_VALUE", float_spec_RFLOAT_VALUE, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/gc_spec.c b/spec/ruby/optional/capi/ext/gc_spec.c
index 05341bb01d..0a76b9d40a 100644
--- a/spec/ruby/optional/capi/ext/gc_spec.c
+++ b/spec/ruby/optional/capi/ext/gc_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_GC_REGISTER_ADDRESS
VALUE registered_tagged_value;
VALUE registered_reference_value;
@@ -16,33 +15,23 @@ static VALUE registered_tagged_address(VALUE self) {
static VALUE registered_reference_address(VALUE self) {
return registered_reference_value;
}
-#endif
-#ifdef HAVE_RB_GC_ENABLE
static VALUE gc_spec_rb_gc_enable() {
return rb_gc_enable();
}
-#endif
-#ifdef HAVE_RB_GC_DISABLE
static VALUE gc_spec_rb_gc_disable() {
return rb_gc_disable();
}
-#endif
-#ifdef HAVE_RB_GC
static VALUE gc_spec_rb_gc() {
rb_gc();
return Qnil;
}
-#endif
void Init_gc_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiGCSpecs", rb_cObject);
-
-#ifdef HAVE_RB_GC_REGISTER_ADDRESS
+ VALUE cls = rb_define_class("CApiGCSpecs", rb_cObject);
registered_tagged_value = INT2NUM(10);
registered_reference_value = rb_str_new2("Globally registered data");
@@ -51,20 +40,9 @@ void Init_gc_spec(void) {
rb_define_method(cls, "registered_tagged_address", registered_tagged_address, 0);
rb_define_method(cls, "registered_reference_address", registered_reference_address, 0);
-#endif
-
-#ifdef HAVE_RB_GC_ENABLE
rb_define_method(cls, "rb_gc_enable", gc_spec_rb_gc_enable, 0);
-#endif
-
-#ifdef HAVE_RB_GC_DISABLE
rb_define_method(cls, "rb_gc_disable", gc_spec_rb_gc_disable, 0);
-#endif
-
-#ifdef HAVE_RB_GC
rb_define_method(cls, "rb_gc", gc_spec_rb_gc, 0);
-#endif
-
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/globals_spec.c b/spec/ruby/optional/capi/ext/globals_spec.c
index 0c28a7f8ab..f70622f66c 100644
--- a/spec/ruby/optional/capi/ext/globals_spec.c
+++ b/spec/ruby/optional/capi/ext/globals_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_DEFINE_HOOKED_VARIABLE
VALUE g_hooked_var;
void var_2x_setter(VALUE val, ID id, VALUE *var) {
@@ -16,9 +15,7 @@ static VALUE sb_define_hooked_variable(VALUE self, VALUE var_name) {
rb_define_hooked_variable(StringValuePtr(var_name), &g_hooked_var, 0, var_2x_setter);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_READONLY_VARIABLE
VALUE g_ro_var;
static VALUE sb_define_readonly_variable(VALUE self, VALUE var_name, VALUE val) {
@@ -26,9 +23,7 @@ static VALUE sb_define_readonly_variable(VALUE self, VALUE var_name, VALUE val)
rb_define_readonly_variable(StringValuePtr(var_name), &g_ro_var);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_VARIABLE
VALUE g_var;
static VALUE sb_get_global_value(VALUE self) {
@@ -40,158 +35,82 @@ static VALUE sb_define_variable(VALUE self, VALUE var_name, VALUE val) {
rb_define_variable(StringValuePtr(var_name), &g_var);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_F_GLOBAL_VARIABLES
static VALUE sb_f_global_variables(VALUE self) {
return rb_f_global_variables();
}
-#endif
-#ifdef HAVE_RB_GV_GET
static VALUE sb_gv_get(VALUE self, VALUE var) {
return rb_gv_get(StringValuePtr(var));
}
-#endif
-#ifdef HAVE_RB_GV_SET
static VALUE sb_gv_set(VALUE self, VALUE var, VALUE val) {
return rb_gv_set(StringValuePtr(var), val);
}
-#endif
-#ifdef HAVE_RB_STDIN
static VALUE global_spec_rb_stdin(VALUE self) {
return rb_stdin;
}
-#endif
-#ifdef HAVE_RB_STDOUT
static VALUE global_spec_rb_stdout(VALUE self) {
return rb_stdout;
}
-#endif
-#ifdef HAVE_RB_STDERR
static VALUE global_spec_rb_stderr(VALUE self) {
return rb_stderr;
}
-#endif
-#ifdef HAVE_RB_DEFOUT
static VALUE global_spec_rb_defout(VALUE self) {
return rb_defout;
}
-#endif
-#ifdef HAVE_RB_RS
static VALUE global_spec_rb_rs(VALUE self) {
return rb_rs;
}
-#endif
-#ifdef HAVE_RB_DEFAULT_RS
static VALUE global_spec_rb_default_rs(VALUE self) {
return rb_default_rs;
}
-#endif
-#ifdef HAVE_RB_OUTPUT_RS
static VALUE global_spec_rb_output_rs(VALUE self) {
return rb_output_rs;
}
-#endif
-#ifdef HAVE_RB_OUTPUT_FS
static VALUE global_spec_rb_output_fs(VALUE self) {
return rb_output_fs;
}
-#endif
-#ifdef HAVE_RB_LASTLINE_SET
static VALUE global_spec_rb_lastline_set(VALUE self, VALUE line) {
rb_lastline_set(line);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_LASTLINE_GET
static VALUE global_spec_rb_lastline_get(VALUE self) {
return rb_lastline_get();
}
-#endif
void Init_globals_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiGlobalSpecs", rb_cObject);
-
-#ifdef HAVE_RB_DEFINE_HOOKED_VARIABLE
+ VALUE cls = rb_define_class("CApiGlobalSpecs", rb_cObject);
g_hooked_var = Qnil;
rb_define_method(cls, "rb_define_hooked_variable_2x", sb_define_hooked_variable, 1);
-#endif
-
-#ifdef HAVE_RB_DEFINE_READONLY_VARIABLE
g_ro_var = Qnil;
rb_define_method(cls, "rb_define_readonly_variable", sb_define_readonly_variable, 2);
-#endif
-
-#ifdef HAVE_RB_DEFINE_VARIABLE
g_var = Qnil;
rb_define_method(cls, "rb_define_variable", sb_define_variable, 2);
rb_define_method(cls, "sb_get_global_value", sb_get_global_value, 0);
-#endif
-
-#ifdef HAVE_RB_F_GLOBAL_VARIABLES
rb_define_method(cls, "rb_f_global_variables", sb_f_global_variables, 0);
-#endif
-
-#ifdef HAVE_RB_GV_GET
rb_define_method(cls, "sb_gv_get", sb_gv_get, 1);
-#endif
-
-#ifdef HAVE_RB_GV_SET
rb_define_method(cls, "sb_gv_set", sb_gv_set, 2);
-#endif
-
-#ifdef HAVE_RB_STDIN
rb_define_method(cls, "rb_stdin", global_spec_rb_stdin, 0);
-#endif
-
-#ifdef HAVE_RB_STDOUT
rb_define_method(cls, "rb_stdout", global_spec_rb_stdout, 0);
-#endif
-
-#ifdef HAVE_RB_STDERR
rb_define_method(cls, "rb_stderr", global_spec_rb_stderr, 0);
-#endif
-
-#ifdef HAVE_RB_DEFOUT
rb_define_method(cls, "rb_defout", global_spec_rb_defout, 0);
-#endif
-
-#ifdef HAVE_RB_RS
rb_define_method(cls, "rb_rs", global_spec_rb_rs, 0);
-#endif
-
-#ifdef HAVE_RB_DEFAULT_RS
rb_define_method(cls, "rb_default_rs", global_spec_rb_default_rs, 0);
-#endif
-
-#ifdef HAVE_RB_OUTPUT_RS
rb_define_method(cls, "rb_output_rs", global_spec_rb_output_rs, 0);
-#endif
-
-#ifdef HAVE_RB_OUTPUT_FS
rb_define_method(cls, "rb_output_fs", global_spec_rb_output_fs, 0);
-#endif
-
-#ifdef HAVE_RB_LASTLINE_SET
rb_define_method(cls, "rb_lastline_set", global_spec_rb_lastline_set, 1);
-#endif
-
-#ifdef HAVE_RB_LASTLINE_GET
rb_define_method(cls, "rb_lastline_get", global_spec_rb_lastline_get, 0);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/hash_spec.c b/spec/ruby/optional/capi/ext/hash_spec.c
index 73e7ef5c13..4e9312a1d1 100644
--- a/spec/ruby/optional/capi/ext/hash_spec.c
+++ b/spec/ruby/optional/capi/ext/hash_spec.c
@@ -5,37 +5,26 @@
extern "C" {
#endif
-#ifdef HAVE_RB_HASH
VALUE hash_spec_rb_hash(VALUE self, VALUE hash) {
return rb_hash(hash);
}
-#endif
-#ifdef HAVE_RB_HASH2
VALUE hash_spec_rb_Hash(VALUE self, VALUE val) {
return rb_Hash(val);
}
-#endif
-#ifdef HAVE_RB_HASH_DUP
VALUE hash_spec_rb_hash_dup(VALUE self, VALUE hash) {
return rb_hash_dup(hash);
}
-#endif
-#ifdef HAVE_RB_HASH_FETCH
VALUE hash_spec_rb_hash_fetch(VALUE self, VALUE hash, VALUE key) {
return rb_hash_fetch(hash, key);
}
-#endif
-#ifdef HAVE_RB_HASH_FREEZE
VALUE hash_spec_rb_hash_freeze(VALUE self, VALUE hash) {
return rb_hash_freeze(hash);
}
-#endif
-#ifdef HAVE_RB_HASH_AREF
VALUE hash_spec_rb_hash_aref(VALUE self, VALUE hash, VALUE key) {
return rb_hash_aref(hash, key);
}
@@ -44,33 +33,23 @@ VALUE hash_spec_rb_hash_aref_nil(VALUE self, VALUE hash, VALUE key) {
VALUE ret = rb_hash_aref(hash, key);
return NIL_P(ret) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_HASH_ASET
VALUE hash_spec_rb_hash_aset(VALUE self, VALUE hash, VALUE key, VALUE val) {
return rb_hash_aset(hash, key, val);
}
-#endif
-#ifdef HAVE_RB_HASH_CLEAR
VALUE hash_spec_rb_hash_clear(VALUE self, VALUE hash) {
return rb_hash_clear(hash);
}
-#endif
-#ifdef HAVE_RB_HASH_DELETE
VALUE hash_spec_rb_hash_delete(VALUE self, VALUE hash, VALUE key) {
return rb_hash_delete(hash, key);
}
-#endif
-#ifdef HAVE_RB_HASH_DELETE_IF
VALUE hash_spec_rb_hash_delete_if(VALUE self, VALUE hash) {
return rb_hash_delete_if(hash);
}
-#endif
-#ifdef HAVE_RB_HASH_FOREACH
static int foreach_i(VALUE key, VALUE val, VALUE other) {
rb_hash_aset(other, key, val);
return 0; /* ST_CONTINUE; */
@@ -103,9 +82,7 @@ VALUE hash_spec_rb_hash_foreach_delete(VALUE self, VALUE hsh) {
rb_hash_foreach(hsh, foreach_delete_i, other);
return other;
}
-#endif
-#ifdef HAVE_RB_HASH_LOOKUP
VALUE hash_spec_rb_hash_lookup(VALUE self, VALUE hash, VALUE key) {
return rb_hash_lookup(hash, key);
}
@@ -114,103 +91,45 @@ VALUE hash_spec_rb_hash_lookup_nil(VALUE self, VALUE hash, VALUE key) {
VALUE ret = rb_hash_lookup(hash, key);
return ret == Qnil ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_HASH_LOOKUP2
VALUE hash_spec_rb_hash_lookup2(VALUE self, VALUE hash, VALUE key, VALUE def) {
return rb_hash_lookup2(hash, key, def);
}
-#endif
-#ifdef HAVE_RB_HASH_NEW
VALUE hash_spec_rb_hash_new(VALUE self) {
return rb_hash_new();
}
-#endif
-#ifdef HAVE_RB_HASH_SIZE
VALUE hash_spec_rb_hash_size(VALUE self, VALUE hash) {
return rb_hash_size(hash);
}
-#endif
-#ifdef HAVE_RB_HASH_SET_IFNONE
VALUE hash_spec_rb_hash_set_ifnone(VALUE self, VALUE hash, VALUE def) {
return rb_hash_set_ifnone(hash, def);
}
-#endif
void Init_hash_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiHashSpecs", rb_cObject);
-
-#ifdef HAVE_RB_HASH
+ VALUE cls = rb_define_class("CApiHashSpecs", rb_cObject);
rb_define_method(cls, "rb_hash", hash_spec_rb_hash, 1);
-#endif
-
-#ifdef HAVE_RB_HASH2
rb_define_method(cls, "rb_Hash", hash_spec_rb_Hash, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_DUP
rb_define_method(cls, "rb_hash_dup", hash_spec_rb_hash_dup, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_FREEZE
rb_define_method(cls, "rb_hash_freeze", hash_spec_rb_hash_freeze, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_AREF
rb_define_method(cls, "rb_hash_aref", hash_spec_rb_hash_aref, 2);
rb_define_method(cls, "rb_hash_aref_nil", hash_spec_rb_hash_aref_nil, 2);
-#endif
-
-#ifdef HAVE_RB_HASH_ASET
rb_define_method(cls, "rb_hash_aset", hash_spec_rb_hash_aset, 3);
-#endif
-
-#ifdef HAVE_RB_HASH_CLEAR
rb_define_method(cls, "rb_hash_clear", hash_spec_rb_hash_clear, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_DELETE
rb_define_method(cls, "rb_hash_delete", hash_spec_rb_hash_delete, 2);
-#endif
-
-#ifdef HAVE_RB_HASH_DELETE_IF
rb_define_method(cls, "rb_hash_delete_if", hash_spec_rb_hash_delete_if, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_FETCH
rb_define_method(cls, "rb_hash_fetch", hash_spec_rb_hash_fetch, 2);
-#endif
-
-#ifdef HAVE_RB_HASH_FOREACH
rb_define_method(cls, "rb_hash_foreach", hash_spec_rb_hash_foreach, 1);
rb_define_method(cls, "rb_hash_foreach_stop", hash_spec_rb_hash_foreach_stop, 1);
rb_define_method(cls, "rb_hash_foreach_delete", hash_spec_rb_hash_foreach_delete, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_LOOKUP
rb_define_method(cls, "rb_hash_lookup_nil", hash_spec_rb_hash_lookup_nil, 2);
rb_define_method(cls, "rb_hash_lookup", hash_spec_rb_hash_lookup, 2);
-#endif
-
-#ifdef HAVE_RB_HASH_LOOKUP2
rb_define_method(cls, "rb_hash_lookup2", hash_spec_rb_hash_lookup2, 3);
-#endif
-
-#ifdef HAVE_RB_HASH_NEW
rb_define_method(cls, "rb_hash_new", hash_spec_rb_hash_new, 0);
-#endif
-
-#ifdef HAVE_RB_HASH_SIZE
rb_define_method(cls, "rb_hash_size", hash_spec_rb_hash_size, 1);
-#endif
-
-#ifdef HAVE_RB_HASH_SET_IFNONE
rb_define_method(cls, "rb_hash_set_ifnone", hash_spec_rb_hash_set_ifnone, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/integer_spec.c b/spec/ruby/optional/capi/ext/integer_spec.c
index 821d8373c9..7e9e8b26bd 100644
--- a/spec/ruby/optional/capi/ext/integer_spec.c
+++ b/spec/ruby/optional/capi/ext/integer_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_INTEGER_PACK
static VALUE integer_spec_rb_integer_pack(VALUE self, VALUE value,
VALUE words, VALUE numwords, VALUE wordsize, VALUE nails, VALUE flags)
{
@@ -13,13 +12,9 @@ static VALUE integer_spec_rb_integer_pack(VALUE self, VALUE value,
FIX2INT(wordsize), FIX2INT(nails), FIX2INT(flags));
return INT2FIX(result);
}
-#endif
void Init_integer_spec(void) {
-#ifdef HAVE_RB_INTEGER_PACK
- VALUE cls;
- cls = rb_define_class("CApiIntegerSpecs", rb_cObject);
-
+ VALUE cls = rb_define_class("CApiIntegerSpecs", rb_cObject);
rb_define_const(cls, "MSWORD", INT2NUM(INTEGER_PACK_MSWORD_FIRST));
rb_define_const(cls, "LSWORD", INT2NUM(INTEGER_PACK_LSWORD_FIRST));
rb_define_const(cls, "MSBYTE", INT2NUM(INTEGER_PACK_MSBYTE_FIRST));
@@ -32,7 +27,6 @@ void Init_integer_spec(void) {
rb_define_const(cls, "NEGATIVE", INT2NUM(INTEGER_PACK_NEGATIVE));
rb_define_method(cls, "rb_integer_pack", integer_spec_rb_integer_pack, 6);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/io_spec.c b/spec/ruby/optional/capi/ext/io_spec.c
index 955fe11e7d..e3fbb872cf 100644
--- a/spec/ruby/optional/capi/ext/io_spec.c
+++ b/spec/ruby/optional/capi/ext/io_spec.c
@@ -27,7 +27,6 @@ static int set_non_blocking(int fd) {
#endif
}
-#ifdef HAVE_GET_OPEN_FILE
static int io_spec_get_fd(VALUE io) {
rb_io_t* fp;
GetOpenFile(io, fp);
@@ -37,15 +36,11 @@ static int io_spec_get_fd(VALUE io) {
VALUE io_spec_GetOpenFile_fd(VALUE self, VALUE io) {
return INT2NUM(io_spec_get_fd(io));
}
-#endif
-#ifdef HAVE_RB_IO_ADDSTR
VALUE io_spec_rb_io_addstr(VALUE self, VALUE io, VALUE str) {
return rb_io_addstr(io, str);
}
-#endif
-#ifdef HAVE_RB_IO_PRINTF
VALUE io_spec_rb_io_printf(VALUE self, VALUE io, VALUE ary) {
long argc = RARRAY_LEN(ary);
VALUE *argv = alloca(sizeof(VALUE) * argc);
@@ -57,9 +52,7 @@ VALUE io_spec_rb_io_printf(VALUE self, VALUE io, VALUE ary) {
return rb_io_printf((int)argc, argv, io);
}
-#endif
-#ifdef HAVE_RB_IO_PRINT
VALUE io_spec_rb_io_print(VALUE self, VALUE io, VALUE ary) {
long argc = RARRAY_LEN(ary);
VALUE *argv = alloca(sizeof(VALUE) * argc);
@@ -71,9 +64,7 @@ VALUE io_spec_rb_io_print(VALUE self, VALUE io, VALUE ary) {
return rb_io_print((int)argc, argv, io);
}
-#endif
-#ifdef HAVE_RB_IO_PUTS
VALUE io_spec_rb_io_puts(VALUE self, VALUE io, VALUE ary) {
long argc = RARRAY_LEN(ary);
VALUE *argv = alloca(sizeof(VALUE) * argc);
@@ -85,57 +76,43 @@ VALUE io_spec_rb_io_puts(VALUE self, VALUE io, VALUE ary) {
return rb_io_puts((int)argc, argv, io);
}
-#endif
-#ifdef HAVE_RB_IO_WRITE
VALUE io_spec_rb_io_write(VALUE self, VALUE io, VALUE str) {
return rb_io_write(io, str);
}
-#endif
-#ifdef HAVE_RB_IO_CHECK_IO
VALUE io_spec_rb_io_check_io(VALUE self, VALUE io) {
return rb_io_check_io(io);
}
-#endif
-#ifdef HAVE_RB_IO_CHECK_READABLE
VALUE io_spec_rb_io_check_readable(VALUE self, VALUE io) {
rb_io_t* fp;
GetOpenFile(io, fp);
rb_io_check_readable(fp);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_IO_CHECK_WRITABLE
VALUE io_spec_rb_io_check_writable(VALUE self, VALUE io) {
rb_io_t* fp;
GetOpenFile(io, fp);
rb_io_check_writable(fp);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_IO_CHECK_CLOSED
VALUE io_spec_rb_io_check_closed(VALUE self, VALUE io) {
rb_io_t* fp;
GetOpenFile(io, fp);
rb_io_check_closed(fp);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_IO_TAINT_CHECK
VALUE io_spec_rb_io_taint_check(VALUE self, VALUE io) {
/*rb_io_t* fp;
GetOpenFile(io, fp);*/
rb_io_taint_check(io);
return io;
}
-#endif
-#ifdef HAVE_RB_IO_WAIT_READABLE
#define RB_IO_WAIT_READABLE_BUF 13
#if SET_NON_BLOCKING_FAILS_ALWAYS
@@ -144,15 +121,15 @@ NORETURN(VALUE io_spec_rb_io_wait_readable(VALUE self, VALUE io, VALUE read_p));
VALUE io_spec_rb_io_wait_readable(VALUE self, VALUE io, VALUE read_p) {
int fd = io_spec_get_fd(io);
-# if !SET_NON_BLOCKING_FAILS_ALWAYS
+#if !SET_NON_BLOCKING_FAILS_ALWAYS
char buf[RB_IO_WAIT_READABLE_BUF];
int ret, saved_errno;
-# endif
+#endif
if (set_non_blocking(fd) == -1)
rb_sys_fail("set_non_blocking failed");
-# if !SET_NON_BLOCKING_FAILS_ALWAYS
+#if !SET_NON_BLOCKING_FAILS_ALWAYS
if(RTEST(read_p)) {
if (read(fd, buf, RB_IO_WAIT_READABLE_BUF) != -1) {
return Qnil;
@@ -175,59 +152,44 @@ VALUE io_spec_rb_io_wait_readable(VALUE self, VALUE io, VALUE read_p) {
}
return ret ? Qtrue : Qfalse;
-# else
+#else
UNREACHABLE;
-# endif
-}
#endif
+}
-#ifdef HAVE_RB_IO_WAIT_WRITABLE
VALUE io_spec_rb_io_wait_writable(VALUE self, VALUE io) {
int ret = rb_io_wait_writable(io_spec_get_fd(io));
return ret ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_THREAD_WAIT_FD
VALUE io_spec_rb_thread_wait_fd(VALUE self, VALUE io) {
rb_thread_wait_fd(io_spec_get_fd(io));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_THREAD_FD_WRITABLE
VALUE io_spec_rb_thread_fd_writable(VALUE self, VALUE io) {
rb_thread_fd_writable(io_spec_get_fd(io));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_IO_BINMODE
VALUE io_spec_rb_io_binmode(VALUE self, VALUE io) {
return rb_io_binmode(io);
}
-#endif
-#ifdef HAVE_RB_FD_FIX_CLOEXEC
VALUE io_spec_rb_fd_fix_cloexec(VALUE self, VALUE io) {
rb_fd_fix_cloexec(io_spec_get_fd(io));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CLOEXEC_OPEN
VALUE io_spec_rb_cloexec_open(VALUE self, VALUE path, VALUE flags, VALUE mode) {
const char *pathname = StringValuePtr(path);
int fd = rb_cloexec_open(pathname, FIX2INT(flags), FIX2INT(mode));
return rb_funcall(rb_cIO, rb_intern("for_fd"), 1, INT2FIX(fd));
}
-#endif
-#ifdef HAVE_RB_IO_CLOSE
VALUE io_spec_rb_io_close(VALUE self, VALUE io) {
return rb_io_close(io);
}
-#endif
/*
* this is needed to ensure rb_io_wait_*able functions behave
@@ -242,83 +204,25 @@ static VALUE io_spec_errno_set(VALUE self, VALUE val) {
void Init_io_spec(void) {
VALUE cls = rb_define_class("CApiIOSpecs", rb_cObject);
-
-#ifdef HAVE_GET_OPEN_FILE
rb_define_method(cls, "GetOpenFile_fd", io_spec_GetOpenFile_fd, 1);
-#endif
-
-#ifdef HAVE_RB_IO_ADDSTR
rb_define_method(cls, "rb_io_addstr", io_spec_rb_io_addstr, 2);
-#endif
-
-#ifdef HAVE_RB_IO_PRINTF
rb_define_method(cls, "rb_io_printf", io_spec_rb_io_printf, 2);
-#endif
-
-#ifdef HAVE_RB_IO_PRINT
rb_define_method(cls, "rb_io_print", io_spec_rb_io_print, 2);
-#endif
-
-#ifdef HAVE_RB_IO_PUTS
rb_define_method(cls, "rb_io_puts", io_spec_rb_io_puts, 2);
-#endif
-
-#ifdef HAVE_RB_IO_WRITE
rb_define_method(cls, "rb_io_write", io_spec_rb_io_write, 2);
-#endif
-
-#ifdef HAVE_RB_IO_CLOSE
rb_define_method(cls, "rb_io_close", io_spec_rb_io_close, 1);
-#endif
-
-#ifdef HAVE_RB_IO_CHECK_IO
rb_define_method(cls, "rb_io_check_io", io_spec_rb_io_check_io, 1);
-#endif
-
-#ifdef HAVE_RB_IO_CHECK_READABLE
rb_define_method(cls, "rb_io_check_readable", io_spec_rb_io_check_readable, 1);
-#endif
-
-#ifdef HAVE_RB_IO_CHECK_WRITABLE
rb_define_method(cls, "rb_io_check_writable", io_spec_rb_io_check_writable, 1);
-#endif
-
-#ifdef HAVE_RB_IO_CHECK_CLOSED
rb_define_method(cls, "rb_io_check_closed", io_spec_rb_io_check_closed, 1);
-#endif
-
-#ifdef HAVE_RB_IO_TAINT_CHECK
rb_define_method(cls, "rb_io_taint_check", io_spec_rb_io_taint_check, 1);
-#endif
-
-#ifdef HAVE_RB_IO_WAIT_READABLE
rb_define_method(cls, "rb_io_wait_readable", io_spec_rb_io_wait_readable, 2);
-#endif
-
-#ifdef HAVE_RB_IO_WAIT_WRITABLE
rb_define_method(cls, "rb_io_wait_writable", io_spec_rb_io_wait_writable, 1);
-#endif
-
-#ifdef HAVE_RB_THREAD_WAIT_FD
rb_define_method(cls, "rb_thread_wait_fd", io_spec_rb_thread_wait_fd, 1);
-#endif
-
-#ifdef HAVE_RB_THREAD_FD_WRITABLE
rb_define_method(cls, "rb_thread_fd_writable", io_spec_rb_thread_fd_writable, 1);
-#endif
-
-#ifdef HAVE_RB_IO_BINMODE
rb_define_method(cls, "rb_io_binmode", io_spec_rb_io_binmode, 1);
-#endif
-
-#ifdef HAVE_RB_FD_FIX_CLOEXEC
rb_define_method(cls, "rb_fd_fix_cloexec", io_spec_rb_fd_fix_cloexec, 1);
-#endif
-
-#ifdef HAVE_RB_CLOEXEC_OPEN
rb_define_method(cls, "rb_cloexec_open", io_spec_rb_cloexec_open, 3);
-#endif
-
rb_define_method(cls, "errno=", io_spec_errno_set, 1);
}
diff --git a/spec/ruby/optional/capi/ext/kernel_spec.c b/spec/ruby/optional/capi/ext/kernel_spec.c
index c87ed5e8f2..a4879b0523 100644
--- a/spec/ruby/optional/capi/ext/kernel_spec.c
+++ b/spec/ruby/optional/capi/ext/kernel_spec.c
@@ -13,26 +13,19 @@ VALUE kernel_spec_call_proc(VALUE arg_array) {
return rb_funcall(proc, rb_intern("call"), 1, arg);
}
-#ifdef HAVE_RB_BLOCK_GIVEN_P
static VALUE kernel_spec_rb_block_given_p(VALUE self) {
return rb_block_given_p() ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_NEED_BLOCK
VALUE kernel_spec_rb_need_block(VALUE self) {
rb_need_block();
return Qnil;
}
-#endif
-#ifdef HAVE_RB_BLOCK_PROC
VALUE kernel_spec_rb_block_proc(VALUE self) {
return rb_block_proc();
}
-#endif
-#ifdef HAVE_RB_BLOCK_CALL
VALUE block_call_inject(VALUE yield_value, VALUE data2) {
/* yield_value yields the first block argument */
@@ -63,15 +56,11 @@ VALUE kernel_spec_rb_block_call_no_func(VALUE self, VALUE ary) {
return rb_block_call(ary, rb_intern("map"), 0, NULL, NULL, Qnil);
}
-#endif
-#ifdef HAVE_RB_FRAME_THIS_FUNC
VALUE kernel_spec_rb_frame_this_func(VALUE self) {
return ID2SYM(rb_frame_this_func());
}
-#endif
-#ifdef HAVE_RB_ENSURE
VALUE kernel_spec_rb_ensure(VALUE self, VALUE main_proc, VALUE arg,
VALUE ensure_proc, VALUE arg2) {
VALUE main_array, ensure_array;
@@ -87,9 +76,7 @@ VALUE kernel_spec_rb_ensure(VALUE self, VALUE main_proc, VALUE arg,
return rb_ensure(kernel_spec_call_proc, main_array,
kernel_spec_call_proc, ensure_array);
}
-#endif
-#ifdef HAVE_RB_CATCH
VALUE kernel_spec_call_proc_with_catch(VALUE arg, VALUE data) {
return rb_funcall(data, rb_intern("call"), 0);
}
@@ -97,9 +84,7 @@ VALUE kernel_spec_call_proc_with_catch(VALUE arg, VALUE data) {
VALUE kernel_spec_rb_catch(VALUE self, VALUE sym, VALUE main_proc) {
return rb_catch(StringValuePtr(sym), kernel_spec_call_proc_with_catch, main_proc);
}
-#endif
-#ifdef HAVE_RB_CATCH_OBJ
VALUE kernel_spec_call_proc_with_catch_obj(VALUE arg, VALUE data) {
return rb_funcall(data, rb_intern("call"), 0);
}
@@ -107,15 +92,11 @@ VALUE kernel_spec_call_proc_with_catch_obj(VALUE arg, VALUE data) {
VALUE kernel_spec_rb_catch_obj(VALUE self, VALUE obj, VALUE main_proc) {
return rb_catch_obj(obj, kernel_spec_call_proc_with_catch, main_proc);
}
-#endif
-#ifdef HAVE_RB_EVAL_STRING
VALUE kernel_spec_rb_eval_string(VALUE self, VALUE str) {
return rb_eval_string(RSTRING_PTR(str));
}
-#endif
-#ifdef HAVE_RB_RAISE
VALUE kernel_spec_rb_raise(VALUE self, VALUE hash) {
rb_hash_aset(hash, ID2SYM(rb_intern("stage")), ID2SYM(rb_intern("before")));
if (self != Qundef)
@@ -123,23 +104,17 @@ VALUE kernel_spec_rb_raise(VALUE self, VALUE hash) {
rb_hash_aset(hash, ID2SYM(rb_intern("stage")), ID2SYM(rb_intern("after")));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_THROW
VALUE kernel_spec_rb_throw(VALUE self, VALUE result) {
if (self != Qundef) rb_throw("foo", result);
return ID2SYM(rb_intern("rb_throw_failed"));
}
-#endif
-#ifdef HAVE_RB_THROW_OBJ
VALUE kernel_spec_rb_throw_obj(VALUE self, VALUE obj, VALUE result) {
if (self != Qundef) rb_throw_obj(obj, result);
return ID2SYM(rb_intern("rb_throw_failed"));
}
-#endif
-#ifdef HAVE_RB_RESCUE
VALUE kernel_spec_call_proc_with_raised_exc(VALUE arg_array, VALUE raised_exc) {
VALUE argv[2];
int argc;
@@ -170,9 +145,7 @@ VALUE kernel_spec_rb_rescue(VALUE self, VALUE main_proc, VALUE arg,
return rb_rescue(kernel_spec_call_proc, main_array,
kernel_spec_call_proc_with_raised_exc, raise_array);
}
-#endif
-#ifdef HAVE_RB_RESCUE2
VALUE kernel_spec_rb_rescue2(int argc, VALUE *args, VALUE self) {
VALUE main_array, raise_array;
@@ -187,9 +160,7 @@ VALUE kernel_spec_rb_rescue2(int argc, VALUE *args, VALUE self) {
return rb_rescue2(kernel_spec_call_proc, main_array,
kernel_spec_call_proc, raise_array, args[4], args[5], (VALUE)0);
}
-#endif
-#ifdef HAVE_RB_PROTECT
static VALUE kernel_spec_rb_protect_yield(VALUE self, VALUE obj, VALUE ary) {
int status = 0;
VALUE res = rb_protect(rb_yield, obj, &status);
@@ -199,9 +170,7 @@ static VALUE kernel_spec_rb_protect_yield(VALUE self, VALUE obj, VALUE ary) {
}
return res;
}
-#endif
-#ifdef HAVE_RB_SYS_FAIL
VALUE kernel_spec_rb_sys_fail(VALUE self, VALUE msg) {
errno = 1;
if(msg == Qnil) {
@@ -211,9 +180,7 @@ VALUE kernel_spec_rb_sys_fail(VALUE self, VALUE msg) {
}
return Qnil;
}
-#endif
-#ifdef HAVE_RB_SYSERR_FAIL
VALUE kernel_spec_rb_syserr_fail(VALUE self, VALUE err, VALUE msg) {
if(msg == Qnil) {
rb_syserr_fail(NUM2INT(err), NULL);
@@ -222,16 +189,12 @@ VALUE kernel_spec_rb_syserr_fail(VALUE self, VALUE err, VALUE msg) {
}
return Qnil;
}
-#endif
-#ifdef HAVE_RB_WARN
VALUE kernel_spec_rb_warn(VALUE self, VALUE msg) {
rb_warn("%s", StringValuePtr(msg));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_YIELD
static VALUE kernel_spec_rb_yield(VALUE self, VALUE obj) {
return rb_yield(obj);
}
@@ -263,21 +226,15 @@ static VALUE kernel_indirected(int (*compar)(const void *, const void *)) {
static VALUE kernel_spec_rb_yield_indirected(VALUE self, VALUE obj) {
return kernel_indirected(kernel_cb);
}
-#endif
-#ifdef HAVE_RB_YIELD_SPLAT
static VALUE kernel_spec_rb_yield_splat(VALUE self, VALUE ary) {
return rb_yield_splat(ary);
}
-#endif
-#ifdef HAVE_RB_YIELD_VALUES
static VALUE kernel_spec_rb_yield_values(VALUE self, VALUE obj1, VALUE obj2) {
return rb_yield_values(2, obj1, obj2);
}
-#endif
-#ifdef HAVE_RB_EXEC_RECURSIVE
static VALUE do_rec(VALUE obj, VALUE arg, int is_rec) {
if(is_rec) {
return obj;
@@ -291,9 +248,7 @@ static VALUE do_rec(VALUE obj, VALUE arg, int is_rec) {
static VALUE kernel_spec_rb_exec_recursive(VALUE self, VALUE obj) {
return rb_exec_recursive(do_rec, obj, Qtrue);
}
-#endif
-#ifdef HAVE_RB_SET_END_PROC
static void write_io(VALUE io) {
rb_funcall(io, rb_intern("write"), 1, rb_str_new2("e"));
}
@@ -302,158 +257,62 @@ static VALUE kernel_spec_rb_set_end_proc(VALUE self, VALUE io) {
rb_set_end_proc(write_io, io);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_F_SPRINTF
static VALUE kernel_spec_rb_f_sprintf(VALUE self, VALUE ary) {
return rb_f_sprintf((int)RARRAY_LEN(ary), RARRAY_PTR(ary));
}
-#endif
-#ifdef HAVE_RB_MAKE_BACKTRACE
static VALUE kernel_spec_rb_make_backtrace(VALUE self) {
return rb_make_backtrace();
}
-#endif
-#ifdef HAVE_RB_OBJ_METHOD
static VALUE kernel_spec_rb_obj_method(VALUE self, VALUE obj, VALUE method) {
return rb_obj_method(obj, method);
}
-#endif
-#ifdef HAVE_RB_FUNCALL3
static VALUE kernel_spec_rb_funcall3(VALUE self, VALUE obj, VALUE method) {
return rb_funcall3(obj, SYM2ID(method), 0, NULL);
}
-#endif
-#ifdef HAVE_RB_FUNCALL_WITH_BLOCK
static VALUE kernel_spec_rb_funcall_with_block(VALUE self, VALUE obj, VALUE method, VALUE block) {
return rb_funcall_with_block(obj, SYM2ID(method), 0, NULL, block);
}
-#endif
void Init_kernel_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiKernelSpecs", rb_cObject);
-
-#ifdef HAVE_RB_BLOCK_GIVEN_P
+ VALUE cls = rb_define_class("CApiKernelSpecs", rb_cObject);
rb_define_method(cls, "rb_block_given_p", kernel_spec_rb_block_given_p, 0);
-#endif
-
-#ifdef HAVE_RB_NEED_BLOCK
rb_define_method(cls, "rb_need_block", kernel_spec_rb_need_block, 0);
-#endif
-
-#ifdef HAVE_RB_BLOCK_CALL
rb_define_method(cls, "rb_block_call", kernel_spec_rb_block_call, 1);
rb_define_method(cls, "rb_block_call_multi_arg", kernel_spec_rb_block_call_multi_arg, 1);
rb_define_method(cls, "rb_block_call_no_func", kernel_spec_rb_block_call_no_func, 1);
-#endif
-
-#ifdef HAVE_RB_BLOCK_PROC
rb_define_method(cls, "rb_block_proc", kernel_spec_rb_block_proc, 0);
-#endif
-
-#ifdef HAVE_RB_FRAME_THIS_FUNC
rb_define_method(cls, "rb_frame_this_func_test", kernel_spec_rb_frame_this_func, 0);
rb_define_method(cls, "rb_frame_this_func_test_again", kernel_spec_rb_frame_this_func, 0);
-#endif
-
-#ifdef HAVE_RB_ENSURE
rb_define_method(cls, "rb_ensure", kernel_spec_rb_ensure, 4);
-#endif
-
-#ifdef HAVE_RB_EVAL_STRING
rb_define_method(cls, "rb_eval_string", kernel_spec_rb_eval_string, 1);
-#endif
-
-#ifdef HAVE_RB_RAISE
rb_define_method(cls, "rb_raise", kernel_spec_rb_raise, 1);
-#endif
-
-#ifdef HAVE_RB_THROW
rb_define_method(cls, "rb_throw", kernel_spec_rb_throw, 1);
-#endif
-
-#ifdef HAVE_RB_THROW_OBJ
rb_define_method(cls, "rb_throw_obj", kernel_spec_rb_throw_obj, 2);
-#endif
-
-#ifdef HAVE_RB_RESCUE
rb_define_method(cls, "rb_rescue", kernel_spec_rb_rescue, 4);
-#endif
-
-#ifdef HAVE_RB_RESCUE2
rb_define_method(cls, "rb_rescue2", kernel_spec_rb_rescue2, -1);
-#endif
-
-#ifdef HAVE_RB_PROTECT
rb_define_method(cls, "rb_protect_yield", kernel_spec_rb_protect_yield, 2);
-#endif
-
-#ifdef HAVE_RB_CATCH
rb_define_method(cls, "rb_catch", kernel_spec_rb_catch, 2);
-#endif
-
-#ifdef HAVE_RB_CATCH_OBJ
rb_define_method(cls, "rb_catch_obj", kernel_spec_rb_catch_obj, 2);
-#endif
-
-#ifdef HAVE_RB_SYS_FAIL
rb_define_method(cls, "rb_sys_fail", kernel_spec_rb_sys_fail, 1);
-#endif
-
-#ifdef HAVE_RB_SYSERR_FAIL
rb_define_method(cls, "rb_syserr_fail", kernel_spec_rb_syserr_fail, 2);
-#endif
-
-#ifdef HAVE_RB_WARN
rb_define_method(cls, "rb_warn", kernel_spec_rb_warn, 1);
-#endif
-
-#ifdef HAVE_RB_YIELD
rb_define_method(cls, "rb_yield", kernel_spec_rb_yield, 1);
rb_define_method(cls, "rb_yield_indirected", kernel_spec_rb_yield_indirected, 1);
rb_define_method(cls, "rb_yield_define_each", kernel_spec_rb_yield_define_each, 1);
-#endif
-
-#ifdef HAVE_RB_YIELD_VALUES
rb_define_method(cls, "rb_yield_values", kernel_spec_rb_yield_values, 2);
-#endif
-
-#ifdef HAVE_RB_YIELD_SPLAT
rb_define_method(cls, "rb_yield_splat", kernel_spec_rb_yield_splat, 1);
-#endif
-
-#ifdef HAVE_RB_EXEC_RECURSIVE
rb_define_method(cls, "rb_exec_recursive", kernel_spec_rb_exec_recursive, 1);
-#endif
-
-#ifdef HAVE_RB_SET_END_PROC
rb_define_method(cls, "rb_set_end_proc", kernel_spec_rb_set_end_proc, 1);
-#endif
-
-#ifdef HAVE_RB_F_SPRINTF
rb_define_method(cls, "rb_f_sprintf", kernel_spec_rb_f_sprintf, 1);
-#endif
-
-#ifdef HAVE_RB_MAKE_BACKTRACE
rb_define_method(cls, "rb_make_backtrace", kernel_spec_rb_make_backtrace, 0);
-#endif
-
-#ifdef HAVE_RB_OBJ_METHOD
rb_define_method(cls, "rb_obj_method", kernel_spec_rb_obj_method, 2);
-#endif
-
-#ifdef HAVE_RB_FUNCALL3
rb_define_method(cls, "rb_funcall3", kernel_spec_rb_funcall3, 2);
-#endif
-
-#ifdef HAVE_RB_FUNCALL_WITH_BLOCK
rb_define_method(cls, "rb_funcall_with_block", kernel_spec_rb_funcall_with_block, 3);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/marshal_spec.c b/spec/ruby/optional/capi/ext/marshal_spec.c
index dbb6e71abf..ea8e3d5a07 100644
--- a/spec/ruby/optional/capi/ext/marshal_spec.c
+++ b/spec/ruby/optional/capi/ext/marshal_spec.c
@@ -5,30 +5,18 @@
extern "C" {
#endif
-#ifdef HAVE_RB_MARSHAL_DUMP
VALUE marshal_spec_rb_marshal_dump(VALUE self, VALUE obj, VALUE port) {
return rb_marshal_dump(obj, port);
}
-#endif
-#ifdef HAVE_RB_MARSHAL_LOAD
VALUE marshal_spec_rb_marshal_load(VALUE self, VALUE data) {
return rb_marshal_load(data);
}
-#endif
void Init_marshal_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiMarshalSpecs", rb_cObject);
-
-#ifdef HAVE_RB_MARSHAL_DUMP
+ VALUE cls = rb_define_class("CApiMarshalSpecs", rb_cObject);
rb_define_method(cls, "rb_marshal_dump", marshal_spec_rb_marshal_dump, 2);
-#endif
-
-#ifdef HAVE_RB_MARSHAL_LOAD
rb_define_method(cls, "rb_marshal_load", marshal_spec_rb_marshal_load, 1);
-#endif
-
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/module_spec.c b/spec/ruby/optional/capi/ext/module_spec.c
index e408404a09..3c8455a942 100644
--- a/spec/ruby/optional/capi/ext/module_spec.c
+++ b/spec/ruby/optional/capi/ext/module_spec.c
@@ -9,252 +9,145 @@ static VALUE module_specs_test_method(VALUE self) {
return ID2SYM(rb_intern("test_method"));
}
-#ifdef HAVE_RB_CONST_DEFINED
static VALUE module_specs_const_defined(VALUE self, VALUE klass, VALUE id) {
return rb_const_defined(klass, SYM2ID(id)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_CONST_DEFINED_AT
static VALUE module_specs_const_defined_at(VALUE self, VALUE klass, VALUE id) {
return rb_const_defined_at(klass, SYM2ID(id)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_CONST_GET
static VALUE module_specs_const_get(VALUE self, VALUE klass, VALUE val) {
return rb_const_get(klass, SYM2ID(val));
}
-#endif
-#ifdef HAVE_RB_CONST_GET_AT
static VALUE module_specs_const_get_at(VALUE self, VALUE klass, VALUE val) {
return rb_const_get_at(klass, SYM2ID(val));
}
-#endif
-#ifdef HAVE_RB_CONST_GET_FROM
static VALUE module_specs_const_get_from(VALUE self, VALUE klass, VALUE val) {
return rb_const_get_from(klass, SYM2ID(val));
}
-#endif
-#ifdef HAVE_RB_CONST_SET
static VALUE module_specs_const_set(VALUE self, VALUE klass, VALUE name, VALUE val) {
rb_const_set(klass, SYM2ID(name), val);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_ALIAS
static VALUE module_specs_rb_define_alias(VALUE self, VALUE obj,
VALUE new_name, VALUE old_name) {
rb_define_alias(obj, RSTRING_PTR(new_name), RSTRING_PTR(old_name));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_ALIAS
static VALUE module_specs_rb_alias(VALUE self, VALUE obj,
VALUE new_name, VALUE old_name) {
rb_alias(obj, SYM2ID(new_name), SYM2ID(old_name));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_MODULE
static VALUE module_specs_rb_define_module(VALUE self, VALUE name) {
return rb_define_module(RSTRING_PTR(name));
}
-#endif
-#ifdef HAVE_RB_DEFINE_MODULE_UNDER
static VALUE module_specs_rb_define_module_under(VALUE self, VALUE outer, VALUE name) {
return rb_define_module_under(outer, RSTRING_PTR(name));
}
-#endif
-#ifdef HAVE_RB_DEFINE_CONST
static VALUE module_specs_define_const(VALUE self, VALUE klass, VALUE str_name, VALUE val) {
rb_define_const(klass, RSTRING_PTR(str_name), val);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_GLOBAL_CONST
static VALUE module_specs_define_global_const(VALUE self, VALUE str_name, VALUE obj) {
rb_define_global_const(RSTRING_PTR(str_name), obj);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_GLOBAL_FUNCTION
static VALUE module_specs_rb_define_global_function(VALUE self, VALUE str_name) {
rb_define_global_function(RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_METHOD
static VALUE module_specs_rb_define_method(VALUE self, VALUE cls, VALUE str_name) {
rb_define_method(cls, RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_MODULE_FUNCTION
static VALUE module_specs_rb_define_module_function(VALUE self, VALUE cls, VALUE str_name) {
rb_define_module_function(cls, RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_PRIVATE_METHOD
static VALUE module_specs_rb_define_private_method(VALUE self, VALUE cls, VALUE str_name) {
rb_define_private_method(cls, RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_PROTECTED_METHOD
static VALUE module_specs_rb_define_protected_method(VALUE self, VALUE cls, VALUE str_name) {
rb_define_protected_method(cls, RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_DEFINE_SINGLETON_METHOD
static VALUE module_specs_rb_define_singleton_method(VALUE self, VALUE cls, VALUE str_name) {
rb_define_singleton_method(cls, RSTRING_PTR(str_name), module_specs_test_method, 0);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_UNDEF_METHOD
static VALUE module_specs_rb_undef_method(VALUE self, VALUE cls, VALUE str_name) {
rb_undef_method(cls, RSTRING_PTR(str_name));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_UNDEF
static VALUE module_specs_rb_undef(VALUE self, VALUE cls, VALUE symbol_name) {
rb_undef(cls, SYM2ID(symbol_name));
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CLASS2NAME
static VALUE module_specs_rbclass2name(VALUE self, VALUE klass) {
return rb_str_new2(rb_class2name(klass));
}
-#endif
-#ifdef HAVE_RB_MOD_ANCESTORS
static VALUE module_specs_rb_mod_ancestors(VALUE self, VALUE klass) {
return rb_mod_ancestors(klass);
}
-#endif
void Init_module_spec(void) {
- VALUE cls;
-
- cls = rb_define_class("CApiModuleSpecs", rb_cObject);
-
-#ifdef HAVE_RB_CONST_DEFINED
+ VALUE cls = rb_define_class("CApiModuleSpecs", rb_cObject);
rb_define_method(cls, "rb_const_defined", module_specs_const_defined, 2);
-#endif
-
-#ifdef HAVE_RB_CONST_DEFINED_AT
rb_define_method(cls, "rb_const_defined_at", module_specs_const_defined_at, 2);
-#endif
-
-#ifdef HAVE_RB_CONST_GET
rb_define_method(cls, "rb_const_get", module_specs_const_get, 2);
-#endif
-
-#ifdef HAVE_RB_CONST_GET_AT
rb_define_method(cls, "rb_const_get_at", module_specs_const_get_at, 2);
-#endif
-
-#ifdef HAVE_RB_CONST_GET_FROM
rb_define_method(cls, "rb_const_get_from", module_specs_const_get_from, 2);
-#endif
-
-#ifdef HAVE_RB_CONST_SET
rb_define_method(cls, "rb_const_set", module_specs_const_set, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_ALIAS
rb_define_method(cls, "rb_define_alias", module_specs_rb_define_alias, 3);
-#endif
-
-#ifdef HAVE_RB_ALIAS
rb_define_method(cls, "rb_alias", module_specs_rb_alias, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_MODULE
rb_define_method(cls, "rb_define_module", module_specs_rb_define_module, 1);
-#endif
-
-#ifdef HAVE_RB_DEFINE_MODULE_UNDER
rb_define_method(cls, "rb_define_module_under", module_specs_rb_define_module_under, 2);
-#endif
-
-#ifdef HAVE_RB_DEFINE_CONST
rb_define_method(cls, "rb_define_const", module_specs_define_const, 3);
-#endif
-
-#ifdef HAVE_RB_DEFINE_GLOBAL_CONST
rb_define_method(cls, "rb_define_global_const", module_specs_define_global_const, 2);
-#endif
-
-#ifdef HAVE_RB_DEFINE_GLOBAL_FUNCTION
rb_define_method(cls, "rb_define_global_function",
module_specs_rb_define_global_function, 1);
-#endif
-#ifdef HAVE_RB_DEFINE_METHOD
rb_define_method(cls, "rb_define_method", module_specs_rb_define_method, 2);
-#endif
-
-#ifdef HAVE_RB_DEFINE_MODULE_FUNCTION
rb_define_method(cls, "rb_define_module_function",
module_specs_rb_define_module_function, 2);
-#endif
-#ifdef HAVE_RB_DEFINE_PRIVATE_METHOD
rb_define_method(cls, "rb_define_private_method",
module_specs_rb_define_private_method, 2);
-#endif
-#ifdef HAVE_RB_DEFINE_PROTECTED_METHOD
rb_define_method(cls, "rb_define_protected_method",
module_specs_rb_define_protected_method, 2);
-#endif
-#ifdef HAVE_RB_DEFINE_SINGLETON_METHOD
rb_define_method(cls, "rb_define_singleton_method",
module_specs_rb_define_singleton_method, 2);
-#endif
-#ifdef HAVE_RB_UNDEF_METHOD
rb_define_method(cls, "rb_undef_method", module_specs_rb_undef_method, 2);
-#endif
-
-#ifdef HAVE_RB_UNDEF
rb_define_method(cls, "rb_undef", module_specs_rb_undef, 2);
-#endif
-
-#ifdef HAVE_RB_CLASS2NAME
rb_define_method(cls, "rb_class2name", module_specs_rbclass2name, 1);
-#endif
-
-#ifdef HAVE_RB_MOD_ANCESTORS
rb_define_method(cls, "rb_mod_ancestors", module_specs_rb_mod_ancestors, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/mutex_spec.c b/spec/ruby/optional/capi/ext/mutex_spec.c
index d5ce06e124..c2fdf917ac 100644
--- a/spec/ruby/optional/capi/ext/mutex_spec.c
+++ b/spec/ruby/optional/capi/ext/mutex_spec.c
@@ -5,43 +5,30 @@
extern "C" {
#endif
-#ifdef HAVE_RB_MUTEX_NEW
VALUE mutex_spec_rb_mutex_new(VALUE self) {
return rb_mutex_new();
}
-#endif
-#ifdef HAVE_RB_MUTEX_LOCKED_P
VALUE mutex_spec_rb_mutex_locked_p(VALUE self, VALUE mutex) {
return rb_mutex_locked_p(mutex);
}
-#endif
-#ifdef HAVE_RB_MUTEX_TRYLOCK
VALUE mutex_spec_rb_mutex_trylock(VALUE self, VALUE mutex) {
return rb_mutex_trylock(mutex);
}
-#endif
-#ifdef HAVE_RB_MUTEX_LOCK
VALUE mutex_spec_rb_mutex_lock(VALUE self, VALUE mutex) {
return rb_mutex_lock(mutex);
}
-#endif
-#ifdef HAVE_RB_MUTEX_UNLOCK
VALUE mutex_spec_rb_mutex_unlock(VALUE self, VALUE mutex) {
return rb_mutex_unlock(mutex);
}
-#endif
-#ifdef HAVE_RB_MUTEX_SLEEP
VALUE mutex_spec_rb_mutex_sleep(VALUE self, VALUE mutex, VALUE timeout) {
return rb_mutex_sleep(mutex, timeout);
}
-#endif
-#ifdef HAVE_RB_MUTEX_SYNCHRONIZE
VALUE mutex_spec_rb_mutex_callback(VALUE arg) {
return rb_funcall(arg, rb_intern("call"), 0);
@@ -50,39 +37,16 @@ VALUE mutex_spec_rb_mutex_callback(VALUE arg) {
VALUE mutex_spec_rb_mutex_synchronize(VALUE self, VALUE mutex, VALUE value) {
return rb_mutex_synchronize(mutex, mutex_spec_rb_mutex_callback, value);
}
-#endif
void Init_mutex_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiMutexSpecs", rb_cObject);
-
-#ifdef HAVE_RB_MUTEX_NEW
+ VALUE cls = rb_define_class("CApiMutexSpecs", rb_cObject);
rb_define_method(cls, "rb_mutex_new", mutex_spec_rb_mutex_new, 0);
-#endif
-
-#ifdef HAVE_RB_MUTEX_LOCKED_P
rb_define_method(cls, "rb_mutex_locked_p", mutex_spec_rb_mutex_locked_p, 1);
-#endif
-
-#ifdef HAVE_RB_MUTEX_TRYLOCK
rb_define_method(cls, "rb_mutex_trylock", mutex_spec_rb_mutex_trylock, 1);
-#endif
-
-#ifdef HAVE_RB_MUTEX_LOCK
rb_define_method(cls, "rb_mutex_lock", mutex_spec_rb_mutex_lock, 1);
-#endif
-
-#ifdef HAVE_RB_MUTEX_UNLOCK
rb_define_method(cls, "rb_mutex_unlock", mutex_spec_rb_mutex_unlock, 1);
-#endif
-
-#ifdef HAVE_RB_MUTEX_SLEEP
rb_define_method(cls, "rb_mutex_sleep", mutex_spec_rb_mutex_sleep, 2);
-#endif
-
-#ifdef HAVE_RB_MUTEX_SYNCHRONIZE
rb_define_method(cls, "rb_mutex_synchronize", mutex_spec_rb_mutex_synchronize, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/numeric_spec.c b/spec/ruby/optional/capi/ext/numeric_spec.c
index 2f66c7bac7..556c71a587 100644
--- a/spec/ruby/optional/capi/ext/numeric_spec.c
+++ b/spec/ruby/optional/capi/ext/numeric_spec.c
@@ -13,19 +13,14 @@ static VALUE numeric_spec_size_of_long_long(VALUE self) {
return INT2FIX(sizeof(LONG_LONG));
}
-#ifdef HAVE_NUM2CHR
static VALUE numeric_spec_NUM2CHR(VALUE self, VALUE value) {
return INT2FIX(NUM2CHR(value));
}
-#endif
-#ifdef HAVE_RB_INT2INUM
static VALUE numeric_spec_rb_int2inum_14(VALUE self) {
return rb_int2inum(14);
}
-#endif
-#ifdef HAVE_RB_UINT2INUM
static VALUE numeric_spec_rb_uint2inum_14(VALUE self) {
return rb_uint2inum(14);
}
@@ -33,21 +28,15 @@ static VALUE numeric_spec_rb_uint2inum_14(VALUE self) {
static VALUE numeric_spec_rb_uint2inum_n14(VALUE self) {
return rb_uint2inum(-14);
}
-#endif
-#ifdef HAVE_RB_INTEGER
static VALUE numeric_spec_rb_Integer(VALUE self, VALUE str) {
return rb_Integer(str);
}
-#endif
-#ifdef HAVE_RB_LL2INUM
static VALUE numeric_spec_rb_ll2inum_14(VALUE self) {
return rb_ll2inum(14);
}
-#endif
-#ifdef HAVE_RB_ULL2INUM
static VALUE numeric_spec_rb_ull2inum_14(VALUE self) {
return rb_ull2inum(14);
}
@@ -55,161 +44,80 @@ static VALUE numeric_spec_rb_ull2inum_14(VALUE self) {
static VALUE numeric_spec_rb_ull2inum_n14(VALUE self) {
return rb_ull2inum(-14);
}
-#endif
-#ifdef HAVE_RB_NUM2DBL
-static VALUE numeric_spec_rb_num2dbl(VALUE self, VALUE num) {
- return rb_float_new(rb_num2dbl(num));
+static VALUE numeric_spec_NUM2DBL(VALUE self, VALUE num) {
+ return rb_float_new(NUM2DBL(num));
}
-#endif
-#ifdef HAVE_RB_NUM2INT
-static VALUE numeric_spec_rb_num2int(VALUE self, VALUE num) {
- return LONG2NUM(rb_num2int(num));
+static VALUE numeric_spec_NUM2INT(VALUE self, VALUE num) {
+ return LONG2NUM(NUM2INT(num));
}
-#endif
-#ifdef HAVE_RB_INT2NUM
-static VALUE numeric_spec_rb_int2num(VALUE self, VALUE num) {
- return INT2NUM(rb_num2long(num));
+static VALUE numeric_spec_INT2NUM(VALUE self, VALUE num) {
+ return INT2NUM(NUM2LONG(num));
}
-#endif
-#ifdef HAVE_RB_NUM2LONG
-static VALUE numeric_spec_rb_num2long(VALUE self, VALUE num) {
- return LONG2NUM(rb_num2long(num));
+static VALUE numeric_spec_NUM2LONG(VALUE self, VALUE num) {
+ return LONG2NUM(NUM2LONG(num));
}
-#endif
-#ifdef HAVE_RB_NUM2UINT
-static VALUE numeric_spec_rb_num2uint(VALUE self, VALUE num) {
- return ULONG2NUM(rb_num2uint(num));
+static VALUE numeric_spec_NUM2UINT(VALUE self, VALUE num) {
+ return ULONG2NUM(NUM2UINT(num));
}
-#endif
-#ifdef HAVE_RB_NUM2ULONG
-static VALUE numeric_spec_rb_num2ulong(VALUE self, VALUE num) {
- return ULONG2NUM(rb_num2ulong(num));
+static VALUE numeric_spec_NUM2ULONG(VALUE self, VALUE num) {
+ return ULONG2NUM(NUM2ULONG(num));
}
-#endif
-#ifdef HAVE_RB_NUM_ZERODIV
static VALUE numeric_spec_rb_num_zerodiv(VALUE self) {
rb_num_zerodiv();
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CMPINT
static VALUE numeric_spec_rb_cmpint(VALUE self, VALUE val, VALUE b) {
return INT2FIX(rb_cmpint(val, val, b));
}
-#endif
-#ifdef HAVE_RB_NUM_COERCE_BIN
static VALUE numeric_spec_rb_num_coerce_bin(VALUE self, VALUE x, VALUE y, VALUE op) {
return rb_num_coerce_bin(x, y, SYM2ID(op));
}
-#endif
-#ifdef HAVE_RB_NUM_COERCE_CMP
static VALUE numeric_spec_rb_num_coerce_cmp(VALUE self, VALUE x, VALUE y, VALUE op) {
return rb_num_coerce_cmp(x, y, SYM2ID(op));
}
-#endif
-#ifdef HAVE_RB_NUM_COERCE_RELOP
static VALUE numeric_spec_rb_num_coerce_relop(VALUE self, VALUE x, VALUE y, VALUE op) {
return rb_num_coerce_relop(x, y, SYM2ID(op));
}
-#endif
-#ifdef HAVE_RB_ABSINT_SINGLEBIT_P
static VALUE numeric_spec_rb_absint_singlebit_p(VALUE self, VALUE num) {
return INT2FIX(rb_absint_singlebit_p(num));
}
-#endif
void Init_numeric_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiNumericSpecs", rb_cObject);
-
+ VALUE cls = rb_define_class("CApiNumericSpecs", rb_cObject);
rb_define_method(cls, "size_of_VALUE", numeric_spec_size_of_VALUE, 0);
rb_define_method(cls, "size_of_long_long", numeric_spec_size_of_long_long, 0);
-
-#ifdef HAVE_NUM2CHR
rb_define_method(cls, "NUM2CHR", numeric_spec_NUM2CHR, 1);
-#endif
-
-#ifdef HAVE_RB_INT2INUM
rb_define_method(cls, "rb_int2inum_14", numeric_spec_rb_int2inum_14, 0);
-#endif
-
-#ifdef HAVE_RB_UINT2INUM
rb_define_method(cls, "rb_uint2inum_14", numeric_spec_rb_uint2inum_14, 0);
rb_define_method(cls, "rb_uint2inum_n14", numeric_spec_rb_uint2inum_n14, 0);
-#endif
-
-#ifdef HAVE_RB_INTEGER
rb_define_method(cls, "rb_Integer", numeric_spec_rb_Integer, 1);
-#endif
-
-#ifdef HAVE_RB_LL2INUM
rb_define_method(cls, "rb_ll2inum_14", numeric_spec_rb_ll2inum_14, 0);
-#endif
-
-#ifdef HAVE_RB_ULL2INUM
rb_define_method(cls, "rb_ull2inum_14", numeric_spec_rb_ull2inum_14, 0);
rb_define_method(cls, "rb_ull2inum_n14", numeric_spec_rb_ull2inum_n14, 0);
-#endif
-
-#ifdef HAVE_RB_NUM2DBL
- rb_define_method(cls, "rb_num2dbl", numeric_spec_rb_num2dbl, 1);
-#endif
-
-#ifdef HAVE_RB_NUM2INT
- rb_define_method(cls, "rb_num2int", numeric_spec_rb_num2int, 1);
-#endif
-
-#ifdef HAVE_RB_NUM2LONG
- rb_define_method(cls, "rb_num2long", numeric_spec_rb_num2long, 1);
-#endif
-
-#ifdef HAVE_RB_INT2NUM
- rb_define_method(cls, "rb_int2num", numeric_spec_rb_int2num, 1);
-#endif
-
-#ifdef HAVE_RB_NUM2UINT
- rb_define_method(cls, "rb_num2uint", numeric_spec_rb_num2uint, 1);
-#endif
-
-#ifdef HAVE_RB_NUM2ULONG
- rb_define_method(cls, "rb_num2ulong", numeric_spec_rb_num2ulong, 1);
-#endif
-
-#ifdef HAVE_RB_NUM_ZERODIV
+ rb_define_method(cls, "NUM2DBL", numeric_spec_NUM2DBL, 1);
+ rb_define_method(cls, "NUM2INT", numeric_spec_NUM2INT, 1);
+ rb_define_method(cls, "NUM2LONG", numeric_spec_NUM2LONG, 1);
+ rb_define_method(cls, "INT2NUM", numeric_spec_INT2NUM, 1);
+ rb_define_method(cls, "NUM2UINT", numeric_spec_NUM2UINT, 1);
+ rb_define_method(cls, "NUM2ULONG", numeric_spec_NUM2ULONG, 1);
rb_define_method(cls, "rb_num_zerodiv", numeric_spec_rb_num_zerodiv, 0);
-#endif
-
-#ifdef HAVE_RB_CMPINT
rb_define_method(cls, "rb_cmpint", numeric_spec_rb_cmpint, 2);
-#endif
-
-#ifdef HAVE_RB_NUM_COERCE_BIN
rb_define_method(cls, "rb_num_coerce_bin", numeric_spec_rb_num_coerce_bin, 3);
-#endif
-
-#ifdef HAVE_RB_NUM_COERCE_CMP
rb_define_method(cls, "rb_num_coerce_cmp", numeric_spec_rb_num_coerce_cmp, 3);
-#endif
-
-#ifdef HAVE_RB_NUM_COERCE_RELOP
rb_define_method(cls, "rb_num_coerce_relop", numeric_spec_rb_num_coerce_relop, 3);
-#endif
-
-#ifdef HAVE_RB_ABSINT_SINGLEBIT_P
rb_define_method(cls, "rb_absint_singlebit_p", numeric_spec_rb_absint_singlebit_p, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/object_spec.c b/spec/ruby/optional/capi/ext/object_spec.c
index 45a28169ef..c70c2ecf3a 100644
--- a/spec/ruby/optional/capi/ext/object_spec.c
+++ b/spec/ruby/optional/capi/ext/object_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_FL_ABLE
static VALUE object_spec_FL_ABLE(VALUE self, VALUE obj) {
if (FL_ABLE(obj)) {
return Qtrue;
@@ -13,9 +12,7 @@ static VALUE object_spec_FL_ABLE(VALUE self, VALUE obj) {
return Qfalse;
}
}
-#endif
-#ifdef HAVE_FL_TEST
static int object_spec_FL_TEST_flag(VALUE flag_string) {
char *flag_cstr = StringValueCStr(flag_string);
if (strcmp(flag_cstr, "FL_TAINT") == 0) {
@@ -29,115 +26,79 @@ static int object_spec_FL_TEST_flag(VALUE flag_string) {
static VALUE object_spec_FL_TEST(VALUE self, VALUE obj, VALUE flag) {
return INT2FIX(FL_TEST(obj, object_spec_FL_TEST_flag(flag)));
}
-#endif
-#ifdef HAVE_OBJ_TAINT
static VALUE object_spec_OBJ_TAINT(VALUE self, VALUE obj) {
OBJ_TAINT(obj);
return Qnil;
}
-#endif
-#ifdef HAVE_OBJ_TAINTED
static VALUE object_spec_OBJ_TAINTED(VALUE self, VALUE obj) {
return OBJ_TAINTED(obj) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_OBJ_INFECT
static VALUE object_spec_OBJ_INFECT(VALUE self, VALUE host, VALUE source) {
OBJ_INFECT(host, source);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_ANY_TO_S
static VALUE object_spec_rb_any_to_s(VALUE self, VALUE obj) {
return rb_any_to_s(obj);
}
-#endif
-#ifdef HAVE_RB_ATTR_GET
static VALUE so_attr_get(VALUE self, VALUE obj, VALUE attr) {
return rb_attr_get(obj, SYM2ID(attr));
}
-#endif
-#ifdef HAVE_RB_OBJ_INSTANCE_VARIABLES
static VALUE object_spec_rb_obj_instance_variables(VALUE self, VALUE obj) {
return rb_obj_instance_variables(obj);
}
-#endif
-#ifdef HAVE_RB_CHECK_ARRAY_TYPE
static VALUE so_check_array_type(VALUE self, VALUE ary) {
return rb_check_array_type(ary);
}
-#endif
-#ifdef HAVE_RB_CHECK_CONVERT_TYPE
static VALUE so_check_convert_type(VALUE self, VALUE obj, VALUE klass, VALUE method) {
return rb_check_convert_type(obj, T_ARRAY, RSTRING_PTR(klass), RSTRING_PTR(method));
}
-#endif
-#ifdef HAVE_RB_CHECK_TO_INTEGER
static VALUE so_check_to_integer(VALUE self, VALUE obj, VALUE method) {
return rb_check_to_integer(obj, RSTRING_PTR(method));
}
-#endif
-#ifdef HAVE_RB_CHECK_FROZEN
static VALUE object_spec_rb_check_frozen(VALUE self, VALUE obj) {
rb_check_frozen(obj);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_CHECK_STRING_TYPE
static VALUE so_check_string_type(VALUE self, VALUE str) {
return rb_check_string_type(str);
}
-#endif
-#ifdef HAVE_RB_CLASS_OF
static VALUE so_rbclassof(VALUE self, VALUE obj) {
return rb_class_of(obj);
}
-#endif
-#ifdef HAVE_RB_CONVERT_TYPE
static VALUE so_convert_type(VALUE self, VALUE obj, VALUE klass, VALUE method) {
return rb_convert_type(obj, T_ARRAY, RSTRING_PTR(klass), RSTRING_PTR(method));
}
-#endif
-#ifdef HAVE_RB_EXTEND_OBJECT
static VALUE object_spec_rb_extend_object(VALUE self, VALUE obj, VALUE mod) {
rb_extend_object(obj, mod);
return obj;
}
-#endif
-#ifdef HAVE_RB_INSPECT
static VALUE so_inspect(VALUE self, VALUE obj) {
return rb_inspect(obj);
}
-#endif
-#ifdef HAVE_RB_OBJ_ALLOC
static VALUE so_rb_obj_alloc(VALUE self, VALUE klass) {
return rb_obj_alloc(klass);
}
-#endif
-#ifdef HAVE_RB_OBJ_DUP
static VALUE so_rb_obj_dup(VALUE self, VALUE klass) {
return rb_obj_dup(klass);
}
-#endif
-#ifdef HAVE_RB_OBJ_CALL_INIT
static VALUE so_rb_obj_call_init(VALUE self, VALUE object,
VALUE nargs, VALUE args) {
int c_nargs = FIX2INT(nargs);
@@ -151,84 +112,58 @@ static VALUE so_rb_obj_call_init(VALUE self, VALUE object,
return Qnil;
}
-#endif
-#ifdef HAVE_RB_OBJ_CLASSNAME
static VALUE so_rbobjclassname(VALUE self, VALUE obj) {
return rb_str_new2(rb_obj_classname(obj));
}
-#endif
-#ifdef HAVE_RB_OBJ_FREEZE
static VALUE object_spec_rb_obj_freeze(VALUE self, VALUE obj) {
return rb_obj_freeze(obj);
}
-#endif
-#ifdef HAVE_RB_OBJ_FROZEN_P
static VALUE object_spec_rb_obj_frozen_p(VALUE self, VALUE obj) {
return rb_obj_frozen_p(obj);
}
-#endif
-#ifdef HAVE_RB_OBJ_ID
static VALUE object_spec_rb_obj_id(VALUE self, VALUE obj) {
return rb_obj_id(obj);
}
-#endif
-#ifdef HAVE_RB_OBJ_IS_INSTANCE_OF
static VALUE so_instance_of(VALUE self, VALUE obj, VALUE klass) {
return rb_obj_is_instance_of(obj, klass);
}
-#endif
-#ifdef HAVE_RB_OBJ_IS_KIND_OF
static VALUE so_kind_of(VALUE self, VALUE obj, VALUE klass) {
return rb_obj_is_kind_of(obj, klass);
}
-#endif
-#ifdef HAVE_RB_OBJ_METHOD_ARITY
static VALUE object_specs_rb_obj_method_arity(VALUE self, VALUE obj, VALUE mid) {
return INT2FIX(rb_obj_method_arity(obj, SYM2ID(mid)));
}
-#endif
-#ifdef HAVE_RB_OBJ_TAINT
static VALUE object_spec_rb_obj_taint(VALUE self, VALUE obj) {
return rb_obj_taint(obj);
}
-#endif
-#ifdef HAVE_RB_REQUIRE
static VALUE so_require(VALUE self) {
rb_require("fixtures/foo");
return Qnil;
}
-#endif
-#ifdef HAVE_RB_RESPOND_TO
static VALUE so_respond_to(VALUE self, VALUE obj, VALUE sym) {
return rb_respond_to(obj, SYM2ID(sym)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_OBJ_RESPOND_TO
static VALUE so_obj_respond_to(VALUE self, VALUE obj, VALUE sym, VALUE priv) {
return rb_obj_respond_to(obj, SYM2ID(sym), priv == Qtrue ? 1 : 0) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_METHOD_BOUNDP
static VALUE object_spec_rb_method_boundp(VALUE self, VALUE obj, VALUE method, VALUE exclude_private) {
ID id = SYM2ID(method);
return rb_method_boundp(obj, id, exclude_private == Qtrue ? 1 : 0) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_SPECIAL_CONST_P
static VALUE object_spec_rb_special_const_p(VALUE self, VALUE value) {
if (rb_special_const_p(value)) {
return Qtrue;
@@ -236,21 +171,15 @@ static VALUE object_spec_rb_special_const_p(VALUE self, VALUE value) {
return Qfalse;
}
}
-#endif
-#ifdef HAVE_RB_TO_ID
static VALUE so_to_id(VALUE self, VALUE obj) {
return ID2SYM(rb_to_id(obj));
}
-#endif
-#ifdef HAVE_RTEST
static VALUE object_spec_RTEST(VALUE self, VALUE value) {
return RTEST(value) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_TYPE
static VALUE so_is_type_nil(VALUE self, VALUE obj) {
if(TYPE(obj) == T_NIL) {
return Qtrue;
@@ -292,9 +221,7 @@ static VALUE so_is_type_data(VALUE self, VALUE obj) {
}
return Qfalse;
}
-#endif
-#ifdef HAVE_RB_TYPE_P
static VALUE so_is_rb_type_p_nil(VALUE self, VALUE obj) {
if(rb_type_p(obj, T_NIL)) {
return Qtrue;
@@ -336,9 +263,7 @@ static VALUE so_is_rb_type_p_data(VALUE self, VALUE obj) {
}
return Qfalse;
}
-#endif
-#ifdef HAVE_BUILTIN_TYPE
static VALUE so_is_builtin_type_object(VALUE self, VALUE obj) {
if(BUILTIN_TYPE(obj) == T_OBJECT) {
return Qtrue;
@@ -373,272 +298,108 @@ static VALUE so_is_builtin_type_data(VALUE self, VALUE obj) {
}
return Qfalse;
}
-#endif
-#ifdef HAVE_RB_TO_INT
static VALUE object_spec_rb_to_int(VALUE self, VALUE obj) {
return rb_to_int(obj);
}
-#endif
-#ifdef HAVE_RB_OBJ_INSTANCE_EVAL
static VALUE object_spec_rb_obj_instance_eval(VALUE self, VALUE obj) {
return rb_obj_instance_eval(0, NULL, obj);
}
-#endif
-#ifdef HAVE_RB_IV_GET
static VALUE object_spec_rb_iv_get(VALUE self, VALUE obj, VALUE name) {
return rb_iv_get(obj, RSTRING_PTR(name));
}
-#endif
-#ifdef HAVE_RB_IV_SET
static VALUE object_spec_rb_iv_set(VALUE self, VALUE obj, VALUE name, VALUE value) {
return rb_iv_set(obj, RSTRING_PTR(name), value);
}
-#endif
-#ifdef HAVE_RB_IVAR_GET
static VALUE object_spec_rb_ivar_get(VALUE self, VALUE obj, VALUE sym_name) {
return rb_ivar_get(obj, SYM2ID(sym_name));
}
-#endif
-#ifdef HAVE_RB_IVAR_SET
static VALUE object_spec_rb_ivar_set(VALUE self, VALUE obj, VALUE sym_name, VALUE value) {
return rb_ivar_set(obj, SYM2ID(sym_name), value);
}
-#endif
-#ifdef HAVE_RB_IVAR_DEFINED
static VALUE object_spec_rb_ivar_defined(VALUE self, VALUE obj, VALUE sym_name) {
return rb_ivar_defined(obj, SYM2ID(sym_name));
}
-#endif
-#ifdef HAVE_RB_EQUAL
static VALUE object_spec_rb_equal(VALUE self, VALUE a, VALUE b) {
return rb_equal(a, b);
}
-#endif
-#ifdef HAVE_RB_CLASS_INHERITED_P
static VALUE object_spec_rb_class_inherited_p(VALUE self, VALUE mod, VALUE arg) {
return rb_class_inherited_p(mod, arg);
}
-#endif
void Init_object_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiObjectSpecs", rb_cObject);
-
-#ifdef HAVE_FL_ABLE
+ VALUE cls = rb_define_class("CApiObjectSpecs", rb_cObject);
rb_define_method(cls, "FL_ABLE", object_spec_FL_ABLE, 1);
-#endif
-
-#ifdef HAVE_FL_TEST
rb_define_method(cls, "FL_TEST", object_spec_FL_TEST, 2);
-#endif
-
-#ifdef HAVE_OBJ_TAINT
rb_define_method(cls, "OBJ_TAINT", object_spec_OBJ_TAINT, 1);
-#endif
-
-#ifdef HAVE_OBJ_TAINTED
rb_define_method(cls, "OBJ_TAINTED", object_spec_OBJ_TAINTED, 1);
-#endif
-
-#ifdef HAVE_OBJ_INFECT
rb_define_method(cls, "OBJ_INFECT", object_spec_OBJ_INFECT, 2);
-#endif
-
-#ifdef HAVE_RB_ANY_TO_S
rb_define_method(cls, "rb_any_to_s", object_spec_rb_any_to_s, 1);
-#endif
-
-#ifdef HAVE_RB_ATTR_GET
rb_define_method(cls, "rb_attr_get", so_attr_get, 2);
-#endif
-
-#ifdef HAVE_RB_OBJ_INSTANCE_VARIABLES
rb_define_method(cls, "rb_obj_instance_variables", object_spec_rb_obj_instance_variables, 1);
-#endif
-
-#ifdef HAVE_RB_CHECK_ARRAY_TYPE
rb_define_method(cls, "rb_check_array_type", so_check_array_type, 1);
-#endif
-
-#ifdef HAVE_RB_CHECK_CONVERT_TYPE
rb_define_method(cls, "rb_check_convert_type", so_check_convert_type, 3);
-#endif
-
-#ifdef HAVE_RB_CHECK_TO_INTEGER
rb_define_method(cls, "rb_check_to_integer", so_check_to_integer, 2);
-#endif
-
-#ifdef HAVE_RB_CHECK_FROZEN
rb_define_method(cls, "rb_check_frozen", object_spec_rb_check_frozen, 1);
-#endif
-
-#ifdef HAVE_RB_CHECK_STRING_TYPE
rb_define_method(cls, "rb_check_string_type", so_check_string_type, 1);
-#endif
-
-#ifdef HAVE_RB_CLASS_OF
rb_define_method(cls, "rb_class_of", so_rbclassof, 1);
-#endif
-
-#ifdef HAVE_RB_CONVERT_TYPE
rb_define_method(cls, "rb_convert_type", so_convert_type, 3);
-#endif
-
-#ifdef HAVE_RB_EXTEND_OBJECT
rb_define_method(cls, "rb_extend_object", object_spec_rb_extend_object, 2);
-#endif
-
-#ifdef HAVE_RB_INSPECT
rb_define_method(cls, "rb_inspect", so_inspect, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_ALLOC
rb_define_method(cls, "rb_obj_alloc", so_rb_obj_alloc, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_ALLOC
rb_define_method(cls, "rb_obj_dup", so_rb_obj_dup, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_CALL_INIT
rb_define_method(cls, "rb_obj_call_init", so_rb_obj_call_init, 3);
-#endif
-
-#ifdef HAVE_RB_OBJ_CLASSNAME
rb_define_method(cls, "rb_obj_classname", so_rbobjclassname, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_FREEZE
rb_define_method(cls, "rb_obj_freeze", object_spec_rb_obj_freeze, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_FROZEN_P
rb_define_method(cls, "rb_obj_frozen_p", object_spec_rb_obj_frozen_p, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_ID
rb_define_method(cls, "rb_obj_id", object_spec_rb_obj_id, 1);
-#endif
-
-#ifdef HAVE_RB_OBJ_IS_INSTANCE_OF
rb_define_method(cls, "rb_obj_is_instance_of", so_instance_of, 2);
-#endif
-
-#ifdef HAVE_RB_OBJ_IS_KIND_OF
rb_define_method(cls, "rb_obj_is_kind_of", so_kind_of, 2);
-#endif
-
-#ifdef HAVE_RB_OBJ_METHOD_ARITY
rb_define_method(cls, "rb_obj_method_arity", object_specs_rb_obj_method_arity, 2);
-#endif
-
-#ifdef HAVE_RB_OBJ_TAINT
rb_define_method(cls, "rb_obj_taint", object_spec_rb_obj_taint, 1);
-#endif
-
-#ifdef HAVE_RB_REQUIRE
rb_define_method(cls, "rb_require", so_require, 0);
-#endif
-
-#ifdef HAVE_RB_RESPOND_TO
rb_define_method(cls, "rb_respond_to", so_respond_to, 2);
-#endif
-
-#ifdef HAVE_RB_METHOD_BOUNDP
rb_define_method(cls, "rb_method_boundp", object_spec_rb_method_boundp, 3);
-#endif
-
-#ifdef HAVE_RB_OBJ_RESPOND_TO
rb_define_method(cls, "rb_obj_respond_to", so_obj_respond_to, 3);
-#endif
-
-#ifdef HAVE_RB_SPECIAL_CONST_P
rb_define_method(cls, "rb_special_const_p", object_spec_rb_special_const_p, 1);
-#endif
-#ifdef HAVE_RB_STR_NEW2
-#endif
-
-#ifdef HAVE_RB_TO_ID
rb_define_method(cls, "rb_to_id", so_to_id, 1);
-#endif
-
-#ifdef HAVE_RTEST
rb_define_method(cls, "RTEST", object_spec_RTEST, 1);
-#endif
-
-#ifdef HAVE_TYPE
rb_define_method(cls, "rb_is_type_nil", so_is_type_nil, 1);
rb_define_method(cls, "rb_is_type_object", so_is_type_object, 1);
rb_define_method(cls, "rb_is_type_array", so_is_type_array, 1);
rb_define_method(cls, "rb_is_type_module", so_is_type_module, 1);
rb_define_method(cls, "rb_is_type_class", so_is_type_class, 1);
rb_define_method(cls, "rb_is_type_data", so_is_type_data, 1);
-#endif
-
-#ifdef HAVE_RB_TYPE_P
rb_define_method(cls, "rb_is_rb_type_p_nil", so_is_rb_type_p_nil, 1);
rb_define_method(cls, "rb_is_rb_type_p_object", so_is_rb_type_p_object, 1);
rb_define_method(cls, "rb_is_rb_type_p_array", so_is_rb_type_p_array, 1);
rb_define_method(cls, "rb_is_rb_type_p_module", so_is_rb_type_p_module, 1);
rb_define_method(cls, "rb_is_rb_type_p_class", so_is_rb_type_p_class, 1);
rb_define_method(cls, "rb_is_rb_type_p_data", so_is_rb_type_p_data, 1);
-#endif
-
-#ifdef HAVE_BUILTIN_TYPE
rb_define_method(cls, "rb_is_builtin_type_object", so_is_builtin_type_object, 1);
rb_define_method(cls, "rb_is_builtin_type_array", so_is_builtin_type_array, 1);
rb_define_method(cls, "rb_is_builtin_type_module", so_is_builtin_type_module, 1);
rb_define_method(cls, "rb_is_builtin_type_class", so_is_builtin_type_class, 1);
rb_define_method(cls, "rb_is_builtin_type_data", so_is_builtin_type_data, 1);
-#endif
-
-#ifdef HAVE_RB_TO_INT
rb_define_method(cls, "rb_to_int", object_spec_rb_to_int, 1);
-#endif
-
-#ifdef HAVE_RB_EQUAL
rb_define_method(cls, "rb_equal", object_spec_rb_equal, 2);
-#endif
-
-#ifdef HAVE_RB_CLASS_INHERITED_P
rb_define_method(cls, "rb_class_inherited_p", object_spec_rb_class_inherited_p, 2);
-#endif
-
-#ifdef HAVE_RB_OBJ_INSTANCE_EVAL
rb_define_method(cls, "rb_obj_instance_eval", object_spec_rb_obj_instance_eval, 1);
-#endif
-
-#ifdef HAVE_RB_IV_GET
rb_define_method(cls, "rb_iv_get", object_spec_rb_iv_get, 2);
-#endif
-
-#ifdef HAVE_RB_IV_SET
rb_define_method(cls, "rb_iv_set", object_spec_rb_iv_set, 3);
-#endif
-
-#ifdef HAVE_RB_IVAR_GET
rb_define_method(cls, "rb_ivar_get", object_spec_rb_ivar_get, 2);
-#endif
-
-#ifdef HAVE_RB_IVAR_SET
rb_define_method(cls, "rb_ivar_set", object_spec_rb_ivar_set, 3);
-#endif
-
-#ifdef HAVE_RB_IVAR_DEFINED
rb_define_method(cls, "rb_ivar_defined", object_spec_rb_ivar_defined, 2);
-#endif
-
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/proc_spec.c b/spec/ruby/optional/capi/ext/proc_spec.c
index f9c0f6b1b9..67dd8577bd 100644
--- a/spec/ruby/optional/capi/ext/proc_spec.c
+++ b/spec/ruby/optional/capi/ext/proc_spec.c
@@ -7,7 +7,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_PROC_NEW
VALUE proc_spec_rb_proc_new_function(VALUE args) {
return rb_funcall(args, rb_intern("inspect"), 0);
}
@@ -15,19 +14,14 @@ VALUE proc_spec_rb_proc_new_function(VALUE args) {
VALUE proc_spec_rb_proc_new(VALUE self) {
return rb_proc_new(proc_spec_rb_proc_new_function, Qnil);
}
-#endif
-#ifdef HAVE_RB_PROC_ARITY
VALUE proc_spec_rb_proc_arity(VALUE self, VALUE prc) {
return INT2FIX(rb_proc_arity(prc));
}
-#endif
-#ifdef HAVE_RB_PROC_CALL
VALUE proc_spec_rb_proc_call(VALUE self, VALUE prc, VALUE args) {
return rb_proc_call(prc, args);
}
-#endif
/* This helper is not strictly necessary but reflects the code in wxRuby that
* originally exposed issues with this Proc.new behavior.
@@ -62,21 +56,10 @@ VALUE proc_spec_rb_Proc_new(VALUE self, VALUE scenario) {
}
void Init_proc_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiProcSpecs", rb_cObject);
-
-#ifdef HAVE_RB_PROC_NEW
+ VALUE cls = rb_define_class("CApiProcSpecs", rb_cObject);
rb_define_method(cls, "rb_proc_new", proc_spec_rb_proc_new, 0);
-#endif
-
-#ifdef HAVE_RB_PROC_ARITY
rb_define_method(cls, "rb_proc_arity", proc_spec_rb_proc_arity, 1);
-#endif
-
-#ifdef HAVE_RB_PROC_CALL
rb_define_method(cls, "rb_proc_call", proc_spec_rb_proc_call, 2);
-#endif
-
rb_define_method(cls, "rb_Proc_new", proc_spec_rb_Proc_new, 1);
}
diff --git a/spec/ruby/optional/capi/ext/range_spec.c b/spec/ruby/optional/capi/ext/range_spec.c
index 6dc2d579fd..7a475ec695 100644
--- a/spec/ruby/optional/capi/ext/range_spec.c
+++ b/spec/ruby/optional/capi/ext/range_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_RANGE_NEW
VALUE range_spec_rb_range_new(int argc, VALUE* argv, VALUE self) {
int exclude_end = 0;
if(argc == 3) {
@@ -13,9 +12,7 @@ VALUE range_spec_rb_range_new(int argc, VALUE* argv, VALUE self) {
}
return rb_range_new(argv[0], argv[1], exclude_end);
}
-#endif
-#ifdef HAVE_RB_RANGE_VALUES
VALUE range_spec_rb_range_values(VALUE self, VALUE range) {
VALUE beg;
VALUE end;
@@ -27,9 +24,7 @@ VALUE range_spec_rb_range_values(VALUE self, VALUE range) {
rb_ary_store(ary, 2, excl ? Qtrue : Qfalse);
return ary;
}
-#endif
-#ifdef HAVE_RB_RANGE_BEG_LEN
VALUE range_spec_rb_range_beg_len(VALUE self, VALUE range, VALUE begpv, VALUE lenpv, VALUE lenv, VALUE errv) {
long begp = FIX2LONG(begpv);
long lenp = FIX2LONG(lenpv);
@@ -42,23 +37,12 @@ VALUE range_spec_rb_range_beg_len(VALUE self, VALUE range, VALUE begpv, VALUE le
rb_ary_store(ary, 2, res);
return ary;
}
-#endif
void Init_range_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiRangeSpecs", rb_cObject);
-
-#ifdef HAVE_RB_RANGE_NEW
+ VALUE cls = rb_define_class("CApiRangeSpecs", rb_cObject);
rb_define_method(cls, "rb_range_new", range_spec_rb_range_new, -1);
-#endif
-
-#ifdef HAVE_RB_RANGE_VALUES
rb_define_method(cls, "rb_range_values", range_spec_rb_range_values, 1);
-#endif
-
-#ifdef HAVE_RB_RANGE_BEG_LEN
rb_define_method(cls, "rb_range_beg_len", range_spec_rb_range_beg_len, 5);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/rational_spec.c b/spec/ruby/optional/capi/ext/rational_spec.c
index 9f349261a0..6273af68c5 100644
--- a/spec/ruby/optional/capi/ext/rational_spec.c
+++ b/spec/ruby/optional/capi/ext/rational_spec.c
@@ -5,89 +5,48 @@
extern "C" {
#endif
-#ifdef HAVE_RB_RATIONAL
static VALUE rational_spec_rb_Rational(VALUE self, VALUE num, VALUE den) {
return rb_Rational(num, den);
}
-#endif
-#ifdef HAVE_RB_RATIONAL1
static VALUE rational_spec_rb_Rational1(VALUE self, VALUE num) {
return rb_Rational1(num);
}
-#endif
-#ifdef HAVE_RB_RATIONAL2
static VALUE rational_spec_rb_Rational2(VALUE self, VALUE num, VALUE den) {
return rb_Rational2(num, den);
}
-#endif
-#ifdef HAVE_RB_RATIONAL_NEW
static VALUE rational_spec_rb_rational_new(VALUE self, VALUE num, VALUE den) {
return rb_rational_new(num, den);
}
-#endif
-#ifdef HAVE_RB_RATIONAL_NEW1
static VALUE rational_spec_rb_rational_new1(VALUE self, VALUE num) {
return rb_rational_new1(num);
}
-#endif
-#ifdef HAVE_RB_RATIONAL_NEW2
static VALUE rational_spec_rb_rational_new2(VALUE self, VALUE num, VALUE den) {
return rb_rational_new2(num, den);
}
-#endif
-#ifdef HAVE_RB_RATIONAL_NUM
static VALUE rational_spec_rb_rational_num(VALUE self, VALUE rational) {
return rb_rational_num(rational);
}
-#endif
-#ifdef HAVE_RB_RATIONAL_DEN
static VALUE rational_spec_rb_rational_den(VALUE self, VALUE rational) {
return rb_rational_den(rational);
}
-#endif
void Init_rational_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiRationalSpecs", rb_cObject);
-
-#ifdef HAVE_RB_RATIONAL
+ VALUE cls = rb_define_class("CApiRationalSpecs", rb_cObject);
rb_define_method(cls, "rb_Rational", rational_spec_rb_Rational, 2);
-#endif
-
-#ifdef HAVE_RB_RATIONAL1
rb_define_method(cls, "rb_Rational1", rational_spec_rb_Rational1, 1);
-#endif
-
-#ifdef HAVE_RB_RATIONAL2
rb_define_method(cls, "rb_Rational2", rational_spec_rb_Rational2, 2);
-#endif
-
-#ifdef HAVE_RB_RATIONAL_NEW
rb_define_method(cls, "rb_rational_new", rational_spec_rb_rational_new, 2);
-#endif
-
-#ifdef HAVE_RB_RATIONAL_NEW1
rb_define_method(cls, "rb_rational_new1", rational_spec_rb_rational_new1, 1);
-#endif
-
-#ifdef HAVE_RB_RATIONAL_NEW2
rb_define_method(cls, "rb_rational_new2", rational_spec_rb_rational_new2, 2);
-#endif
-
-#ifdef HAVE_RB_RATIONAL_NUM
rb_define_method(cls, "rb_rational_num", rational_spec_rb_rational_num, 1);
-#endif
-
-#ifdef HAVE_RB_RATIONAL_DEN
rb_define_method(cls, "rb_rational_den", rational_spec_rb_rational_den, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/regexp_spec.c b/spec/ruby/optional/capi/ext/regexp_spec.c
index 1058293444..fc1c8b1e63 100644
--- a/spec/ruby/optional/capi/ext/regexp_spec.c
+++ b/spec/ruby/optional/capi/ext/regexp_spec.c
@@ -9,41 +9,29 @@
extern "C" {
#endif
-#ifdef HAVE_RB_REG_NEW
VALUE regexp_spec_re(VALUE self) {
return rb_reg_new("a", 1, 0);
}
-#endif
-#ifdef HAVE_RB_REG_NTH_MATCH
VALUE regexp_spec_reg_1st_match(VALUE self, VALUE md) {
return rb_reg_nth_match(1, md);
}
-#endif
-#ifdef HAVE_RB_REG_OPTIONS
VALUE regexp_spec_rb_reg_options(VALUE self, VALUE regexp) {
return INT2FIX(rb_reg_options(regexp));
}
-#endif
-#ifdef HAVE_RB_REG_REGCOMP
VALUE regexp_spec_rb_reg_regcomp(VALUE self, VALUE str) {
return rb_reg_regcomp(str);
}
-#endif
-#ifdef HAVE_RB_REG_MATCH
VALUE regexp_spec_reg_match(VALUE self, VALUE re, VALUE str) {
return rb_reg_match(re, str);
}
-#endif
-#ifdef HAVE_RB_BACKREF_GET
VALUE regexp_spec_backref_get(VALUE self) {
return rb_backref_get();
}
-#endif
VALUE regexp_spec_match(VALUE self, VALUE regexp, VALUE str) {
return rb_funcall(regexp, rb_intern("match"), 1, str);
@@ -51,32 +39,13 @@ VALUE regexp_spec_match(VALUE self, VALUE regexp, VALUE str) {
void Init_regexp_spec(void) {
VALUE cls = rb_define_class("CApiRegexpSpecs", rb_cObject);
-
rb_define_method(cls, "match", regexp_spec_match, 2);
-
-#ifdef HAVE_RB_REG_NEW
rb_define_method(cls, "a_re", regexp_spec_re, 0);
-#endif
-
-#ifdef HAVE_RB_REG_NTH_MATCH
rb_define_method(cls, "a_re_1st_match", regexp_spec_reg_1st_match, 1);
-#endif
-
-#ifdef HAVE_RB_REG_MATCH
rb_define_method(cls, "rb_reg_match", regexp_spec_reg_match, 2);
-#endif
-
-#ifdef HAVE_RB_BACKREF_GET
rb_define_method(cls, "rb_backref_get", regexp_spec_backref_get, 0);
-#endif
-
-#ifdef HAVE_RB_REG_OPTIONS
rb_define_method(cls, "rb_reg_options", regexp_spec_rb_reg_options, 1);
-#endif
-
-#ifdef HAVE_RB_REG_REGCOMP
rb_define_method(cls, "rb_reg_regcomp", regexp_spec_rb_reg_regcomp, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/rubyspec.h b/spec/ruby/optional/capi/ext/rubyspec.h
index 63691d62fd..78e298fddb 100644
--- a/spec/ruby/optional/capi/ext/rubyspec.h
+++ b/spec/ruby/optional/capi/ext/rubyspec.h
@@ -31,595 +31,4 @@
#define RUBY_VERSION_IS_2_4
#endif
-#if RUBY_VERSION_MAJOR > 2 || (RUBY_VERSION_MAJOR == 2 && RUBY_VERSION_MINOR >= 3)
-#define RUBY_VERSION_IS_2_3
-#endif
-
-/* Define all function flags */
-
-/* Array */
-#define HAVE_RB_ARRAY 1
-#define HAVE_RARRAY_AREF 1
-#define HAVE_RARRAY_LEN 1
-#define HAVE_RARRAY_PTR 1
-#define HAVE_RB_ARY_AREF 1
-#define HAVE_RB_ARY_CLEAR 1
-#define HAVE_RB_ARY_DELETE 1
-#define HAVE_RB_ARY_DELETE_AT 1
-#define HAVE_RB_ARY_DUP 1
-#define HAVE_RB_ARY_ENTRY 1
-#define HAVE_RB_ARY_FREEZE 1
-#define HAVE_RB_ARY_INCLUDES 1
-#define HAVE_RB_ARY_JOIN 1
-#define HAVE_RB_ARY_NEW 1
-#define HAVE_RB_ARY_NEW2 1
-#define HAVE_RB_ARY_NEW_CAPA 1
-#define HAVE_RB_ARY_NEW3 1
-#define HAVE_RB_ARY_NEW_FROM_ARGS 1
-#define HAVE_RB_ARY_NEW4 1
-#define HAVE_RB_ARY_NEW_FROM_VALUES 1
-#define HAVE_RB_ARY_POP 1
-#define HAVE_RB_ARY_PUSH 1
-#define HAVE_RB_ARY_CAT 1
-#define HAVE_RB_ARY_REVERSE 1
-#define HAVE_RB_ARY_ROTATE 1
-#define HAVE_RB_ARY_SHIFT 1
-#define HAVE_RB_ARY_STORE 1
-#define HAVE_RB_ARY_CONCAT 1
-#define HAVE_RB_ARY_PLUS 1
-#define HAVE_RB_ARY_TO_ARY 1
-#define HAVE_RB_ARY_SUBSEQ 1
-#define HAVE_RB_ARY_TO_S 1
-#define HAVE_RB_ARY_UNSHIFT 1
-#define HAVE_RB_ASSOC_NEW 1
-
-#define HAVE_RB_EACH 1
-#define HAVE_RB_ITERATE 1
-#define HAVE_RB_MEM_CLEAR 1
-
-/* Bignum */
-#define HAVE_ABSINT_SIZE 1
-#define HAVE_RB_BIG2DBL 1
-#define HAVE_RB_DBL2BIG 1
-#define HAVE_RB_BIG2LL 1
-#define HAVE_RB_BIG2LONG 1
-#define HAVE_RB_BIG2STR 1
-#define HAVE_RB_BIG2ULONG 1
-#define HAVE_RB_BIG_CMP 1
-#define HAVE_RB_BIG_PACK 1
-
-/* Class */
-#define HAVE_RB_CALL_SUPER 1
-#define HAVE_RB_CLASS2NAME 1
-#define HAVE_RB_CLASS_NAME 1
-#define HAVE_RB_CLASS_NEW 1
-#define HAVE_RB_CLASS_NEW_INSTANCE 1
-#define HAVE_RB_CLASS_PATH 1
-#define HAVE_RB_CLASS_REAL 1
-#define HAVE_RB_CVAR_DEFINED 1
-#define HAVE_RB_CVAR_GET 1
-#define HAVE_RB_CVAR_SET 1
-#define HAVE_RB_CV_GET 1
-#define HAVE_RB_CV_SET 1
-#define HAVE_RB_DEFINE_ATTR 1
-#define HAVE_RB_DEFINE_CLASS_VARIABLE 1
-#define HAVE_RB_INCLUDE_MODULE 1
-#define HAVE_RB_PATH2CLASS 1
-#define HAVE_RB_PATH_TO_CLASS 1
-#define HAVE_RB_CLASS_SUPERCLASS 1
-
-/* Complex */
-#define HAVE_RB_COMPLEX 1
-#define HAVE_RB_COMPLEX1 1
-#define HAVE_RB_COMPLEX2 1
-#define HAVE_RB_COMPLEX_NEW 1
-#define HAVE_RB_COMPLEX_NEW1 1
-#define HAVE_RB_COMPLEX_NEW2 1
-
-/* Constants */
-#define HAVE_RB_CARRAY 1
-#ifndef RUBY_INTEGER_UNIFICATION
-#define HAVE_RB_CBIGNUM 1
-#endif
-#define HAVE_RB_CCLASS 1
-#define HAVE_RB_CDATA 1
-#define HAVE_RB_CFALSECLASS 1
-#define HAVE_RB_CFILE 1
-#ifndef RUBY_INTEGER_UNIFICATION
-#define HAVE_RB_CFIXNUM 1
-#endif
-#define HAVE_RB_CFLOAT 1
-#define HAVE_RB_CHASH 1
-#define HAVE_RB_CINTEGER 1
-#define HAVE_RB_CIO 1
-#define HAVE_RB_CMATCH 1
-#define HAVE_RB_CMODULE 1
-#define HAVE_RB_CNILCLASS 1
-#define HAVE_RB_CNUMERIC 1
-#define HAVE_RB_COBJECT 1
-#define HAVE_RB_CPROC 1
-#define HAVE_RB_CMETHOD 1
-#define HAVE_RB_CRANGE 1
-#define HAVE_RB_CREGEXP 1
-#define HAVE_RB_CSTRING 1
-#define HAVE_RB_CSTRUCT 1
-#define HAVE_RB_CSYMBOL 1
-#define HAVE_RB_CTIME 1
-#define HAVE_RB_CTHREAD 1
-#define HAVE_RB_CTRUECLASS 1
-#define HAVE_RB_CNUMERATOR 1
-#define HAVE_RB_EARGERROR 1
-#define HAVE_RB_EEOFERROR 1
-#define HAVE_RB_EEXCEPTION 1
-#define HAVE_RB_EFLOATDOMAINERROR 1
-#define HAVE_RB_EINDEXERROR 1
-#define HAVE_RB_EINTERRUPT 1
-#define HAVE_RB_EIOERROR 1
-#define HAVE_RB_ELOADERROR 1
-#define HAVE_RB_ELOCALJUMPERROR 1
-#define HAVE_RB_EMATHDOMAINERROR 1
-#define HAVE_RB_ENAMEERROR 1
-#define HAVE_RB_ENOMEMERROR 1
-#define HAVE_RB_ENOMETHODERROR 1
-#define HAVE_RB_ENOTIMPERROR 1
-#define HAVE_RB_ERANGEERROR 1
-#define HAVE_RB_EREGEXPERROR 1
-#define HAVE_RB_ERUNTIMEERROR 1
-#define HAVE_RB_ESCRIPTERROR 1
-#define HAVE_RB_ESECURITYERROR 1
-#define HAVE_RB_ESIGNAL 1
-#define HAVE_RB_ESTANDARDERROR 1
-#define HAVE_RB_ESYNTAXERROR 1
-#define HAVE_RB_ESYSSTACKERROR 1
-#define HAVE_RB_ESYSTEMCALLERROR 1
-#define HAVE_RB_ESYSTEMEXIT 1
-#define HAVE_RB_ETHREADERROR 1
-#define HAVE_RB_ETYPEERROR 1
-#define HAVE_RB_EZERODIVERROR 1
-#define HAVE_RB_MCOMPARABLE 1
-#define HAVE_RB_MENUMERABLE 1
-#define HAVE_RB_MERRNO 1
-#define HAVE_RB_MKERNEL 1
-#define HAVE_RB_CDIR 1
-
-/* Data */
-#define HAVE_DATA_WRAP_STRUCT 1
-#define HAVE_RDATA 1
-
-#define HAVE_TYPEDDATA_WRAP_STRUCT 1
-#define HAVE_RTYPEDDATA
-
-/* Encoding */
-#define HAVE_ENCODING_GET 1
-#define HAVE_ENCODING_SET 1
-#define HAVE_ENC_CODERANGE_ASCIIONLY 1
-
-#define HAVE_RB_ASCII8BIT_ENCODING 1
-#define HAVE_RB_ASCII8BIT_ENCINDEX 1
-#define HAVE_RB_USASCII_ENCODING 1
-#define HAVE_RB_USASCII_ENCINDEX 1
-#define HAVE_RB_UTF8_ENCODING 1
-#define HAVE_RB_UTF8_ENCINDEX 1
-#define HAVE_RB_LOCALE_ENCODING 1
-#define HAVE_RB_LOCALE_ENCINDEX 1
-#define HAVE_RB_FILESYSTEM_ENCODING 1
-#define HAVE_RB_FILESYSTEM_ENCINDEX 1
-
-#define HAVE_RB_DEFAULT_INTERNAL_ENCODING 1
-#define HAVE_RB_DEFAULT_EXTERNAL_ENCODING 1
-
-#ifdef RUBY_VERSION_IS_2_6
-#define HAVE_RB_ENC_ALIAS 1
-#endif
-#define HAVE_RB_ENC_ASSOCIATE 1
-#define HAVE_RB_ENC_ASSOCIATE_INDEX 1
-#define HAVE_RB_ENC_CODEPOINT_LEN 1
-#define HAVE_RB_ENC_COMPATIBLE 1
-#define HAVE_RB_ENC_COPY 1
-#define HAVE_RB_ENC_FIND 1
-#define HAVE_RB_ENC_FIND_INDEX 1
-#define HAVE_RB_ENC_FROM_ENCODING 1
-#define HAVE_RB_ENC_FROM_INDEX 1
-#define HAVE_RB_ENC_GET 1
-#define HAVE_RB_ENC_GET_INDEX 1
-#define HAVE_RB_ENC_SET_INDEX 1
-#define HAVE_RB_ENC_STR_CODERANGE 1
-#define HAVE_RB_ENC_STR_NEW 1
-#define HAVE_RB_ENC_TO_INDEX 1
-#define HAVE_RB_OBJ_ENCODING 1
-
-#define HAVE_RB_STR_ENCODE 1
-#define HAVE_RB_STR_NEW_CSTR 1
-#define HAVE_RB_USASCII_STR_NEW 1
-#define HAVE_RB_USASCII_STR_NEW_CSTR 1
-#define HAVE_RB_EXTERNAL_STR_NEW 1
-#define HAVE_RB_EXTERNAL_STR_NEW_CSTR 1
-#define HAVE_RB_EXTERNAL_STR_NEW_WITH_ENC 1
-
-#define HAVE_RB_TO_ENCODING 1
-#define HAVE_RB_TO_ENCODING_INDEX 1
-#define HAVE_RB_ENC_NTH 1
-
-#define HAVE_RB_EENCCOMPATERROR 1
-
-#define HAVE_RB_MWAITREADABLE 1
-#define HAVE_RB_MWAITWRITABLE 1
-
-#define HAVE_RSTRING_LENINT 1
-#define HAVE_TIMET2NUM 1
-
-#define HAVE_RB_LONG2INT 1
-#define HAVE_RB_INTERN3 1
-
-#define HAVE_RB_ITER_BREAK 1
-#define HAVE_RB_SOURCEFILE 1
-#define HAVE_RB_SOURCELINE 1
-#define HAVE_RB_METHOD_BOUNDP 1
-
-/* Enumerable */
-#define HAVE_RB_ENUMERATORIZE 1
-#define HAVE_RB_ENUMERATORIZE_WITH_SIZE 1
-
-/* Exception */
-#define HAVE_RB_EXC_NEW 1
-#define HAVE_RB_EXC_NEW2 1
-#define HAVE_RB_EXC_NEW3 1
-#define HAVE_RB_EXC_RAISE 1
-#define HAVE_RB_SET_ERRINFO 1
-
-/* File */
-#define HAVE_RB_FILE_OPEN 1
-#define HAVE_RB_FILE_OPEN_STR 1
-#define HAVE_FILEPATHVALUE 1
-
-/* Float */
-#define HAVE_RB_FLOAT_NEW 1
-#define HAVE_RB_RFLOAT 1
-#define HAVE_RFLOAT_VALUE 1
-
-/* Globals */
-#define HAVE_RB_DEFAULT_RS 1
-#define HAVE_RB_DEFINE_HOOKED_VARIABLE 1
-#define HAVE_RB_DEFINE_READONLY_VARIABLE 1
-#define HAVE_RB_DEFINE_VARIABLE 1
-#define HAVE_RB_F_GLOBAL_VARIABLES 1
-#define HAVE_RB_GV_GET 1
-#define HAVE_RB_GV_SET 1
-#define HAVE_RB_RS 1
-#define HAVE_RB_OUTPUT_RS 1
-#define HAVE_RB_OUTPUT_FS 1
-#define HAVE_RB_STDERR 1
-#define HAVE_RB_STDIN 1
-#define HAVE_RB_STDOUT 1
-#define HAVE_RB_DEFOUT 1
-
-#define HAVE_RB_LASTLINE_SET 1
-#define HAVE_RB_LASTLINE_GET 1
-
-/* Hash */
-#define HAVE_RB_HASH 1
-#define HAVE_RB_HASH2 1
-#define HAVE_RB_HASH_DUP 1
-#define HAVE_RB_HASH_FREEZE 1
-#define HAVE_RB_HASH_AREF 1
-#define HAVE_RB_HASH_ASET 1
-#define HAVE_RB_HASH_CLEAR 1
-#define HAVE_RB_HASH_DELETE 1
-#define HAVE_RB_HASH_DELETE_IF 1
-#define HAVE_RB_HASH_FETCH 1
-#define HAVE_RB_HASH_FOREACH 1
-#define HAVE_RB_HASH_LOOKUP 1
-#define HAVE_RB_HASH_LOOKUP2 1
-#define HAVE_RB_HASH_NEW 1
-#define HAVE_RB_HASH_SET_IFNONE 1
-#define HAVE_RB_HASH_SIZE 1
-
-/* Integer */
-#define HAVE_RB_INTEGER_PACK 1
-
-/* IO */
-#define HAVE_GET_OPEN_FILE 1
-#define HAVE_RB_IO_ADDSTR 1
-#define HAVE_RB_IO_CHECK_IO 1
-#define HAVE_RB_IO_CHECK_CLOSED 1
-#define HAVE_RB_IO_TAINT_CHECK 1
-#define HAVE_RB_IO_CHECK_READABLE 1
-#define HAVE_RB_IO_CHECK_WRITABLE 1
-#define HAVE_RB_IO_CLOSE 1
-#define HAVE_RB_IO_PRINT 1
-#define HAVE_RB_IO_PRINTF 1
-#define HAVE_RB_IO_PUTS 1
-#define HAVE_RB_IO_WAIT_READABLE 1
-#define HAVE_RB_IO_WAIT_WRITABLE 1
-#define HAVE_RB_IO_WRITE 1
-#define HAVE_RB_IO_BINMODE 1
-
-#define HAVE_RB_THREAD_FD_WRITABLE 1
-#define HAVE_RB_THREAD_WAIT_FD 1
-
-#define HAVE_RB_MUTEX_NEW 1
-#define HAVE_RB_MUTEX_LOCKED_P 1
-#define HAVE_RB_MUTEX_TRYLOCK 1
-#define HAVE_RB_MUTEX_LOCK 1
-#define HAVE_RB_MUTEX_UNLOCK 1
-#define HAVE_RB_MUTEX_SLEEP 1
-#define HAVE_RB_MUTEX_SYNCHRONIZE 1
-
-#define HAVE_RB_FD_FIX_CLOEXEC 1
-#define HAVE_RB_CLOEXEC_OPEN 1
-
-/* Kernel */
-#define HAVE_RB_BLOCK_GIVEN_P 1
-#define HAVE_RB_BLOCK_PROC 1
-#define HAVE_RB_BLOCK_CALL 1
-#define HAVE_RB_ENSURE 1
-#define HAVE_RB_EVAL_STRING 1
-#define HAVE_RB_EXEC_RECURSIVE 1
-#define HAVE_RB_FRAME_THIS_FUNC 1
-#define HAVE_RB_F_SPRINTF 1
-#define HAVE_RB_NEED_BLOCK 1
-#define HAVE_RB_RAISE 1
-#define HAVE_RB_RESCUE 1
-#define HAVE_RB_RESCUE2 1
-#define HAVE_RB_SET_END_PROC 1
-#define HAVE_RB_SYS_FAIL 1
-#define HAVE_RB_SYSERR_FAIL 1
-#define HAVE_RB_MAKE_BACKTRACE 1
-#define HAVE_RB_THROW 1
-#define HAVE_RB_CATCH 1
-#define HAVE_RB_THROW_OBJ 1
-#define HAVE_RB_CATCH_OBJ 1
-#define HAVE_RB_WARN 1
-#define HAVE_RB_YIELD 1
-#define HAVE_RB_YIELD_SPLAT 1
-#define HAVE_RB_YIELD_VALUES 1
-#define HAVE_RB_FUNCALL3 1
-#define HAVE_RB_FUNCALL_WITH_BLOCK 1
-#define HAVE_RB_PROTECT 1
-
-/* GC */
-#define HAVE_RB_GC_REGISTER_ADDRESS 1
-#define HAVE_RB_GC_ENABLE 1
-#define HAVE_RB_GC_DISABLE 1
-#define HAVE_RB_GC 1
-
-/* Marshal */
-#define HAVE_RB_MARSHAL_DUMP 1
-#define HAVE_RB_MARSHAL_LOAD 1
-
-/* Module */
-#define HAVE_RB_ALIAS 1
-#define HAVE_RB_CONST_DEFINED 1
-#define HAVE_RB_CONST_DEFINED_AT 1
-#define HAVE_RB_CONST_GET 1
-#define HAVE_RB_CONST_GET_AT 1
-#define HAVE_RB_CONST_GET_FROM 1
-#define HAVE_RB_CONST_SET 1
-#define HAVE_RB_DEFINE_ALIAS 1
-#define HAVE_RB_DEFINE_CLASS 1
-#define HAVE_RB_DEFINE_CLASS_UNDER 1
-#define HAVE_RB_DEFINE_CLASS_ID_UNDER 1
-#define HAVE_RB_DEFINE_CONST 1
-#define HAVE_RB_DEFINE_GLOBAL_CONST 1
-#define HAVE_RB_DEFINE_GLOBAL_FUNCTION 1
-#define HAVE_RB_DEFINE_METHOD 1
-#define HAVE_RB_DEFINE_MODULE_FUNCTION 1
-#define HAVE_RB_DEFINE_MODULE 1
-#define HAVE_RB_DEFINE_MODULE_UNDER 1
-#define HAVE_RB_DEFINE_PRIVATE_METHOD 1
-#define HAVE_RB_DEFINE_PROTECTED_METHOD 1
-#define HAVE_RB_DEFINE_SINGLETON_METHOD 1
-#define HAVE_RB_MOD_ANCESTORS 1
-#define HAVE_RB_UNDEF 1
-#define HAVE_RB_UNDEF_METHOD 1
-
-/* Numeric */
-#define HAVE_NUM2CHR 1
-#define HAVE_RB_CMPINT 1
-#define HAVE_RB_INT2INUM 1
-#define HAVE_RB_UINT2INUM 1
-#define HAVE_RB_INTEGER 1
-#define HAVE_RB_LL2INUM 1
-#define HAVE_RB_ULL2INUM 1
-#define HAVE_RB_NUM2DBL 1
-#if SIZEOF_INT < SIZEOF_LONG
-#define HAVE_RB_NUM2INT 1
-#define HAVE_RB_NUM2UINT 1
-#endif
-#define HAVE_RB_NUM2LONG 1
-#define HAVE_RB_INT2NUM 1
-#define HAVE_RB_NUM2ULONG 1
-#define HAVE_RB_NUM_COERCE_BIN 1
-#define HAVE_RB_NUM_COERCE_CMP 1
-#define HAVE_RB_NUM_COERCE_RELOP 1
-#define HAVE_RB_ABSINT_SINGLEBIT_P 1
-#define HAVE_RB_NUM_ZERODIV 1
-
-/* Fixnum */
-#if SIZEOF_INT < SIZEOF_LONG
-#define HAVE_RB_FIX2UINT 1
-#define HAVE_RB_FIX2INT 1
-#endif
-
-/* Object */
-#define HAVE_FL_ABLE 1
-#define HAVE_FL_TEST 1
-#define HAVE_OBJ_TAINT 1
-#define HAVE_OBJ_TAINTED 1
-#define HAVE_OBJ_INFECT 1
-#define HAVE_RB_ANY_TO_S 1
-#define HAVE_RB_ATTR_GET 1
-#define HAVE_RB_OBJ_INSTANCE_VARIABLES 1
-#define HAVE_RB_CHECK_ARRAY_TYPE 1
-#define HAVE_RB_CHECK_CONVERT_TYPE 1
-#define HAVE_RB_CHECK_TO_INTEGER 1
-#define HAVE_RB_CHECK_FROZEN 1
-#define HAVE_RB_CHECK_STRING_TYPE 1
-#define HAVE_RB_CLASS_OF 1
-#define HAVE_RB_CONVERT_TYPE 1
-#define HAVE_RB_EQUAL 1
-#define HAVE_RB_CLASS_INHERITED_P 1
-#define HAVE_RB_EXTEND_OBJECT 1
-#define HAVE_RB_INSPECT 1
-#define HAVE_RB_IVAR_DEFINED 1
-#define HAVE_RB_IVAR_GET 1
-#define HAVE_RB_IVAR_SET 1
-#define HAVE_RB_IV_GET 1
-#define HAVE_RB_IV_SET 1
-#define HAVE_RB_OBJ_ALLOC 1
-#define HAVE_RB_OBJ_CALL_INIT 1
-#define HAVE_RB_OBJ_CLASSNAME 1
-#define HAVE_RB_OBJ_DUP 1
-#define HAVE_RB_OBJ_FREEZE 1
-#define HAVE_RB_OBJ_FROZEN_P 1
-#define HAVE_RB_OBJ_ID 1
-#define HAVE_RB_OBJ_INSTANCE_EVAL 1
-#define HAVE_RB_OBJ_IS_INSTANCE_OF 1
-#define HAVE_RB_OBJ_IS_KIND_OF 1
-#define HAVE_RB_OBJ_TAINT 1
-#define HAVE_RB_OBJ_METHOD 1
-#define HAVE_RB_OBJ_METHOD_ARITY 1
-#define HAVE_RB_REQUIRE 1
-#define HAVE_RB_RESPOND_TO 1
-#define HAVE_RB_OBJ_RESPOND_TO 1
-#define HAVE_RB_SPECIAL_CONST_P 1
-#define HAVE_RB_TO_ID 1
-#define HAVE_RB_TO_INT 1
-#define HAVE_RTEST 1
-#define HAVE_TYPE 1
-#define HAVE_RB_TYPE_P 1
-#define HAVE_BUILTIN_TYPE 1
-
-/* Proc */
-#define HAVE_RB_PROC_NEW 1
-#define HAVE_RB_PROC_ARITY 1
-#define HAVE_RB_PROC_CALL 1
-
-/* Range */
-#define HAVE_RB_RANGE_NEW 1
-#define HAVE_RB_RANGE_VALUES 1
-#define HAVE_RB_RANGE_BEG_LEN 1
-
-/* Rational */
-#define HAVE_RB_RATIONAL 1
-#define HAVE_RB_RATIONAL1 1
-#define HAVE_RB_RATIONAL2 1
-#define HAVE_RB_RATIONAL_NEW 1
-#define HAVE_RB_RATIONAL_NEW1 1
-#define HAVE_RB_RATIONAL_NEW2 1
-#define HAVE_RB_RATIONAL_NUM 1
-#define HAVE_RB_RATIONAL_DEN 1
-
-/* Regexp */
-#define HAVE_RB_BACKREF_GET 1
-#define HAVE_RB_REG_MATCH 1
-#define HAVE_RB_REG_NEW 1
-#define HAVE_RB_REG_NTH_MATCH 1
-#define HAVE_RB_REG_OPTIONS 1
-#define HAVE_RB_REG_REGCOMP 1
-
-/* st */
-#define HAVE_RB_ST 1
-
-/* String */
-#define HAVE_RB_CSTR2INUM 1
-#define HAVE_RB_CSTR_TO_INUM 1
-#define HAVE_RB_STR2INUM 1
-#define HAVE_RB_STR_APPEND 1
-#define HAVE_RB_STR_BUF_CAT 1
-#define HAVE_RB_STR_BUF_NEW 1
-#define HAVE_RB_STR_BUF_NEW2 1
-#define HAVE_RB_STR_CAT 1
-#define HAVE_RB_STR_CAT2 1
-#define HAVE_RB_STR_CMP 1
-#define HAVE_RB_STR_DUP 1
-#define HAVE_RB_STR_FLUSH 1
-#define HAVE_RB_STR_FREEZE 1
-#define HAVE_RB_STR_HASH 1
-#define HAVE_RB_STR_UPDATE 1
-#define HAVE_RB_STR_INSPECT 1
-#define HAVE_RB_STR_INTERN 1
-#define HAVE_RB_STR_NEW 1
-#define HAVE_RB_STR_NEW2 1
-#define HAVE_RB_STR_NEW3 1
-#define HAVE_RB_STR_NEW4 1
-#define HAVE_RB_STR_NEW5 1
-#define HAVE_RB_TAINTED_STR_NEW 1
-#define HAVE_RB_TAINTED_STR_NEW2 1
-#define HAVE_RB_STR_PLUS 1
-#define HAVE_RB_STR_TIMES 1
-#define HAVE_RB_STR_RESIZE 1
-#define HAVE_RB_STR_SET_LEN 1
-#define HAVE_RB_STR_SPLIT 1
-#define HAVE_RB_STR_SUBSTR 1
-#define HAVE_RB_STR_TO_STR 1
-#define HAVE_RSTRING_LEN 1
-#define HAVE_RSTRING_PTR 1
-#define HAVE_STRINGVALUE 1
-
-#define HAVE_RB_STR_FREE 1
-#define HAVE_RB_SPRINTF 1
-#define HAVE_RB_LOCALE_STR_NEW 1
-#define HAVE_RB_LOCALE_STR_NEW_CSTR 1
-#define HAVE_RB_STR_CONV_ENC 1
-#define HAVE_RB_STR_CONV_ENC_OPTS 1
-#define HAVE_RB_STR_EXPORT 1
-#define HAVE_RB_STR_EXPORT_LOCALE 1
-#define HAVE_RB_STR_LENGTH 1
-#define HAVE_RB_STR_EQUAL 1
-#define HAVE_RB_STR_SUBSEQ 1
-#define HAVE_RB_VSPRINTF 1
-#define HAVE_RB_STRING 1
-#define HAVE_SAFE_STRING_VALUE 1
-#define HAVE_RB_STRING_VALUE_CSTR 1
-#define HAVE_RB_STR_MODIFY 1
-
-/* Struct */
-#define HAVE_RB_STRUCT_AREF 1
-#define HAVE_RB_STRUCT_ASET 1
-#define HAVE_RB_STRUCT_DEFINE 1
-#define HAVE_RB_STRUCT_DEFINE_UNDER 1
-#define HAVE_RB_STRUCT_NEW 1
-#define HAVE_RB_STRUCT_GETMEMBER 1
-#define HAVE_RB_STRUCT_S_MEMBERS 1
-#define HAVE_RB_STRUCT_MEMBERS 1
-#ifdef RUBY_VERSION_IS_2_4
-#define HAVE_RB_STRUCT_SIZE 1
-#endif
-
-/* Symbol */
-#define HAVE_RB_ID2NAME 1
-#define HAVE_RB_ID2STR 1
-#define HAVE_RB_INTERN_STR 1
-#define HAVE_RB_INTERN 1
-#define HAVE_RB_IS_CLASS_ID 1
-#define HAVE_RB_IS_CONST_ID 1
-#define HAVE_RB_IS_INSTANCE_ID 1
-#define HAVE_RB_SYM2STR 1
-
-/* Thread */
-#define HAVE_RB_THREAD_ALONE 1
-#define HAVE_RB_THREAD_CALL_WITHOUT_GVL 1
-#define HAVE_RB_THREAD_CURRENT 1
-#define HAVE_RB_THREAD_LOCAL_AREF 1
-#define HAVE_RB_THREAD_LOCAL_ASET 1
-#define HAVE_RB_THREAD_WAIT_FOR 1
-#define HAVE_RB_THREAD_WAKEUP 1
-#define HAVE_RB_THREAD_CREATE 1
-
-/* Time */
-#define HAVE_RB_TIME_NEW 1
-#define HAVE_RB_TIME_NANO_NEW 1
-#define HAVE_RB_TIME_NUM_NEW 1
-#define HAVE_RB_TIME_INTERVAL 1
-#define HAVE_RB_TIME_TIMEVAL 1
-#define HAVE_RB_TIME_TIMESPEC 1
-#ifdef RUBY_VERSION_IS_2_3
-#define HAVE_RB_TIMESPEC_NOW 1
-#define HAVE_RB_TIME_TIMESPEC_NEW 1
-#endif
-
-/* Util */
-#define HAVE_RB_SCAN_ARGS 1
-
#endif
diff --git a/spec/ruby/optional/capi/ext/st_spec.c b/spec/ruby/optional/capi/ext/st_spec.c
index 4e59698d77..0fb5b5dc2d 100644
--- a/spec/ruby/optional/capi/ext/st_spec.c
+++ b/spec/ruby/optional/capi/ext/st_spec.c
@@ -4,15 +4,12 @@
#include <string.h>
#include <stdarg.h>
-#ifdef HAVE_RB_ST
#include <ruby/st.h>
-#endif
#ifdef __cplusplus
extern "C" {
#endif
-#ifdef HAVE_RB_ST
#if SIZEOF_LONG == SIZEOF_VOIDP
# define ST2NUM(x) ULONG2NUM(x)
@@ -72,20 +69,13 @@ VALUE st_spec_st_lookup(VALUE self) {
#endif
}
-#endif
-
void Init_st_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiStSpecs", rb_cObject);
-
-#ifdef HAVE_RB_ST
+ VALUE cls = rb_define_class("CApiStSpecs", rb_cObject);
rb_define_method(cls, "st_init_numtable", st_spec_st_init_numtable, 0);
rb_define_method(cls, "st_init_numtable_with_size", st_spec_st_init_numtable_with_size, 0);
rb_define_method(cls, "st_insert", st_spec_st_insert, 0);
rb_define_method(cls, "st_foreach", st_spec_st_foreach, 0);
rb_define_method(cls, "st_lookup", st_spec_st_lookup, 0);
-#endif
-
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/string_spec.c b/spec/ruby/optional/capi/ext/string_spec.c
index 6650034ef1..2b0ea5dd9c 100644
--- a/spec/ruby/optional/capi/ext/string_spec.c
+++ b/spec/ruby/optional/capi/ext/string_spec.c
@@ -4,9 +4,7 @@
#include <string.h>
#include <stdarg.h>
-#ifdef HAVE_RUBY_ENCODING_H
#include "ruby/encoding.h"
-#endif
#ifdef __cplusplus
extern "C" {
@@ -25,34 +23,25 @@ char* NATIVE_RSTRING_PTR(VALUE str) {
return ptr;
}
-#ifdef HAVE_RB_CSTR2INUM
VALUE string_spec_rb_cstr2inum(VALUE self, VALUE str, VALUE inum) {
int num = FIX2INT(inum);
return rb_cstr2inum(RSTRING_PTR(str), num);
}
-#endif
-#ifdef HAVE_RB_CSTR_TO_INUM
static VALUE string_spec_rb_cstr_to_inum(VALUE self, VALUE str, VALUE inum, VALUE badcheck) {
int num = FIX2INT(inum);
return rb_cstr_to_inum(RSTRING_PTR(str), num, RTEST(badcheck));
}
-#endif
-#ifdef HAVE_RB_STR2INUM
VALUE string_spec_rb_str2inum(VALUE self, VALUE str, VALUE inum) {
int num = FIX2INT(inum);
return rb_str2inum(str, num);
}
-#endif
-#ifdef HAVE_RB_STR_APPEND
VALUE string_spec_rb_str_append(VALUE self, VALUE str, VALUE str2) {
return rb_str_append(str, str2);
}
-#endif
-#ifdef HAVE_RB_STR_SET_LEN
VALUE string_spec_rb_str_set_len(VALUE self, VALUE str, VALUE len) {
rb_str_set_len(str, NUM2LONG(len));
@@ -64,9 +53,7 @@ VALUE string_spec_rb_str_set_len_RSTRING_LEN(VALUE self, VALUE str, VALUE len) {
return INT2FIX(RSTRING_LEN(str));
}
-#endif
-#ifdef HAVE_RB_STR_BUF_NEW
VALUE string_spec_rb_str_buf_new(VALUE self, VALUE len, VALUE str) {
VALUE buf;
@@ -82,41 +69,29 @@ VALUE string_spec_rb_str_buf_new(VALUE self, VALUE len, VALUE str) {
VALUE string_spec_rb_str_capacity(VALUE self, VALUE str) {
return SIZET2NUM(rb_str_capacity(str));
}
-#endif
-#ifdef HAVE_RB_STR_BUF_NEW2
VALUE string_spec_rb_str_buf_new2(VALUE self) {
return rb_str_buf_new2("hello\0invisible");
}
-#endif
-#ifdef HAVE_RB_STR_BUF_CAT
VALUE string_spec_rb_str_buf_cat(VALUE self, VALUE str) {
const char *question_mark = "?";
rb_str_buf_cat(str, question_mark, strlen(question_mark));
return str;
}
-#endif
-#ifdef HAVE_RB_STR_CAT
VALUE string_spec_rb_str_cat(VALUE self, VALUE str) {
return rb_str_cat(str, "?", 1);
}
-#endif
-#ifdef HAVE_RB_STR_CAT2
VALUE string_spec_rb_str_cat2(VALUE self, VALUE str) {
return rb_str_cat2(str, "?");
}
-#endif
-#ifdef HAVE_RB_STR_CMP
VALUE string_spec_rb_str_cmp(VALUE self, VALUE str1, VALUE str2) {
return INT2NUM(rb_str_cmp(str1, str2));
}
-#endif
-#ifdef HAVE_RB_STR_CONV_ENC
VALUE string_spec_rb_str_conv_enc(VALUE self, VALUE str, VALUE from, VALUE to) {
rb_encoding* from_enc;
rb_encoding* to_enc;
@@ -131,9 +106,7 @@ VALUE string_spec_rb_str_conv_enc(VALUE self, VALUE str, VALUE from, VALUE to) {
return rb_str_conv_enc(str, from_enc, to_enc);
}
-#endif
-#ifdef HAVE_RB_STR_CONV_ENC_OPTS
VALUE string_spec_rb_str_conv_enc_opts(VALUE self, VALUE str, VALUE from, VALUE to,
VALUE ecflags, VALUE ecopts)
{
@@ -150,51 +123,35 @@ VALUE string_spec_rb_str_conv_enc_opts(VALUE self, VALUE str, VALUE from, VALUE
return rb_str_conv_enc_opts(str, from_enc, to_enc, FIX2INT(ecflags), ecopts);
}
-#endif
-#ifdef HAVE_RB_STR_EXPORT
VALUE string_spec_rb_str_export(VALUE self, VALUE str) {
return rb_str_export(str);
}
-#endif
-#ifdef HAVE_RB_STR_EXPORT_LOCALE
VALUE string_spec_rb_str_export_locale(VALUE self, VALUE str) {
return rb_str_export_locale(str);
}
-#endif
-#ifdef HAVE_RB_STR_DUP
VALUE string_spec_rb_str_dup(VALUE self, VALUE str) {
return rb_str_dup(str);
}
-#endif
-#ifdef HAVE_RB_STR_FREEZE
VALUE string_spec_rb_str_freeze(VALUE self, VALUE str) {
return rb_str_freeze(str);
}
-#endif
-#ifdef HAVE_RB_STR_INSPECT
VALUE string_spec_rb_str_inspect(VALUE self, VALUE str) {
return rb_str_inspect(str);
}
-#endif
-#ifdef HAVE_RB_STR_INTERN
VALUE string_spec_rb_str_intern(VALUE self, VALUE str) {
return rb_str_intern(str);
}
-#endif
-#ifdef HAVE_RB_STR_LENGTH
VALUE string_spec_rb_str_length(VALUE self, VALUE str) {
return rb_str_length(str);
}
-#endif
-#ifdef HAVE_RB_STR_NEW
VALUE string_spec_rb_str_new(VALUE self, VALUE str, VALUE len) {
return rb_str_new(RSTRING_PTR(str), FIX2INT(len));
}
@@ -206,9 +163,7 @@ VALUE string_spec_rb_str_new_native(VALUE self, VALUE str, VALUE len) {
VALUE string_spec_rb_str_new_offset(VALUE self, VALUE str, VALUE offset, VALUE len) {
return rb_str_new(RSTRING_PTR(str) + FIX2INT(offset), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_STR_NEW2
VALUE string_spec_rb_str_new2(VALUE self, VALUE str) {
if(NIL_P(str)) {
return rb_str_new2("");
@@ -216,15 +171,11 @@ VALUE string_spec_rb_str_new2(VALUE self, VALUE str) {
return rb_str_new2(RSTRING_PTR(str));
}
}
-#endif
-#ifdef HAVE_RB_STR_ENCODE
VALUE string_spec_rb_str_encode(VALUE self, VALUE str, VALUE enc, VALUE flags, VALUE opts) {
return rb_str_encode(str, enc, FIX2INT(flags), opts);
}
-#endif
-#ifdef HAVE_RB_STR_NEW_CSTR
VALUE string_spec_rb_str_new_cstr(VALUE self, VALUE str) {
if(NIL_P(str)) {
return rb_str_new_cstr("");
@@ -232,81 +183,55 @@ VALUE string_spec_rb_str_new_cstr(VALUE self, VALUE str) {
return rb_str_new_cstr(RSTRING_PTR(str));
}
}
-#endif
-#ifdef HAVE_RB_EXTERNAL_STR_NEW
VALUE string_spec_rb_external_str_new(VALUE self, VALUE str) {
return rb_external_str_new(RSTRING_PTR(str), RSTRING_LEN(str));
}
-#endif
-#ifdef HAVE_RB_EXTERNAL_STR_NEW_CSTR
VALUE string_spec_rb_external_str_new_cstr(VALUE self, VALUE str) {
return rb_external_str_new_cstr(RSTRING_PTR(str));
}
-#endif
-#ifdef HAVE_RB_EXTERNAL_STR_NEW_WITH_ENC
VALUE string_spec_rb_external_str_new_with_enc(VALUE self, VALUE str, VALUE len, VALUE encoding) {
return rb_external_str_new_with_enc(RSTRING_PTR(str), FIX2LONG(len), rb_to_encoding(encoding));
}
-#endif
-#ifdef HAVE_RB_LOCALE_STR_NEW
VALUE string_spec_rb_locale_str_new(VALUE self, VALUE str, VALUE len) {
return rb_locale_str_new(RSTRING_PTR(str), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_LOCALE_STR_NEW_CSTR
VALUE string_spec_rb_locale_str_new_cstr(VALUE self, VALUE str) {
return rb_locale_str_new_cstr(RSTRING_PTR(str));
}
-#endif
-#ifdef HAVE_RB_STR_NEW3
VALUE string_spec_rb_str_new3(VALUE self, VALUE str) {
return rb_str_new3(str);
}
-#endif
-#ifdef HAVE_RB_STR_NEW4
VALUE string_spec_rb_str_new4(VALUE self, VALUE str) {
return rb_str_new4(str);
}
-#endif
-#ifdef HAVE_RB_STR_NEW5
VALUE string_spec_rb_str_new5(VALUE self, VALUE str, VALUE ptr, VALUE len) {
return rb_str_new5(str, RSTRING_PTR(ptr), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_TAINTED_STR_NEW
VALUE string_spec_rb_tainted_str_new(VALUE self, VALUE str, VALUE len) {
return rb_tainted_str_new(RSTRING_PTR(str), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_TAINTED_STR_NEW2
VALUE string_spec_rb_tainted_str_new2(VALUE self, VALUE str) {
return rb_tainted_str_new2(RSTRING_PTR(str));
}
-#endif
-#ifdef HAVE_RB_STR_PLUS
VALUE string_spec_rb_str_plus(VALUE self, VALUE str1, VALUE str2) {
return rb_str_plus(str1, str2);
}
-#endif
-#ifdef HAVE_RB_STR_TIMES
VALUE string_spec_rb_str_times(VALUE self, VALUE str, VALUE times) {
return rb_str_times(str, times);
}
-#endif
-#ifdef HAVE_RB_STR_RESIZE
VALUE string_spec_rb_str_resize(VALUE self, VALUE str, VALUE size) {
return rb_str_resize(str, FIX2INT(size));
}
@@ -315,45 +240,31 @@ VALUE string_spec_rb_str_resize_RSTRING_LEN(VALUE self, VALUE str, VALUE size) {
VALUE modified = rb_str_resize(str, FIX2INT(size));
return INT2FIX(RSTRING_LEN(modified));
}
-#endif
-#ifdef HAVE_RB_STR_SPLIT
VALUE string_spec_rb_str_split(VALUE self, VALUE str) {
return rb_str_split(str, ",");
}
-#endif
-#ifdef HAVE_RB_STR_SUBSEQ
VALUE string_spec_rb_str_subseq(VALUE self, VALUE str, VALUE beg, VALUE len) {
return rb_str_subseq(str, FIX2INT(beg), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_STR_SUBSTR
VALUE string_spec_rb_str_substr(VALUE self, VALUE str, VALUE beg, VALUE len) {
return rb_str_substr(str, FIX2INT(beg), FIX2INT(len));
}
-#endif
-#ifdef HAVE_RB_STR_TO_STR
VALUE string_spec_rb_str_to_str(VALUE self, VALUE arg) {
return rb_str_to_str(arg);
}
-#endif
-#ifdef HAVE_RSTRING_LEN
VALUE string_spec_RSTRING_LEN(VALUE self, VALUE str) {
return INT2FIX(RSTRING_LEN(str));
}
-#endif
-#ifdef HAVE_RSTRING_LENINT
VALUE string_spec_RSTRING_LENINT(VALUE self, VALUE str) {
return INT2FIX(RSTRING_LENINT(str));
}
-#endif
-#ifdef HAVE_RSTRING_PTR
VALUE string_spec_RSTRING_PTR_iterate(VALUE self, VALUE str) {
int i;
char* ptr;
@@ -405,57 +316,43 @@ VALUE string_spec_RSTRING_PTR_after_yield(VALUE self, VALUE str) {
from_rstring_ptr = rb_str_new(ptr, len);
return from_rstring_ptr;
}
-#endif
-#ifdef HAVE_STRINGVALUE
VALUE string_spec_StringValue(VALUE self, VALUE str) {
return StringValue(str);
}
-#endif
-#ifdef HAVE_SAFE_STRING_VALUE
static VALUE string_spec_SafeStringValue(VALUE self, VALUE str) {
SafeStringValue(str);
return str;
}
-#endif
-#ifdef HAVE_RB_STR_HASH
static VALUE string_spec_rb_str_hash(VALUE self, VALUE str) {
st_index_t val = rb_str_hash(str);
#if SIZEOF_LONG == SIZEOF_VOIDP || SIZEOF_LONG_LONG == SIZEOF_VOIDP
return LONG2FIX((long)val);
#else
-# error unsupported platform
+#error unsupported platform
#endif
}
-#endif
-#ifdef HAVE_RB_STR_UPDATE
static VALUE string_spec_rb_str_update(VALUE self, VALUE str, VALUE beg, VALUE end, VALUE replacement) {
rb_str_update(str, FIX2LONG(beg), FIX2LONG(end), replacement);
return str;
}
-#endif
-#ifdef HAVE_RB_STR_FREE
static VALUE string_spec_rb_str_free(VALUE self, VALUE str) {
rb_str_free(str);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_SPRINTF
static VALUE string_spec_rb_sprintf1(VALUE self, VALUE str, VALUE repl) {
return rb_sprintf(RSTRING_PTR(str), RSTRING_PTR(repl));
}
static VALUE string_spec_rb_sprintf2(VALUE self, VALUE str, VALUE repl1, VALUE repl2) {
return rb_sprintf(RSTRING_PTR(str), RSTRING_PTR(repl1), RSTRING_PTR(repl2));
}
-#endif
-#ifdef HAVE_RB_VSPRINTF
static VALUE string_spec_rb_vsprintf_worker(char* fmt, ...) {
va_list varargs;
VALUE str;
@@ -471,291 +368,104 @@ static VALUE string_spec_rb_vsprintf(VALUE self, VALUE fmt, VALUE str, VALUE i,
return string_spec_rb_vsprintf_worker(RSTRING_PTR(fmt), RSTRING_PTR(str),
FIX2INT(i), RFLOAT_VALUE(f));
}
-#endif
-#ifdef HAVE_RB_STR_EQUAL
VALUE string_spec_rb_str_equal(VALUE self, VALUE str1, VALUE str2) {
return rb_str_equal(str1, str2);
}
-#endif
-#ifdef HAVE_RB_USASCII_STR_NEW
static VALUE string_spec_rb_usascii_str_new(VALUE self, VALUE str, VALUE len) {
return rb_usascii_str_new(RSTRING_PTR(str), NUM2INT(len));
}
-#endif
-#ifdef HAVE_RB_USASCII_STR_NEW_CSTR
static VALUE string_spec_rb_usascii_str_new_cstr(VALUE self, VALUE str) {
return rb_usascii_str_new_cstr(RSTRING_PTR(str));
}
-#endif
-#ifdef HAVE_RB_STRING
static VALUE string_spec_rb_String(VALUE self, VALUE val) {
return rb_String(val);
}
-#endif
-#ifdef HAVE_RB_STRING_VALUE_CSTR
static VALUE string_spec_rb_string_value_cstr(VALUE self, VALUE str) {
char *c_str = rb_string_value_cstr(&str);
return c_str ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_STR_MODIFY
static VALUE string_spec_rb_str_modify(VALUE self, VALUE str) {
rb_str_modify(str);
return str;
}
-#endif
void Init_string_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiStringSpecs", rb_cObject);
-
-#ifdef HAVE_RB_CSTR2INUM
+ VALUE cls = rb_define_class("CApiStringSpecs", rb_cObject);
rb_define_method(cls, "rb_cstr2inum", string_spec_rb_cstr2inum, 2);
-#endif
-
-#ifdef HAVE_RB_CSTR_TO_INUM
rb_define_method(cls, "rb_cstr_to_inum", string_spec_rb_cstr_to_inum, 3);
-#endif
-
-#ifdef HAVE_RB_STR2INUM
rb_define_method(cls, "rb_str2inum", string_spec_rb_str2inum, 2);
-#endif
-
-#ifdef HAVE_RB_STR_APPEND
rb_define_method(cls, "rb_str_append", string_spec_rb_str_append, 2);
-#endif
-
-#ifdef HAVE_RB_STR_BUF_NEW
rb_define_method(cls, "rb_str_buf_new", string_spec_rb_str_buf_new, 2);
rb_define_method(cls, "rb_str_capacity", string_spec_rb_str_capacity, 1);
-#endif
-
-#ifdef HAVE_RB_STR_BUF_NEW2
rb_define_method(cls, "rb_str_buf_new2", string_spec_rb_str_buf_new2, 0);
-#endif
-
-#ifdef HAVE_RB_STR_BUF_CAT
rb_define_method(cls, "rb_str_buf_cat", string_spec_rb_str_buf_cat, 1);
-#endif
-
-#ifdef HAVE_RB_STR_CAT
rb_define_method(cls, "rb_str_cat", string_spec_rb_str_cat, 1);
-#endif
-
-#ifdef HAVE_RB_STR_CAT2
rb_define_method(cls, "rb_str_cat2", string_spec_rb_str_cat2, 1);
-#endif
-
-#ifdef HAVE_RB_STR_CMP
rb_define_method(cls, "rb_str_cmp", string_spec_rb_str_cmp, 2);
-#endif
-
-#ifdef HAVE_RB_STR_CONV_ENC
rb_define_method(cls, "rb_str_conv_enc", string_spec_rb_str_conv_enc, 3);
-#endif
-
-#ifdef HAVE_RB_STR_CONV_ENC_OPTS
rb_define_method(cls, "rb_str_conv_enc_opts", string_spec_rb_str_conv_enc_opts, 5);
-#endif
-
-#ifdef HAVE_RB_STR_EXPORT
rb_define_method(cls, "rb_str_export", string_spec_rb_str_export, 1);
-#endif
-
-#ifdef HAVE_RB_STR_EXPORT_LOCALE
rb_define_method(cls, "rb_str_export_locale", string_spec_rb_str_export_locale, 1);
-#endif
-
-#ifdef HAVE_RB_STR_DUP
rb_define_method(cls, "rb_str_dup", string_spec_rb_str_dup, 1);
-#endif
-
-#ifdef HAVE_RB_STR_FREEZE
rb_define_method(cls, "rb_str_freeze", string_spec_rb_str_freeze, 1);
-#endif
-
-#ifdef HAVE_RB_STR_INSPECT
rb_define_method(cls, "rb_str_inspect", string_spec_rb_str_inspect, 1);
-#endif
-
-#ifdef HAVE_RB_STR_INTERN
rb_define_method(cls, "rb_str_intern", string_spec_rb_str_intern, 1);
-#endif
-
-#ifdef HAVE_RB_STR_LENGTH
rb_define_method(cls, "rb_str_length", string_spec_rb_str_length, 1);
-#endif
-
-#ifdef HAVE_RB_STR_NEW
rb_define_method(cls, "rb_str_new", string_spec_rb_str_new, 2);
rb_define_method(cls, "rb_str_new_native", string_spec_rb_str_new_native, 2);
rb_define_method(cls, "rb_str_new_offset", string_spec_rb_str_new_offset, 3);
-#endif
-
-#ifdef HAVE_RB_STR_NEW2
rb_define_method(cls, "rb_str_new2", string_spec_rb_str_new2, 1);
-#endif
-
-#ifdef HAVE_RB_STR_ENCODE
rb_define_method(cls, "rb_str_encode", string_spec_rb_str_encode, 4);
-#endif
-
-#ifdef HAVE_RB_STR_NEW_CSTR
rb_define_method(cls, "rb_str_new_cstr", string_spec_rb_str_new_cstr, 1);
-#endif
-
-#ifdef HAVE_RB_EXTERNAL_STR_NEW
rb_define_method(cls, "rb_external_str_new", string_spec_rb_external_str_new, 1);
-#endif
-
-#ifdef HAVE_RB_EXTERNAL_STR_NEW_CSTR
- rb_define_method(cls, "rb_external_str_new_cstr",
- string_spec_rb_external_str_new_cstr, 1);
-#endif
-
-#ifdef HAVE_RB_EXTERNAL_STR_NEW_WITH_ENC
+ rb_define_method(cls, "rb_external_str_new_cstr", string_spec_rb_external_str_new_cstr, 1);
rb_define_method(cls, "rb_external_str_new_with_enc", string_spec_rb_external_str_new_with_enc, 3);
-#endif
-
-#ifdef HAVE_RB_LOCALE_STR_NEW
rb_define_method(cls, "rb_locale_str_new", string_spec_rb_locale_str_new, 2);
-#endif
-
-#ifdef HAVE_RB_LOCALE_STR_NEW_CSTR
rb_define_method(cls, "rb_locale_str_new_cstr", string_spec_rb_locale_str_new_cstr, 1);
-#endif
-
-#ifdef HAVE_RB_STR_NEW3
rb_define_method(cls, "rb_str_new3", string_spec_rb_str_new3, 1);
-#endif
-
-#ifdef HAVE_RB_STR_NEW4
rb_define_method(cls, "rb_str_new4", string_spec_rb_str_new4, 1);
-#endif
-
-#ifdef HAVE_RB_STR_NEW5
rb_define_method(cls, "rb_str_new5", string_spec_rb_str_new5, 3);
-#endif
-
-#ifdef HAVE_RB_TAINTED_STR_NEW
rb_define_method(cls, "rb_tainted_str_new", string_spec_rb_tainted_str_new, 2);
-#endif
-
-#ifdef HAVE_RB_TAINTED_STR_NEW2
rb_define_method(cls, "rb_tainted_str_new2", string_spec_rb_tainted_str_new2, 1);
-#endif
-
-#ifdef HAVE_RB_STR_PLUS
rb_define_method(cls, "rb_str_plus", string_spec_rb_str_plus, 2);
-#endif
-
-#ifdef HAVE_RB_STR_TIMES
rb_define_method(cls, "rb_str_times", string_spec_rb_str_times, 2);
-#endif
-
-#ifdef HAVE_RB_STR_RESIZE
rb_define_method(cls, "rb_str_resize", string_spec_rb_str_resize, 2);
- rb_define_method(cls, "rb_str_resize_RSTRING_LEN",
- string_spec_rb_str_resize_RSTRING_LEN, 2);
-#endif
-
-#ifdef HAVE_RB_STR_SET_LEN
+ rb_define_method(cls, "rb_str_resize_RSTRING_LEN", string_spec_rb_str_resize_RSTRING_LEN, 2);
rb_define_method(cls, "rb_str_set_len", string_spec_rb_str_set_len, 2);
- rb_define_method(cls, "rb_str_set_len_RSTRING_LEN",
- string_spec_rb_str_set_len_RSTRING_LEN, 2);
-#endif
-
-#ifdef HAVE_RB_STR_SPLIT
+ rb_define_method(cls, "rb_str_set_len_RSTRING_LEN", string_spec_rb_str_set_len_RSTRING_LEN, 2);
rb_define_method(cls, "rb_str_split", string_spec_rb_str_split, 1);
-#endif
-
-#ifdef HAVE_RB_STR_SUBSEQ
rb_define_method(cls, "rb_str_subseq", string_spec_rb_str_subseq, 3);
-#endif
-
-#ifdef HAVE_RB_STR_SUBSTR
rb_define_method(cls, "rb_str_substr", string_spec_rb_str_substr, 3);
-#endif
-
-#ifdef HAVE_RB_STR_TO_STR
rb_define_method(cls, "rb_str_to_str", string_spec_rb_str_to_str, 1);
-#endif
-
-#ifdef HAVE_RSTRING_LEN
rb_define_method(cls, "RSTRING_LEN", string_spec_RSTRING_LEN, 1);
-#endif
-
-#ifdef HAVE_RSTRING_LENINT
rb_define_method(cls, "RSTRING_LENINT", string_spec_RSTRING_LENINT, 1);
-#endif
-
-#ifdef HAVE_RSTRING_PTR
rb_define_method(cls, "RSTRING_PTR_iterate", string_spec_RSTRING_PTR_iterate, 1);
rb_define_method(cls, "RSTRING_PTR_assign", string_spec_RSTRING_PTR_assign, 2);
rb_define_method(cls, "RSTRING_PTR_set", string_spec_RSTRING_PTR_set, 3);
rb_define_method(cls, "RSTRING_PTR_after_funcall", string_spec_RSTRING_PTR_after_funcall, 2);
rb_define_method(cls, "RSTRING_PTR_after_yield", string_spec_RSTRING_PTR_after_yield, 1);
-#endif
-
-#ifdef HAVE_STRINGVALUE
rb_define_method(cls, "StringValue", string_spec_StringValue, 1);
-#endif
-
-#ifdef HAVE_SAFE_STRING_VALUE
rb_define_method(cls, "SafeStringValue", string_spec_SafeStringValue, 1);
-#endif
-
-#ifdef HAVE_RB_STR_HASH
rb_define_method(cls, "rb_str_hash", string_spec_rb_str_hash, 1);
-#endif
-
-#ifdef HAVE_RB_STR_UPDATE
rb_define_method(cls, "rb_str_update", string_spec_rb_str_update, 4);
-#endif
-
-#ifdef HAVE_RB_STR_FREE
rb_define_method(cls, "rb_str_free", string_spec_rb_str_free, 1);
-#endif
-
-#ifdef HAVE_RB_SPRINTF
rb_define_method(cls, "rb_sprintf1", string_spec_rb_sprintf1, 2);
rb_define_method(cls, "rb_sprintf2", string_spec_rb_sprintf2, 3);
-#endif
-
-#ifdef HAVE_RB_VSPRINTF
rb_define_method(cls, "rb_vsprintf", string_spec_rb_vsprintf, 4);
-#endif
-
-#ifdef HAVE_RB_STR_EQUAL
rb_define_method(cls, "rb_str_equal", string_spec_rb_str_equal, 2);
-#endif
-
-#ifdef HAVE_RB_USASCII_STR_NEW
rb_define_method(cls, "rb_usascii_str_new", string_spec_rb_usascii_str_new, 2);
-#endif
-
-#ifdef HAVE_RB_USASCII_STR_NEW_CSTR
rb_define_method(cls, "rb_usascii_str_new_cstr", string_spec_rb_usascii_str_new_cstr, 1);
-#endif
-
-#ifdef HAVE_RB_STRING
rb_define_method(cls, "rb_String", string_spec_rb_String, 1);
-#endif
-
-#ifdef HAVE_RB_STRING_VALUE_CSTR
rb_define_method(cls, "rb_string_value_cstr", string_spec_rb_string_value_cstr, 1);
-#endif
-
-#ifdef HAVE_RB_STR_MODIFY
rb_define_method(cls, "rb_str_modify", string_spec_rb_str_modify, 1);
-#endif
}
+
#ifdef __cplusplus
}
#endif
diff --git a/spec/ruby/optional/capi/ext/struct_spec.c b/spec/ruby/optional/capi/ext/struct_spec.c
index 8f373d9f48..b9c3b902bf 100644
--- a/spec/ruby/optional/capi/ext/struct_spec.c
+++ b/spec/ruby/optional/capi/ext/struct_spec.c
@@ -7,39 +7,28 @@
extern "C" {
#endif
-#ifdef HAVE_RB_STRUCT_AREF
static VALUE struct_spec_rb_struct_aref(VALUE self, VALUE st, VALUE key) {
return rb_struct_aref(st, key);
}
-#endif
-#ifdef HAVE_RB_STRUCT_GETMEMBER
static VALUE struct_spec_rb_struct_getmember(VALUE self, VALUE st, VALUE key) {
return rb_struct_getmember(st, SYM2ID(key));
}
-#endif
-#ifdef HAVE_RB_STRUCT_S_MEMBERS
static VALUE struct_spec_rb_struct_s_members(VALUE self, VALUE klass)
{
return rb_ary_dup(rb_struct_s_members(klass));
}
-#endif
-#ifdef HAVE_RB_STRUCT_MEMBERS
static VALUE struct_spec_rb_struct_members(VALUE self, VALUE st)
{
return rb_ary_dup(rb_struct_members(st));
}
-#endif
-#ifdef HAVE_RB_STRUCT_ASET
static VALUE struct_spec_rb_struct_aset(VALUE self, VALUE st, VALUE key, VALUE value) {
return rb_struct_aset(st, key, value);
}
-#endif
-#ifdef HAVE_RB_STRUCT_DEFINE
/* Only allow setting three attributes, should be sufficient for testing. */
static VALUE struct_spec_struct_define(VALUE self, VALUE name,
VALUE attr1, VALUE attr2, VALUE attr3) {
@@ -53,9 +42,7 @@ static VALUE struct_spec_struct_define(VALUE self, VALUE name,
return rb_struct_define(nm, a1, a2, a3, NULL);
}
-#endif
-#ifdef HAVE_RB_STRUCT_DEFINE_UNDER
/* Only allow setting three attributes, should be sufficient for testing. */
static VALUE struct_spec_struct_define_under(VALUE self, VALUE outer,
VALUE name, VALUE attr1, VALUE attr2, VALUE attr3) {
@@ -67,18 +54,15 @@ static VALUE struct_spec_struct_define_under(VALUE self, VALUE outer,
return rb_struct_define_under(outer, nm, a1, a2, a3, NULL);
}
-#endif
-#ifdef HAVE_RB_STRUCT_NEW
static VALUE struct_spec_rb_struct_new(VALUE self, VALUE klass,
VALUE a, VALUE b, VALUE c)
{
return rb_struct_new(klass, a, b, c);
}
-#endif
-#ifdef HAVE_RB_STRUCT_SIZE
+#ifdef RUBY_VERSION_IS_2_4
static VALUE struct_spec_rb_struct_size(VALUE self, VALUE st)
{
return rb_struct_size(st);
@@ -86,42 +70,16 @@ static VALUE struct_spec_rb_struct_size(VALUE self, VALUE st)
#endif
void Init_struct_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiStructSpecs", rb_cObject);
-
-#ifdef HAVE_RB_STRUCT_AREF
+ VALUE cls = rb_define_class("CApiStructSpecs", rb_cObject);
rb_define_method(cls, "rb_struct_aref", struct_spec_rb_struct_aref, 2);
-#endif
-
-#ifdef HAVE_RB_STRUCT_GETMEMBER
rb_define_method(cls, "rb_struct_getmember", struct_spec_rb_struct_getmember, 2);
-#endif
-
-#ifdef HAVE_RB_STRUCT_S_MEMBERS
rb_define_method(cls, "rb_struct_s_members", struct_spec_rb_struct_s_members, 1);
-#endif
-
-#ifdef HAVE_RB_STRUCT_MEMBERS
rb_define_method(cls, "rb_struct_members", struct_spec_rb_struct_members, 1);
-#endif
-
-#ifdef HAVE_RB_STRUCT_ASET
rb_define_method(cls, "rb_struct_aset", struct_spec_rb_struct_aset, 3);
-#endif
-
-#ifdef HAVE_RB_STRUCT_DEFINE
rb_define_method(cls, "rb_struct_define", struct_spec_struct_define, 4);
-#endif
-
-#ifdef HAVE_RB_STRUCT_DEFINE_UNDER
rb_define_method(cls, "rb_struct_define_under", struct_spec_struct_define_under, 5);
-#endif
-
-#ifdef HAVE_RB_STRUCT_NEW
rb_define_method(cls, "rb_struct_new", struct_spec_rb_struct_new, 4);
-#endif
-
-#ifdef HAVE_RB_STRUCT_SIZE
+#ifdef RUBY_VERSION_IS_2_4
rb_define_method(cls, "rb_struct_size", struct_spec_rb_struct_size, 1);
#endif
}
diff --git a/spec/ruby/optional/capi/ext/symbol_spec.c b/spec/ruby/optional/capi/ext/symbol_spec.c
index 7ffa7cf9b1..28da69ea3c 100644
--- a/spec/ruby/optional/capi/ext/symbol_spec.c
+++ b/spec/ruby/optional/capi/ext/symbol_spec.c
@@ -1,15 +1,12 @@
#include "ruby.h"
#include "rubyspec.h"
-#ifdef HAVE_RUBY_ENCODING_H
#include "ruby/encoding.h"
-#endif
#ifdef __cplusplus
extern "C" {
#endif
-#ifdef HAVE_RB_INTERN
VALUE symbol_spec_rb_intern(VALUE self, VALUE string) {
return ID2SYM(rb_intern(RSTRING_PTR(string)));
}
@@ -31,9 +28,7 @@ VALUE symbol_spec_rb_intern2_c_compare(VALUE self, VALUE string, VALUE len, VALU
ID symbol = rb_intern2(RSTRING_PTR(string), FIX2LONG(len));
return (SYM2ID(sym) == symbol) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_INTERN3
VALUE symbol_spec_rb_intern3(VALUE self, VALUE string, VALUE len, VALUE enc) {
return ID2SYM(rb_intern3(RSTRING_PTR(string), FIX2LONG(len), rb_enc_get(enc)));
}
@@ -42,95 +37,52 @@ VALUE symbol_spec_rb_intern3_c_compare(VALUE self, VALUE string, VALUE len, VALU
ID symbol = rb_intern3(RSTRING_PTR(string), FIX2LONG(len), rb_enc_get(enc));
return (SYM2ID(sym) == symbol) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_ID2NAME
VALUE symbol_spec_rb_id2name(VALUE self, VALUE symbol) {
const char* c_str = rb_id2name(SYM2ID(symbol));
return rb_str_new(c_str, strlen(c_str));
}
-#endif
-#ifdef HAVE_RB_ID2STR
VALUE symbol_spec_rb_id2str(VALUE self, VALUE symbol) {
return rb_id2str(SYM2ID(symbol));
}
-#endif
-#ifdef HAVE_RB_INTERN_STR
VALUE symbol_spec_rb_intern_str(VALUE self, VALUE str) {
return ID2SYM(rb_intern_str(str));
}
-#endif
-#ifdef HAVE_RB_IS_CLASS_ID
VALUE symbol_spec_rb_is_class_id(VALUE self, VALUE sym) {
return rb_is_class_id(SYM2ID(sym)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_IS_CONST_ID
VALUE symbol_spec_rb_is_const_id(VALUE self, VALUE sym) {
return rb_is_const_id(SYM2ID(sym)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_IS_INSTANCE_ID
VALUE symbol_spec_rb_is_instance_id(VALUE self, VALUE sym) {
return rb_is_instance_id(SYM2ID(sym)) ? Qtrue : Qfalse;
}
-#endif
-#ifdef HAVE_RB_SYM2STR
VALUE symbol_spec_rb_sym2str(VALUE self, VALUE sym) {
return rb_sym2str(sym);
}
-#endif
void Init_symbol_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiSymbolSpecs", rb_cObject);
-
-#ifdef HAVE_RB_INTERN
+ VALUE cls = rb_define_class("CApiSymbolSpecs", rb_cObject);
rb_define_method(cls, "rb_intern", symbol_spec_rb_intern, 1);
rb_define_method(cls, "rb_intern2", symbol_spec_rb_intern2, 2);
rb_define_method(cls, "rb_intern_const", symbol_spec_rb_intern_const, 1);
rb_define_method(cls, "rb_intern_c_compare", symbol_spec_rb_intern_c_compare, 2);
rb_define_method(cls, "rb_intern2_c_compare", symbol_spec_rb_intern2_c_compare, 3);
-#endif
-
-#ifdef HAVE_RB_INTERN3
rb_define_method(cls, "rb_intern3", symbol_spec_rb_intern3, 3);
rb_define_method(cls, "rb_intern3_c_compare", symbol_spec_rb_intern3_c_compare, 4);
-#endif
-
-#ifdef HAVE_RB_ID2NAME
rb_define_method(cls, "rb_id2name", symbol_spec_rb_id2name, 1);
-#endif
-
-#ifdef HAVE_RB_ID2STR
rb_define_method(cls, "rb_id2str", symbol_spec_rb_id2str, 1);
-#endif
-
-#ifdef HAVE_RB_INTERN_STR
rb_define_method(cls, "rb_intern_str", symbol_spec_rb_intern_str, 1);
-#endif
-
-#ifdef HAVE_RB_IS_CLASS_ID
rb_define_method(cls, "rb_is_class_id", symbol_spec_rb_is_class_id, 1);
-#endif
-
-#ifdef HAVE_RB_IS_CONST_ID
rb_define_method(cls, "rb_is_const_id", symbol_spec_rb_is_const_id, 1);
-#endif
-
-#ifdef HAVE_RB_IS_INSTANCE_ID
rb_define_method(cls, "rb_is_instance_id", symbol_spec_rb_is_instance_id, 1);
-#endif
-
-#ifdef HAVE_RB_SYM2STR
rb_define_method(cls, "rb_sym2str", symbol_spec_rb_sym2str, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/thread_spec.c b/spec/ruby/optional/capi/ext/thread_spec.c
index fed1b1f3b0..b10d557dd5 100644
--- a/spec/ruby/optional/capi/ext/thread_spec.c
+++ b/spec/ruby/optional/capi/ext/thread_spec.c
@@ -4,7 +4,7 @@
#include <math.h>
#include <errno.h>
-#if HAVE_UNISTD_H
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#if defined(_WIN32)
@@ -15,15 +15,12 @@
extern "C" {
#endif
-#ifdef HAVE_RB_THREAD_ALONE
static VALUE thread_spec_rb_thread_alone() {
return rb_thread_alone() ? Qtrue : Qfalse;
}
-#endif
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-#ifdef HAVE_RB_THREAD_CALL_WITHOUT_GVL
/* This is unblocked by unblock_func(). */
static void* blocking_gvl_func(void* data) {
int rfd = *(int *)data;
@@ -91,33 +88,23 @@ static VALUE thread_spec_rb_thread_call_without_gvl_with_ubf_io(VALUE self) {
close(fds[1]);
return (VALUE)ret;
}
-#endif
-#ifdef HAVE_RB_THREAD_CURRENT
static VALUE thread_spec_rb_thread_current() {
return rb_thread_current();
}
-#endif
-#ifdef HAVE_RB_THREAD_LOCAL_AREF
static VALUE thread_spec_rb_thread_local_aref(VALUE self, VALUE thr, VALUE sym) {
return rb_thread_local_aref(thr, SYM2ID(sym));
}
-#endif
-#ifdef HAVE_RB_THREAD_LOCAL_ASET
static VALUE thread_spec_rb_thread_local_aset(VALUE self, VALUE thr, VALUE sym, VALUE value) {
return rb_thread_local_aset(thr, SYM2ID(sym), value);
}
-#endif
-#ifdef HAVE_RB_THREAD_WAKEUP
static VALUE thread_spec_rb_thread_wakeup(VALUE self, VALUE thr) {
return rb_thread_wakeup(thr);
}
-#endif
-#ifdef HAVE_RB_THREAD_WAIT_FOR
static VALUE thread_spec_rb_thread_wait_for(VALUE self, VALUE s, VALUE ms) {
struct timeval tv;
tv.tv_sec = NUM2INT(s);
@@ -125,9 +112,7 @@ static VALUE thread_spec_rb_thread_wait_for(VALUE self, VALUE s, VALUE ms) {
rb_thread_wait_for(tv);
return Qnil;
}
-#endif
-#ifdef HAVE_RB_THREAD_CREATE
VALUE thread_spec_call_proc(VALUE arg_array) {
VALUE arg = rb_ary_pop(arg_array);
@@ -142,45 +127,19 @@ static VALUE thread_spec_rb_thread_create(VALUE self, VALUE proc, VALUE arg) {
return rb_thread_create(thread_spec_call_proc, (void*)args);
}
-#endif
void Init_thread_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiThreadSpecs", rb_cObject);
-
-#ifdef HAVE_RB_THREAD_ALONE
+ VALUE cls = rb_define_class("CApiThreadSpecs", rb_cObject);
rb_define_method(cls, "rb_thread_alone", thread_spec_rb_thread_alone, 0);
-#endif
-
-#ifdef HAVE_RB_THREAD_CALL_WITHOUT_GVL
rb_define_method(cls, "rb_thread_call_without_gvl", thread_spec_rb_thread_call_without_gvl, 0);
rb_define_method(cls, "rb_thread_call_without_gvl_with_ubf_io", thread_spec_rb_thread_call_without_gvl_with_ubf_io, 0);
-#endif
-
-#ifdef HAVE_RB_THREAD_CURRENT
rb_define_method(cls, "rb_thread_current", thread_spec_rb_thread_current, 0);
-#endif
-
-#ifdef HAVE_RB_THREAD_LOCAL_AREF
rb_define_method(cls, "rb_thread_local_aref", thread_spec_rb_thread_local_aref, 2);
-#endif
-
-#ifdef HAVE_RB_THREAD_LOCAL_ASET
rb_define_method(cls, "rb_thread_local_aset", thread_spec_rb_thread_local_aset, 3);
-#endif
-
-#ifdef HAVE_RB_THREAD_WAKEUP
rb_define_method(cls, "rb_thread_wakeup", thread_spec_rb_thread_wakeup, 1);
-#endif
-
-#ifdef HAVE_RB_THREAD_WAIT_FOR
rb_define_method(cls, "rb_thread_wait_for", thread_spec_rb_thread_wait_for, 2);
-#endif
-
-#ifdef HAVE_RB_THREAD_CREATE
rb_define_method(cls, "rb_thread_create", thread_spec_rb_thread_create, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/time_spec.c b/spec/ruby/optional/capi/ext/time_spec.c
index 6b51120f1b..fec70dea9d 100644
--- a/spec/ruby/optional/capi/ext/time_spec.c
+++ b/spec/ruby/optional/capi/ext/time_spec.c
@@ -7,25 +7,18 @@
extern "C" {
#endif
-#ifdef HAVE_RB_TIME_NEW
static VALUE time_spec_rb_time_new(VALUE self, VALUE sec, VALUE usec) {
return rb_time_new(NUM2TIMET(sec), NUM2LONG(usec));
}
-#endif
-#ifdef HAVE_RB_TIME_NANO_NEW
static VALUE time_spec_rb_time_nano_new(VALUE self, VALUE sec, VALUE nsec) {
return rb_time_nano_new(NUM2TIMET(sec), NUM2LONG(nsec));
}
-#endif
-#ifdef HAVE_RB_TIME_NUM_NEW
static VALUE time_spec_rb_time_num_new(VALUE self, VALUE ts, VALUE offset) {
return rb_time_num_new(ts, offset);
}
-#endif
-#ifdef HAVE_RB_TIME_INTERVAL
static VALUE time_spec_rb_time_interval(VALUE self, VALUE ts) {
struct timeval interval = rb_time_interval(ts);
VALUE ary = rb_ary_new();
@@ -33,9 +26,7 @@ static VALUE time_spec_rb_time_interval(VALUE self, VALUE ts) {
rb_ary_push(ary, TIMET2NUM(interval.tv_usec));
return ary;
}
-#endif
-#ifdef HAVE_RB_TIME_TIMEVAL
static VALUE time_spec_rb_time_timeval(VALUE self, VALUE ts) {
struct timeval tv = rb_time_timeval(ts);
VALUE ary = rb_ary_new();
@@ -43,9 +34,7 @@ static VALUE time_spec_rb_time_timeval(VALUE self, VALUE ts) {
rb_ary_push(ary, TIMET2NUM(tv.tv_usec));
return ary;
}
-#endif
-#ifdef HAVE_RB_TIME_TIMESPEC
static VALUE time_spec_rb_time_timespec(VALUE self, VALUE time) {
struct timespec ts = rb_time_timespec(time);
VALUE ary = rb_ary_new();
@@ -53,9 +42,7 @@ static VALUE time_spec_rb_time_timespec(VALUE self, VALUE time) {
rb_ary_push(ary, TIMET2NUM(ts.tv_nsec));
return ary;
}
-#endif
-#ifdef HAVE_RB_TIME_TIMESPEC_NEW
static VALUE time_spec_rb_time_timespec_new(VALUE self, VALUE sec, VALUE nsec, VALUE offset) {
struct timespec ts;
ts.tv_sec = NUM2TIMET(sec);
@@ -63,63 +50,30 @@ static VALUE time_spec_rb_time_timespec_new(VALUE self, VALUE sec, VALUE nsec, V
return rb_time_timespec_new(&ts, NUM2INT(offset));
}
-#endif
-#ifdef HAVE_RB_TIMESPEC_NOW
static VALUE time_spec_rb_time_from_timspec_now(VALUE self, VALUE offset) {
struct timespec ts;
rb_timespec_now(&ts);
return rb_time_timespec_new(&ts, NUM2INT(offset));
}
-#endif
-#ifdef HAVE_TIMET2NUM
static VALUE time_spec_TIMET2NUM(VALUE self) {
time_t t = 10;
return TIMET2NUM(t);
}
-#endif
void Init_time_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiTimeSpecs", rb_cObject);
-
-#ifdef HAVE_RB_TIME_NEW
+ VALUE cls = rb_define_class("CApiTimeSpecs", rb_cObject);
rb_define_method(cls, "rb_time_new", time_spec_rb_time_new, 2);
-#endif
-
-#ifdef HAVE_TIMET2NUM
rb_define_method(cls, "TIMET2NUM", time_spec_TIMET2NUM, 0);
-#endif
-
-#ifdef HAVE_RB_TIME_NANO_NEW
rb_define_method(cls, "rb_time_nano_new", time_spec_rb_time_nano_new, 2);
-#endif
-
-#ifdef HAVE_RB_TIME_NUM_NEW
rb_define_method(cls, "rb_time_num_new", time_spec_rb_time_num_new, 2);
-#endif
-
-#ifdef HAVE_RB_TIME_INTERVAL
rb_define_method(cls, "rb_time_interval", time_spec_rb_time_interval, 1);
-#endif
-
-#ifdef HAVE_RB_TIME_TIMEVAL
rb_define_method(cls, "rb_time_timeval", time_spec_rb_time_timeval, 1);
-#endif
-
-#ifdef HAVE_RB_TIME_TIMESPEC
rb_define_method(cls, "rb_time_timespec", time_spec_rb_time_timespec, 1);
-#endif
-
-#ifdef HAVE_RB_TIME_TIMESPEC_NEW
rb_define_method(cls, "rb_time_timespec_new", time_spec_rb_time_timespec_new, 3);
-#endif
-
-#ifdef HAVE_RB_TIMESPEC_NOW
rb_define_method(cls, "rb_time_from_timespec", time_spec_rb_time_from_timspec_now, 1);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/typed_data_spec.c b/spec/ruby/optional/capi/ext/typed_data_spec.c
index 2a82f0133f..60408a5750 100644
--- a/spec/ruby/optional/capi/ext/typed_data_spec.c
+++ b/spec/ruby/optional/capi/ext/typed_data_spec.c
@@ -7,7 +7,6 @@
extern "C" {
#endif
-#if defined(HAVE_RTYPEDDATA) && defined(HAVE_TYPEDDATA_WRAP_STRUCT)
struct sample_typed_wrapped_struct_parent {
int foo;
};
@@ -143,16 +142,11 @@ VALUE sws_typed_change_struct(VALUE self, VALUE obj, VALUE new_val) {
RTYPEDDATA(obj)->data = new_struct;
return Qnil;
}
-#endif
void Init_typed_data_spec(void) {
- VALUE cls;
- cls = rb_define_class("CApiAllocTypedSpecs", rb_cObject);
-
-#if defined(HAVE_RTYPEDDATA) && defined(HAVE_TYPEDDATA_WRAP_STRUCT)
+ VALUE cls = rb_define_class("CApiAllocTypedSpecs", rb_cObject);
rb_define_alloc_func(cls, sdaf_alloc_typed_func);
rb_define_method(cls, "typed_wrapped_data", sdaf_typed_get_struct, 0);
-
cls = rb_define_class("CApiWrappedTypedStructSpecs", rb_cObject);
rb_define_method(cls, "typed_wrap_struct", sws_typed_wrap_struct, 1);
rb_define_method(cls, "typed_get_struct", sws_typed_get_struct, 1);
@@ -161,7 +155,6 @@ void Init_typed_data_spec(void) {
rb_define_method(cls, "typed_get_struct_rdata", sws_typed_get_struct_rdata, 1);
rb_define_method(cls, "typed_get_struct_data_ptr", sws_typed_get_struct_data_ptr, 1);
rb_define_method(cls, "typed_change_struct", sws_typed_change_struct, 2);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/ext/util_spec.c b/spec/ruby/optional/capi/ext/util_spec.c
index 50795b51af..d99ed12e14 100644
--- a/spec/ruby/optional/capi/ext/util_spec.c
+++ b/spec/ruby/optional/capi/ext/util_spec.c
@@ -5,7 +5,6 @@
extern "C" {
#endif
-#ifdef HAVE_RB_SCAN_ARGS
VALUE util_spec_rb_scan_args(VALUE self, VALUE argv, VALUE fmt, VALUE expected, VALUE acc) {
int i, result, argc = (int)RARRAY_LEN(argv);
VALUE args[6], failed, a1, a2, a3, a4, a5, a6;
@@ -22,14 +21,19 @@ VALUE util_spec_rb_scan_args(VALUE self, VALUE argv, VALUE fmt, VALUE expected,
switch(NUM2INT(expected)) {
case 6:
rb_ary_unshift(acc, a6);
+ /* FALLTHROUGH */
case 5:
rb_ary_unshift(acc, a5);
+ /* FALLTHROUGH */
case 4:
rb_ary_unshift(acc, a4);
+ /* FALLTHROUGH */
case 3:
rb_ary_unshift(acc, a3);
+ /* FALLTHROUGH */
case 2:
rb_ary_unshift(acc, a2);
+ /* FALLTHROUGH */
case 1:
rb_ary_unshift(acc, a1);
break;
@@ -39,55 +43,31 @@ VALUE util_spec_rb_scan_args(VALUE self, VALUE argv, VALUE fmt, VALUE expected,
return INT2NUM(result);
}
-#endif
-#ifdef HAVE_RB_LONG2INT
static VALUE util_spec_rb_long2int(VALUE self, VALUE n) {
return INT2NUM(rb_long2int(NUM2LONG(n)));
}
-#endif
-#ifdef HAVE_RB_ITER_BREAK
static VALUE util_spec_rb_iter_break(VALUE self) {
rb_iter_break();
return Qnil;
}
-#endif
-#ifdef HAVE_RB_SOURCEFILE
static VALUE util_spec_rb_sourcefile(VALUE self) {
return rb_str_new2(rb_sourcefile());
}
-#endif
-#ifdef HAVE_RB_SOURCELINE
static VALUE util_spec_rb_sourceline(VALUE self) {
return INT2NUM(rb_sourceline());
}
-#endif
void Init_util_spec(void) {
VALUE cls = rb_define_class("CApiUtilSpecs", rb_cObject);
-
-#ifdef HAVE_RB_SCAN_ARGS
rb_define_method(cls, "rb_scan_args", util_spec_rb_scan_args, 4);
-#endif
-
-#ifdef HAVE_RB_LONG2INT
rb_define_method(cls, "rb_long2int", util_spec_rb_long2int, 1);
-#endif
-
-#ifdef HAVE_RB_ITER_BREAK
rb_define_method(cls, "rb_iter_break", util_spec_rb_iter_break, 0);
-#endif
-
-#ifdef HAVE_RB_SOURCEFILE
rb_define_method(cls, "rb_sourcefile", util_spec_rb_sourcefile, 0);
-#endif
-
-#ifdef HAVE_RB_SOURCELINE
rb_define_method(cls, "rb_sourceline", util_spec_rb_sourceline, 0);
-#endif
}
#ifdef __cplusplus
diff --git a/spec/ruby/optional/capi/fixnum_spec.rb b/spec/ruby/optional/capi/fixnum_spec.rb
index 14258ba9c8..d6bb06b1f1 100644
--- a/spec/ruby/optional/capi/fixnum_spec.rb
+++ b/spec/ruby/optional/capi/fixnum_spec.rb
@@ -8,14 +8,16 @@ describe "CApiFixnumSpecs" do
end
describe "FIX2INT" do
+ max_int = (1 << 31) - 1
+ min_int = -(1 << 31)
+
it "converts a Fixnum to a native int" do
@s.FIX2INT(42).should == 42
@s.FIX2INT(-14).should == -14
+ @s.FIX2INT(-1).should == -1
+ @s.FIX2INT(1).should == 1
end
- max_int = (1 << 31) - 1
- min_int = -(1 << 31)
-
guard -> { fixnum_min <= min_int and max_int <= fixnum_max } do
it "converts a Fixnum representing the minimum and maximum native int" do
@s.FIX2INT(max_int).should == max_int
@@ -23,101 +25,76 @@ describe "CApiFixnumSpecs" do
end
end
- end
-
- describe "FIX2UINT" do
- it "converts a Fixnum to a native int" do
- @s.FIX2UINT(42).should == 42
- @s.FIX2UINT(0).should == 0
- end
-
- max_uint = (1 << 32) - 1
-
- guard -> { max_uint <= fixnum_max } do
- it "converts a Fixnum representing the maximum native uint" do
- @s.FIX2UINT(max_uint).should == max_uint
- end
- end
-
- end
-
- platform_is wordsize: 64 do
- describe "rb_fix2uint" do
+ platform_is_not :windows do
it "raises a TypeError if passed nil" do
- lambda { @s.rb_fix2uint(nil) }.should raise_error(TypeError)
- end
-
- it "converts a Fixnum" do
- @s.rb_fix2uint(0).should == 0
- @s.rb_fix2uint(1).should == 1
+ lambda { @s.FIX2INT(nil) }.should raise_error(TypeError)
end
- it "converts the maximum uint value" do
- @s.rb_fix2uint(0xffff_ffff).should == 0xffff_ffff
+ it "converts a Float" do
+ @s.FIX2INT(25.4567).should == 25
end
- it "converts a Float" do
- @s.rb_fix2uint(25.4567).should == 25
+ it "converts a negative Bignum into an signed number" do
+ @s.FIX2INT(-2147442171).should == -2147442171
end
- it "raises a RangeError if the value does not fit a native uint" do
- # Interestingly, on MRI rb_fix2uint(-1) is allowed
- lambda { @s.rb_fix2uint(0xffff_ffff+1) }.should raise_error(RangeError)
- lambda { @s.rb_fix2uint(-(1 << 31) - 1) }.should raise_error(RangeError)
+ it "raises a RangeError if the value does not fit a native int" do
+ lambda { @s.FIX2INT(0x7fff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.FIX2INT(-(1 << 31) - 1) }.should raise_error(RangeError)
end
it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_fix2uint(0xffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.FIX2INT(0xffff_ffff+1) }.should raise_error(RangeError)
end
it "raises a RangeError if the value is more than 64bits" do
- lambda { @s.rb_fix2uint(0xffff_ffff_ffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.FIX2INT(0xffff_ffff_ffff_ffff+1) }.should raise_error(RangeError)
end
- end
- describe "rb_fix2int" do
- it "raises a TypeError if passed nil" do
- lambda { @s.rb_fix2int(nil) }.should raise_error(TypeError)
+ it "calls #to_int to coerce the value" do
+ obj = mock("number")
+ obj.should_receive(:to_int).and_return(2)
+ @s.FIX2INT(obj).should == 2
end
+ end
+ end
- it "converts a Fixnum" do
- @s.rb_fix2int(-1).should == -1
- @s.rb_fix2int(1).should == 1
- end
+ describe "FIX2UINT" do
+ max_uint = (1 << 32) - 1
- it "converts the minimum int value" do
- @s.rb_fix2int(-(1 << 31)).should == -(1 << 31)
- end
+ it "converts a Fixnum" do
+ @s.FIX2UINT(0).should == 0
+ @s.FIX2UINT(1).should == 1
+ @s.FIX2UINT(42).should == 42
+ end
- it "converts the maximum int value" do
- @s.rb_fix2int(0x7fff_ffff).should == 0x7fff_ffff
+ guard -> { max_uint <= fixnum_max } do
+ it "converts a Fixnum representing the maximum native uint" do
+ @s.FIX2UINT(max_uint).should == max_uint
end
+ end
- it "converts a Float" do
- @s.rb_fix2int(25.4567).should == 25
+ platform_is_not :windows do
+ it "raises a TypeError if passed nil" do
+ lambda { @s.FIX2UINT(nil) }.should raise_error(TypeError)
end
- it "converts a negative Bignum into an signed number" do
- @s.rb_fix2int(-2147442171).should == -2147442171
+ it "converts a Float" do
+ @s.FIX2UINT(25.4567).should == 25
end
- it "raises a RangeError if the value does not fit a native int" do
- lambda { @s.rb_fix2int(0x7fff_ffff+1) }.should raise_error(RangeError)
- lambda { @s.rb_fix2int(-(1 << 31) - 1) }.should raise_error(RangeError)
+ it "raises a RangeError if the value does not fit a native uint" do
+ # Interestingly, on MRI FIX2UINT(-1) is allowed
+ lambda { @s.FIX2UINT(0xffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.FIX2UINT(-(1 << 31) - 1) }.should raise_error(RangeError)
end
it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_fix2int(0xffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.FIX2UINT(0xffff_ffff+1) }.should raise_error(RangeError)
end
it "raises a RangeError if the value is more than 64bits" do
- lambda { @s.rb_fix2int(0xffff_ffff_ffff_ffff+1) }.should raise_error(RangeError)
- end
-
- it "calls #to_int to coerce the value" do
- obj = mock("number")
- obj.should_receive(:to_int).and_return(2)
- @s.rb_fix2int(obj).should == 2
+ lambda { @s.FIX2UINT(0xffff_ffff_ffff_ffff+1) }.should raise_error(RangeError)
end
end
end
diff --git a/spec/ruby/optional/capi/numeric_spec.rb b/spec/ruby/optional/capi/numeric_spec.rb
index 5301cbcf10..62921f2467 100644
--- a/spec/ruby/optional/capi/numeric_spec.rb
+++ b/spec/ruby/optional/capi/numeric_spec.rb
@@ -7,135 +7,131 @@ describe "CApiNumericSpecs" do
@s = CApiNumericSpecs.new
end
- platform_is wordsize: 64 do
- describe "rb_num2int" do
- it "raises a TypeError if passed nil" do
- lambda { @s.rb_num2int(nil) }.should raise_error(TypeError)
- end
+ describe "NUM2INT" do
+ it "raises a TypeError if passed nil" do
+ lambda { @s.NUM2INT(nil) }.should raise_error(TypeError)
+ end
- it "converts a Float" do
- @s.rb_num2int(4.2).should == 4
- end
+ it "converts a Float" do
+ @s.NUM2INT(4.2).should == 4
+ end
- it "converts a Bignum" do
- @s.rb_num2int(0x7fff_ffff).should == 0x7fff_ffff
- end
+ it "converts a Bignum" do
+ @s.NUM2INT(0x7fff_ffff).should == 0x7fff_ffff
+ end
- it "converts a Fixnum" do
- @s.rb_num2int(5).should == 5
- end
+ it "converts a Fixnum" do
+ @s.NUM2INT(5).should == 5
+ end
- it "converts -1 to an signed number" do
- @s.rb_num2int(-1).should == -1
- end
+ it "converts -1 to an signed number" do
+ @s.NUM2INT(-1).should == -1
+ end
- it "converts a negative Bignum into an signed number" do
- @s.rb_num2int(-2147442171).should == -2147442171
- end
+ it "converts a negative Bignum into an signed number" do
+ @s.NUM2INT(-2147442171).should == -2147442171
+ end
- it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_num2int(0xffff_ffff+1) }.should raise_error(RangeError)
- end
+ it "raises a RangeError if the value is more than 32bits" do
+ lambda { @s.NUM2INT(0xffff_ffff+1) }.should raise_error(RangeError)
+ end
- it "calls #to_int to coerce the value" do
- obj = mock("number")
- obj.should_receive(:to_int).and_return(2)
- @s.rb_num2long(obj).should == 2
- end
+ it "calls #to_int to coerce the value" do
+ obj = mock("number")
+ obj.should_receive(:to_int).and_return(2)
+ @s.NUM2INT(obj).should == 2
end
end
- platform_is wordsize: 64 do
- describe "rb_num2uint" do
- it "raises a TypeError if passed nil" do
- lambda { @s.rb_num2uint(nil) }.should raise_error(TypeError)
- end
+ describe "NUM2UINT" do
+ it "raises a TypeError if passed nil" do
+ lambda { @s.NUM2UINT(nil) }.should raise_error(TypeError)
+ end
- it "converts a Float" do
- @s.rb_num2uint(4.2).should == 4
- end
+ it "converts a Float" do
+ @s.NUM2UINT(4.2).should == 4
+ end
- it "converts a Bignum" do
- @s.rb_num2uint(0xffff_ffff).should == 0xffff_ffff
- end
+ it "converts a Bignum" do
+ @s.NUM2UINT(0xffff_ffff).should == 0xffff_ffff
+ end
- it "converts a Fixnum" do
- @s.rb_num2uint(5).should == 5
- end
+ it "converts a Fixnum" do
+ @s.NUM2UINT(5).should == 5
+ end
- it "converts a negative number to the complement" do
- @s.rb_num2uint(-1).should == 18446744073709551615
- end
+ it "converts a negative number to the complement" do
+ @s.NUM2UINT(-1).should == 4294967295
+ end
- it "converts a signed int value to the complement" do
- @s.rb_num2uint(-0x8000_0000).should == 18446744071562067968
- end
+ it "converts a signed int value to the complement" do
+ @s.NUM2UINT(-0x8000_0000).should == 2147483648
+ end
- it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_num2uint(0xffff_ffff+1) }.should raise_error(RangeError)
- end
+ it "raises a RangeError if the value is more than 32bits" do
+ lambda { @s.NUM2UINT(0xffff_ffff+1) }.should raise_error(RangeError)
+ end
- it "raises a RangeError if the value is less than 32bits negative" do
- lambda { @s.rb_num2uint(-0x8000_0000-1) }.should raise_error(RangeError)
- end
+ it "raises a RangeError if the value is less than 32bits negative" do
+ lambda { @s.NUM2UINT(-0x8000_0000-1) }.should raise_error(RangeError)
+ end
- it "raises a RangeError if the value is more than 64bits" do
- lambda do
- @s.rb_num2uint(0xffff_ffff_ffff_ffff+1)
- end.should raise_error(RangeError)
- end
+ it "raises a RangeError if the value is more than 64bits" do
+ lambda do
+ @s.NUM2UINT(0xffff_ffff_ffff_ffff+1)
+ end.should raise_error(RangeError)
+ end
- it "calls #to_int to coerce the value" do
- obj = mock("number")
- obj.should_receive(:to_int).and_return(2)
- @s.rb_num2uint(obj).should == 2
- end
+ it "calls #to_int to coerce the value" do
+ obj = mock("number")
+ obj.should_receive(:to_int).and_return(2)
+ @s.NUM2UINT(obj).should == 2
end
end
- describe "rb_num2long" do
+ describe "NUM2LONG" do
it "raises a TypeError if passed nil" do
- lambda { @s.rb_num2long(nil) }.should raise_error(TypeError)
+ lambda { @s.NUM2LONG(nil) }.should raise_error(TypeError)
end
it "converts a Float" do
- @s.rb_num2long(4.2).should == 4
+ @s.NUM2LONG(4.2).should == 4
end
it "converts a Bignum" do
- @s.rb_num2long(0x7fff_ffff).should == 0x7fff_ffff
+ @s.NUM2LONG(0x7fff_ffff).should == 0x7fff_ffff
end
it "converts a Fixnum" do
- @s.rb_num2long(5).should == 5
+ @s.NUM2LONG(5).should == 5
end
platform_is wordsize: 32 do
it "converts -1 to an signed number" do
- @s.rb_num2long(-1).should == -1
+ @s.NUM2LONG(-1).should == -1
end
it "converts a negative Bignum into an signed number" do
- @s.rb_num2long(-2147442171).should == -2147442171
+ @s.NUM2LONG(-2147442171).should == -2147442171
end
it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_num2long(0xffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.NUM2LONG(0xffff_ffff+1) }.should raise_error(RangeError)
end
end
platform_is wordsize: 64 do
it "converts -1 to an signed number" do
- @s.rb_num2long(-1).should == -1
+ @s.NUM2LONG(-1).should == -1
end
it "converts a negative Bignum into an signed number" do
- @s.rb_num2long(-9223372036854734331).should == -9223372036854734331
+ @s.NUM2LONG(-9223372036854734331).should == -9223372036854734331
end
it "raises a RangeError if the value is more than 64bits" do
lambda do
- @s.rb_num2long(0xffff_ffff_ffff_ffff+1)
+ @s.NUM2LONG(0xffff_ffff_ffff_ffff+1)
end.should raise_error(RangeError)
end
end
@@ -143,89 +139,89 @@ describe "CApiNumericSpecs" do
it "calls #to_int to coerce the value" do
obj = mock("number")
obj.should_receive(:to_int).and_return(2)
- @s.rb_num2long(obj).should == 2
+ @s.NUM2LONG(obj).should == 2
end
end
- describe "rb_int2num" do
+ describe "INT2NUM" do
it "raises a TypeError if passed nil" do
- lambda { @s.rb_int2num(nil) }.should raise_error(TypeError)
+ lambda { @s.INT2NUM(nil) }.should raise_error(TypeError)
end
it "converts a Float" do
- @s.rb_int2num(4.2).should == 4
+ @s.INT2NUM(4.2).should == 4
end
it "raises a RangeError when passed a Bignum" do
- lambda { @s.rb_int2num(bignum_value) }.should raise_error(RangeError)
+ lambda { @s.INT2NUM(bignum_value) }.should raise_error(RangeError)
end
it "converts a Fixnum" do
- @s.rb_int2num(5).should == 5
+ @s.INT2NUM(5).should == 5
end
it "converts a negative Fixnum" do
- @s.rb_int2num(-11).should == -11
+ @s.INT2NUM(-11).should == -11
end
end
- describe "rb_num2ulong" do
+ describe "NUM2ULONG" do
it "raises a TypeError if passed nil" do
- lambda { @s.rb_num2ulong(nil) }.should raise_error(TypeError)
+ lambda { @s.NUM2ULONG(nil) }.should raise_error(TypeError)
end
it "converts a Float" do
- @s.rb_num2ulong(4.2).should == 4
+ @s.NUM2ULONG(4.2).should == 4
end
it "converts a Bignum" do
- @s.rb_num2ulong(0xffff_ffff).should == 0xffff_ffff
+ @s.NUM2ULONG(0xffff_ffff).should == 0xffff_ffff
end
it "converts a Fixnum" do
- @s.rb_num2ulong(5).should == 5
+ @s.NUM2ULONG(5).should == 5
end
platform_is wordsize: 32 do
it "converts -1 to an unsigned number" do
- @s.rb_num2ulong(-1).should == 4294967295
+ @s.NUM2ULONG(-1).should == 4294967295
end
it "converts a negative Bignum into an unsigned number" do
- @s.rb_num2ulong(-2147442171).should == 2147525125
+ @s.NUM2ULONG(-2147442171).should == 2147525125
end
it "converts positive Bignums if the values is less than 64bits" do
- @s.rb_num2ulong(0xffff_ffff).should == 0xffff_ffff
- @s.rb_num2ulong(2**30).should == 2**30
- @s.rb_num2ulong(fixnum_max+1).should == fixnum_max+1
- @s.rb_num2ulong(fixnum_max).should == fixnum_max
+ @s.NUM2ULONG(0xffff_ffff).should == 0xffff_ffff
+ @s.NUM2ULONG(2**30).should == 2**30
+ @s.NUM2ULONG(fixnum_max+1).should == fixnum_max+1
+ @s.NUM2ULONG(fixnum_max).should == fixnum_max
end
it "raises a RangeError if the value is more than 32bits" do
- lambda { @s.rb_num2ulong(0xffff_ffff+1) }.should raise_error(RangeError)
+ lambda { @s.NUM2ULONG(0xffff_ffff+1) }.should raise_error(RangeError)
end
end
platform_is wordsize: 64 do
it "converts -1 to an unsigned number" do
- @s.rb_num2ulong(-1).should == 18446744073709551615
+ @s.NUM2ULONG(-1).should == 18446744073709551615
end
it "converts a negative Bignum into an unsigned number" do
- @s.rb_num2ulong(-9223372036854734331).should == 9223372036854817285
+ @s.NUM2ULONG(-9223372036854734331).should == 9223372036854817285
end
it "converts positive Bignums if the values is less than 64bits" do
- @s.rb_num2ulong(0xffff_ffff_ffff_ffff).should == 0xffff_ffff_ffff_ffff
- @s.rb_num2ulong(2**62).should == 2**62
- @s.rb_num2ulong(fixnum_max+1).should == fixnum_max+1
- @s.rb_num2ulong(fixnum_max).should == fixnum_max
+ @s.NUM2ULONG(0xffff_ffff_ffff_ffff).should == 0xffff_ffff_ffff_ffff
+ @s.NUM2ULONG(2**62).should == 2**62
+ @s.NUM2ULONG(fixnum_max+1).should == fixnum_max+1
+ @s.NUM2ULONG(fixnum_max).should == fixnum_max
end
it "raises a RangeError if the value is more than 64bits" do
lambda do
- @s.rb_num2ulong(0xffff_ffff_ffff_ffff+1)
+ @s.NUM2ULONG(0xffff_ffff_ffff_ffff+1)
end.should raise_error(RangeError)
end
end
@@ -233,7 +229,7 @@ describe "CApiNumericSpecs" do
it "calls #to_int to coerce the value" do
obj = mock("number")
obj.should_receive(:to_int).and_return(2)
- @s.rb_num2ulong(obj).should == 2
+ @s.NUM2ULONG(obj).should == 2
end
end
@@ -289,31 +285,31 @@ describe "CApiNumericSpecs" do
end
end
- describe "rb_num2dbl" do
+ describe "NUM2DBL" do
it "raises a TypeError if passed nil" do
- lambda { @s.rb_num2dbl(nil) }.should raise_error(TypeError)
+ lambda { @s.NUM2DBL(nil) }.should raise_error(TypeError)
end
it "raises a TypeError if passed a String" do
- lambda { @s.rb_num2dbl("1.2") }.should raise_error(TypeError)
+ lambda { @s.NUM2DBL("1.2") }.should raise_error(TypeError)
end
it "converts a Float" do
- @s.rb_num2dbl(4.2).should == 4.2
+ @s.NUM2DBL(4.2).should == 4.2
end
it "converts a Bignum" do
- @s.rb_num2dbl(2**70).should == (2**70).to_f
+ @s.NUM2DBL(2**70).should == (2**70).to_f
end
it "converts a Fixnum" do
- @s.rb_num2dbl(5).should == 5.0
+ @s.NUM2DBL(5).should == 5.0
end
it "calls #to_f to coerce the value" do
obj = mock("number")
obj.should_receive(:to_f).and_return(2.0)
- @s.rb_num2dbl(obj).should == 2.0
+ @s.NUM2DBL(obj).should == 2.0
end
end
diff --git a/spec/ruby/optional/capi/string_spec.rb b/spec/ruby/optional/capi/string_spec.rb
index cfd60c2593..06b0c9cbf7 100644
--- a/spec/ruby/optional/capi/string_spec.rb
+++ b/spec/ruby/optional/capi/string_spec.rb
@@ -32,45 +32,56 @@ describe "C-API String function" do
end
end
- describe "rb_str_set_len" do
- before :each do
- # Make a completely new copy of the string
- # for every example (#dup doesn't cut it).
- @str = "abcdefghij"
- @s.rb_str_modify(@str)
- end
+ [Encoding::BINARY, Encoding::UTF_8].each do |enc|
+ describe "rb_str_set_len on a #{enc.name} String" do
+ before :each do
+ @str = "abcdefghij".force_encoding(enc)
+ # Make sure to unshare the string
+ @s.rb_str_modify(@str)
+ end
- it "reduces the size of the string" do
- @s.rb_str_set_len(@str, 5).should == "abcde"
- end
+ it "reduces the size of the string" do
+ @s.rb_str_set_len(@str, 5).should == "abcde"
+ end
- it "inserts a NULL byte at the length" do
- @s.rb_str_set_len(@str, 5).should == "abcde"
- @s.rb_str_set_len(@str, 8).should == "abcde\x00gh"
- end
+ it "inserts a NULL byte at the length" do
+ @s.rb_str_set_len(@str, 5).should == "abcde"
+ @s.rb_str_set_len(@str, 8).should == "abcde\x00gh"
+ end
- it "updates the byte size and character size" do
- @s.rb_str_set_len(@str, 4)
- @str.bytesize.should == 4
- @str.size.should == 4
- @str.should == "abcd"
- end
+ it "updates the byte size" do
+ @s.rb_str_set_len(@str, 4)
+ @str.bytesize.should == 4
+ @str.should == "abcd"
+ end
- it "updates the string's attributes visible in C code" do
- @s.rb_str_set_len_RSTRING_LEN(@str, 4).should == 4
- end
+ it "invalidates the character size" do
+ @str.size.should == 10
+ @s.rb_str_set_len(@str, 4)
+ @str.size.should == 4
+ @str.should == "abcd"
+ end
- it "can reveal characters written from C with RSTRING_PTR" do
- @s.rb_str_set_len(@str, 1)
- @str.should == "a"
+ it "invalidates the code range" do
+ @s.rb_str_set_len(@str, 4)
+ @str.ascii_only?.should == true
+ end
- @str.force_encoding(Encoding::UTF_8)
- @s.RSTRING_PTR_set(@str, 1, 'B'.ord)
- @s.RSTRING_PTR_set(@str, 2, 'C'.ord)
- @s.rb_str_set_len(@str, 3)
+ it "updates the string's attributes visible in C code" do
+ @s.rb_str_set_len_RSTRING_LEN(@str, 4).should == 4
+ end
+
+ it "can reveal characters written from C with RSTRING_PTR" do
+ @s.rb_str_set_len(@str, 1)
+ @str.should == "a"
- @str.bytesize.should == 3
- @str.should == "aBC"
+ @s.RSTRING_PTR_set(@str, 1, 'B'.ord)
+ @s.RSTRING_PTR_set(@str, 2, 'C'.ord)
+ @s.rb_str_set_len(@str, 3)
+
+ @str.bytesize.should == 3
+ @str.should == "aBC"
+ end
end
end
diff --git a/spec/ruby/shared/enumerator/each.rb b/spec/ruby/shared/enumerator/each.rb
deleted file mode 100644
index bbab86fed7..0000000000
--- a/spec/ruby/shared/enumerator/each.rb
+++ /dev/null
@@ -1,89 +0,0 @@
-# -*- encoding: us-ascii -*-
-
-describe :enum_each, shared: true do
- before :each do
- object_each_with_arguments = Object.new
- def object_each_with_arguments.each_with_arguments(arg, *args)
- yield arg, *args
- :method_returned
- end
-
- @enum_with_arguments = object_each_with_arguments.to_enum(:each_with_arguments, :arg0, :arg1, :arg2)
-
- @enum_with_yielder = Enumerator.new {|y| y.yield :ok}
- end
-
- it "yields each element of self to the given block" do
- acc = []
- [1,2,3].to_enum.each {|e| acc << e }
- acc.should == [1,2,3]
- end
-
- it "calls #each on the object given in the constructor by default" do
- each = mock('each')
- each.should_receive(:each)
- each.to_enum.each {|e| e }
- end
-
- it "calls #each on the underlying object until it's exhausted" do
- each = mock('each')
- each.should_receive(:each).and_yield(1).and_yield(2).and_yield(3)
- acc = []
- each.to_enum.each {|e| acc << e }
- acc.should == [1,2,3]
- end
-
- it "calls the method given in the constructor instead of #each" do
- each = mock('peach')
- each.should_receive(:peach)
- each.to_enum(:peach).each {|e| e }
- end
-
- it "calls the method given in the constructor until it's exhausted" do
- each = mock('each')
- each.should_receive(:each).and_yield(1).and_yield(2).and_yield(3)
- acc = []
- each.to_enum.each {|e| acc << e }
- acc.should == [1,2,3]
- end
-
- it "raises a NoMethodError if the object doesn't respond to #each" do
- enum = Object.new.to_enum
- lambda do
- enum.each { |e| e }
- end.should raise_error(NoMethodError)
- end
-
- it "returns self if not given arguments and not given a block" do
- @enum_with_arguments.each.should equal(@enum_with_arguments)
-
- @enum_with_yielder.each.should equal(@enum_with_yielder)
- end
-
- it "returns the same value from receiver.each if block is given" do
- @enum_with_arguments.each {}.should equal(:method_returned)
- end
-
- it "passes given arguments at initialized to receiver.each" do
- @enum_with_arguments.each.to_a.should == [[:arg0, :arg1, :arg2]]
- end
-
- it "requires multiple arguments" do
- Enumerator.instance_method(:each).arity.should < 0
- end
-
- it "appends given arguments to receiver.each" do
- @enum_with_arguments.each(:each0, :each1).to_a.should == [[:arg0, :arg1, :arg2, :each0, :each1]]
- @enum_with_arguments.each(:each2, :each3).to_a.should == [[:arg0, :arg1, :arg2, :each2, :each3]]
- end
-
- it "returns the same value from receiver.each if block and arguments are given" do
- @enum_with_arguments.each(:each1, :each2) {}.should equal(:method_returned)
- end
-
- it "returns new Enumerator if given arguments but not given a block" do
- ret = @enum_with_arguments.each 1
- ret.should be_an_instance_of(Enumerator)
- ret.should_not equal(@enum_with_arguments)
- end
-end
diff --git a/spec/ruby/shared/enumerator/enum_cons.rb b/spec/ruby/shared/enumerator/enum_cons.rb
deleted file mode 100644
index fec0f4766e..0000000000
--- a/spec/ruby/shared/enumerator/enum_cons.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-require_relative '../../spec_helper'
-require_relative '../../fixtures/enumerator/classes'
-
-describe :enum_cons, shared: true do
- it "returns an enumerator of the receiver with iteration of each_cons for each array of n concecutive elements" do
- a = []
- enum = EnumSpecs::Numerous.new.enum_cons(3)
- enum.each {|x| a << x}
- enum.should be_an_instance_of(Enumerator)
- a.should == [[2, 5, 3], [5, 3, 6], [3, 6, 1], [6, 1, 4]]
- end
-end
diff --git a/spec/ruby/shared/enumerator/new.rb b/spec/ruby/shared/enumerator/new.rb
deleted file mode 100644
index 2eb39e0abd..0000000000
--- a/spec/ruby/shared/enumerator/new.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-require_relative '../../spec_helper'
-
-describe :enum_new, shared: true do
- it "creates a new custom enumerator with the given object, iterator and arguments" do
- enum = Enumerator.new(1, :upto, 3)
- enum.should be_an_instance_of(Enumerator)
- end
-
- it "creates a new custom enumerator that responds to #each" do
- enum = Enumerator.new(1, :upto, 3)
- enum.respond_to?(:each).should == true
- end
-
- it "creates a new custom enumerator that runs correctly" do
- Enumerator.new(1, :upto, 3).map{|x|x}.should == [1,2,3]
- end
-
- it "aliases the second argument to :each" do
- Enumerator.new(1..2).to_a.should == Enumerator.new(1..2, :each).to_a
- end
-
- it "doesn't check for the presence of the iterator method" do
- Enumerator.new(nil).should be_an_instance_of(Enumerator)
- end
-
- it "uses the latest define iterator method" do
- class StrangeEach
- def each
- yield :foo
- end
- end
- enum = Enumerator.new(StrangeEach.new)
- enum.to_a.should == [:foo]
- class StrangeEach
- def each
- yield :bar
- end
- end
- enum.to_a.should == [:bar]
- end
-
-end
diff --git a/spec/ruby/shared/enumerator/next.rb b/spec/ruby/shared/enumerator/next.rb
deleted file mode 100644
index dd9a2a0f81..0000000000
--- a/spec/ruby/shared/enumerator/next.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-require_relative '../../spec_helper'
-
-describe :enum_next, shared: true do
-
- before :each do
- @enum = 1.upto(3)
- end
-
- it "returns the next element of the enumeration" do
- @enum.next.should == 1
- @enum.next.should == 2
- @enum.next.should == 3
- end
-
- it "raises a StopIteration exception at the end of the stream" do
- 3.times { @enum.next }
- lambda { @enum.next }.should raise_error(StopIteration)
- end
-
- it "cannot be called again until the enumerator is rewound" do
- 3.times { @enum.next }
- lambda { @enum.next }.should raise_error(StopIteration)
- lambda { @enum.next }.should raise_error(StopIteration)
- lambda { @enum.next }.should raise_error(StopIteration)
- @enum.rewind
- @enum.next.should == 1
- end
-end
diff --git a/spec/ruby/shared/enumerator/rewind.rb b/spec/ruby/shared/enumerator/rewind.rb
deleted file mode 100644
index a3c14ec496..0000000000
--- a/spec/ruby/shared/enumerator/rewind.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-require_relative '../../spec_helper'
-
-describe :enum_rewind, shared: true do
-
- before :each do
- @enum = 1.upto(3)
- end
-
- it "resets the enumerator to its initial state" do
- @enum.next.should == 1
- @enum.next.should == 2
- @enum.rewind
- @enum.next.should == 1
- end
-
- it "returns self" do
- @enum.rewind.should == @enum
- end
-
- it "has no effect on a new enumerator" do
- @enum.rewind
- @enum.next.should == 1
- end
-
- it "has no effect if called multiple, consecutive times" do
- @enum.next.should == 1
- @enum.rewind
- @enum.rewind
- @enum.next.should == 1
- end
-
- it "works with peek to reset the position" do
- @enum.next
- @enum.next
- @enum.rewind
- @enum.next
- @enum.peek.should == 2
- end
-end
diff --git a/spec/ruby/shared/rational/Rational.rb b/spec/ruby/shared/rational/Rational.rb
index 752225269e..30425775d6 100644
--- a/spec/ruby/shared/rational/Rational.rb
+++ b/spec/ruby/shared/rational/Rational.rb
@@ -100,4 +100,46 @@ describe :kernel_Rational, shared: true do
lambda { Rational(1, :sym) }.should raise_error(TypeError)
end
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and [non-Numeric]" do
+ it "swallows an error" do
+ Rational(:sym, exception: false).should == nil
+ Rational("abc", exception: false).should == nil
+ end
+ end
+
+ describe "and [non-Numeric, Numeric]" do
+ it "swallows an error" do
+ Rational(:sym, 1, exception: false).should == nil
+ Rational("abc", 1, exception: false).should == nil
+ end
+ end
+
+ describe "and [anything, non-Numeric]" do
+ it "swallows an error" do
+ Rational(:sym, :sym, exception: false).should == nil
+ Rational("abc", :sym, exception: false).should == nil
+ end
+ end
+
+ describe "and non-Numeric String arguments" do
+ it "swallows an error" do
+ Rational("a", "b", exception: false).should == nil
+ Rational("a", 0, exception: false).should == nil
+ Rational(0, "b", exception: false).should == nil
+ end
+ end
+
+ ruby_bug "#15525", "2.6"..."2.6.1" do
+ describe "and nil arguments" do
+ it "swallows an error" do
+ Rational(nil, exception: false).should == nil
+ Rational(nil, nil, exception: false).should == nil
+ end
+ end
+ end
+ end
+ end
end