Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
ext
fixtures
README
array_spec.rb
bignum_spec.rb
class_spec.rb
constants_spec.rb
data_spec.rb
encoding_spec.rb
enumerator_spec.rb
exception_spec.rb
file_spec.rb
float_spec.rb
gc_spec.rb
globals_spec.rb
hash_spec.rb
io_spec.rb
kernel_spec.rb
marshal_spec.rb
module_spec.rb
numeric_spec.rb
object_spec.rb
proc_spec.rb
rake_helper.rb
range_spec.rb
rational_spec.rb
regexp_spec.rb
safe_spec.rb
spec_helper.rb
string_spec.rb
struct_spec.rb
symbol_spec.rb
thread_spec.rb
time_spec.rb
util_spec.rb

README

C-API Specs

These specs test the C-API from Ruby. The following are conventions for the
specs:

1.  Put specs for functions related to a Ruby class in a file named according
    to the class. For example, for rb_ary_new function, put the specs in
    optional/capi/array_spec.rb
2.  Put the C file containing the C functions for array_spec.rb in
    optional/capi/ext/array_spec.c
3.  Add a '#define HAVE_RB_ARY_NEW  1' to rubyspec.h
4.  Name the C extension class 'CApiArraySpecs'.
5.  Name the C functions 'array_spec_rb_ary_new'.
6.  Wrap the code in the optional/capi/ext/array_spec.c in
    '#ifdef HAVE_RB_ARY_NEW'
6.  Attach the C function to the class using the name 'rb_ary_new'
Something went wrong with that request. Please try again.