ruby--ruby/spec/ruby/optional/capi
..
ext
fixtures
README
array_spec.rb
bignum_spec.rb
boolean_spec.rb
class_spec.rb
complex_spec.rb
constants_spec.rb
data_spec.rb
encoding_spec.rb
enumerator_spec.rb
exception_spec.rb
file_spec.rb
fixnum_spec.rb
float_spec.rb
gc_spec.rb
globals_spec.rb
hash_spec.rb
integer_spec.rb
io_spec.rb
kernel_spec.rb
marshal_spec.rb
module_spec.rb
mutex_spec.rb
numeric_spec.rb
object_spec.rb
proc_spec.rb
rake_helper.rb
range_spec.rb
rational_spec.rb
regexp_spec.rb
spec_helper.rb
st_spec.rb
string_spec.rb
struct_spec.rb
symbol_spec.rb
thread_spec.rb
time_spec.rb
typed_data_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'
7.  Attach the C function to the class using the name 'rb_ary_new'