diff options
Diffstat (limited to 'web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct')
3 files changed, 0 insertions, 239 deletions
diff --git a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/mrbgem.rake b/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/mrbgem.rake deleted file mode 100644 index 91ad9f44b..000000000 --- a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/mrbgem.rake +++ /dev/null @@ -1,5 +0,0 @@ -MRuby::Gem::Specification.new('mruby-inline-struct') do |spec| - spec.license = 'MIT' - spec.author = 'mruby developers' - spec.summary = 'inline structure' -end diff --git a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.c b/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.c deleted file mode 100644 index 0baaab617..000000000 --- a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.c +++ /dev/null @@ -1,83 +0,0 @@ -#include <mruby.h> -#include <mruby/class.h> -#include <mruby/string.h> -#include <mruby/istruct.h> - -static mrb_value -istruct_test_initialize(mrb_state *mrb, mrb_value self) -{ - char *string = (char*)mrb_istruct_ptr(self); - mrb_int size = mrb_istruct_size(); - mrb_value object; - mrb_get_args(mrb, "o", &object); - - if (mrb_float_p(object)) - { - snprintf(string, size, "float(%.3f)", mrb_float(object)); - } - else if (mrb_fixnum_p(object)) - { - snprintf(string, size, "fixnum(%" MRB_PRId ")", mrb_fixnum(object)); - } - else if (mrb_string_p(object)) - { - snprintf(string, size, "string(%s)", mrb_string_value_cstr(mrb, &object)); - } - - string[size - 1] = 0; // force NULL at the end - return self; -} - -static mrb_value -istruct_test_to_s(mrb_state *mrb, mrb_value self) -{ - return mrb_str_new_cstr(mrb, (const char*)mrb_istruct_ptr(self)); -} - -static mrb_value -istruct_test_length(mrb_state *mrb, mrb_value self) -{ - return mrb_fixnum_value(mrb_istruct_size()); -} - -static mrb_value -istruct_test_test_receive(mrb_state *mrb, mrb_value self) -{ - mrb_value object; - mrb_get_args(mrb, "o", &object); - if (mrb_obj_class(mrb, object) != mrb_class_get(mrb, "InlineStructTest")) - { - mrb_raisef(mrb, E_TYPE_ERROR, "Expected InlineStructTest"); - } - return mrb_bool_value(((char*)mrb_istruct_ptr(object))[0] == 's'); -} - -static mrb_value -istruct_test_test_receive_direct(mrb_state *mrb, mrb_value self) -{ - char *ptr; - mrb_get_args(mrb, "I", &ptr); - return mrb_bool_value(ptr[0] == 's'); -} - -static mrb_value -istruct_test_mutate(mrb_state *mrb, mrb_value self) -{ - char *ptr = (char*)mrb_istruct_ptr(self); - memcpy(ptr, "mutate", 6); - return mrb_nil_value(); -} - -void mrb_mruby_inline_struct_gem_test(mrb_state *mrb) -{ - struct RClass *cls; - - cls = mrb_define_class(mrb, "InlineStructTest", mrb->object_class); - MRB_SET_INSTANCE_TT(cls, MRB_TT_ISTRUCT); - mrb_define_method(mrb, cls, "initialize", istruct_test_initialize, MRB_ARGS_REQ(1)); - mrb_define_method(mrb, cls, "to_s", istruct_test_to_s, MRB_ARGS_NONE()); - mrb_define_method(mrb, cls, "mutate", istruct_test_mutate, MRB_ARGS_NONE()); - mrb_define_class_method(mrb, cls, "length", istruct_test_length, MRB_ARGS_NONE()); - mrb_define_class_method(mrb, cls, "test_receive", istruct_test_test_receive, MRB_ARGS_REQ(1)); - mrb_define_class_method(mrb, cls, "test_receive_direct", istruct_test_test_receive_direct, MRB_ARGS_REQ(1)); -} diff --git a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.rb b/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.rb deleted file mode 100644 index 495859232..000000000 --- a/web/server/h2o/libh2o/deps/mruby/mrbgems/mruby-inline-struct/test/inline.rb +++ /dev/null @@ -1,151 +0,0 @@ -## -# InlineStruct Test - -class InlineStructTest - def extra_method - :ok - end - - def test_ivar_set - @var = :ivar - end - - def test_ivar_get - @vat - end -end - -assert('InlineStructTest#dup') do - obj = InlineStructTest.new(1) - assert_equal obj.to_s, 'fixnum(1)' - assert_equal obj.dup.to_s, 'fixnum(1)' -end - -assert('InlineStructTest#clone') do - obj = InlineStructTest.new(1) - assert_equal obj.to_s, 'fixnum(1)' - assert_equal obj.clone.to_s, 'fixnum(1)' -end - -assert('InlineStruct#object_id') do - obj1 = InlineStructTest.new(1) - obj2 = InlineStructTest.new(1) - assert_not_equal obj1, obj2 - assert_not_equal obj1.object_id, obj2.object_id - assert_not_equal obj1.object_id, obj1.dup.object_id - assert_not_equal obj1.object_id, obj1.clone.object_id -end - -assert('InlineStructTest#mutate (dup)') do - obj1 = InlineStructTest.new("foo") - assert_equal obj1.to_s, "string(foo)" - obj2 = obj1.dup - assert_equal obj2.to_s, "string(foo)" - obj1.mutate - assert_equal obj1.to_s, "mutate(foo)" - assert_equal obj2.to_s, "string(foo)" -end - -assert('InlineStructTest#mutate (clone)') do - obj1 = InlineStructTest.new("foo") - assert_equal obj1.to_s, "string(foo)" - obj2 = obj1.clone - assert_equal obj2.to_s, "string(foo)" - obj1.mutate - assert_equal obj1.to_s, "mutate(foo)" - assert_equal obj2.to_s, "string(foo)" -end - -assert('InlineStructTest#test_receive(string)') do - assert_equal InlineStructTest.test_receive(InlineStructTest.new('a')), true -end - -assert('InlineStructTest#test_receive(float)') do - assert_equal InlineStructTest.test_receive(InlineStructTest.new(1.25)), false -end - -assert('InlineStructTest#test_receive(invalid object)') do - assert_raise(TypeError) do - InlineStructTest.test_receive([]) - end -end - -assert('InlineStructTest#test_receive(string)') do - assert_equal InlineStructTest.test_receive_direct(InlineStructTest.new('a')), true -end - -assert('InlineStructTest#test_receive(float)') do - assert_equal InlineStructTest.test_receive_direct(InlineStructTest.new(1.25)), false -end - -assert('InlineStructTest#test_receive(invalid object)') do - assert_raise(TypeError) do - InlineStructTest.test_receive_direct([]) - end -end - -assert('InlineStructTest#extra_method') do - assert_equal InlineStructTest.new(1).extra_method, :ok -end - -assert('InlineStructTest instance variable') do - obj = InlineStructTest.new(1) - assert_raise(ArgumentError) do - obj.test_ivar_set - end - assert_equal obj.test_ivar_get, nil -end - -# 64-bit mode -if InlineStructTest.length == 24 - assert('InlineStructTest length [64 bit]') do - assert_equal InlineStructTest.length, 3 * 8 - end - - assert('InlineStructTest w/float [64 bit]') do - obj = InlineStructTest.new(1.25) - assert_equal obj.to_s, "float(1.250)" - end - - assert('InlineStructTest w/fixnum [64 bit]') do - obj = InlineStructTest.new(42) - assert_equal obj.to_s, "fixnum(42)" - end - - assert('InlineStructTest w/string [64 bit]') do - obj = InlineStructTest.new("hello") - assert_equal obj.to_s, "string(hello)" - end - - assert('InlineStructTest w/long string [64 bit]') do - obj = InlineStructTest.new("this won't fit in 3 * 8 bytes available for the structure") - assert_equal obj.to_s, "string(this won't fit i" - end -end - -# 32-bit mode -if InlineStructTest.length == 12 - assert('InlineStructTest length [32 bit]') do - assert_equal InlineStructTest.length, 3 * 4 - end - - assert('InlineStructTest w/float [32 bit]') do - obj = InlineStructTest.new(1.25) - assert_equal obj.to_s, "float(1.250" - end - - assert('InlineStructTest w/fixnum [32 bit]') do - obj = InlineStructTest.new(42) - assert_equal obj.to_s, "fixnum(42)" - end - - assert('InlineStructTest w/string [32 bit]') do - obj = InlineStructTest.new("hello") - assert_equal obj.to_s, "string(hell" - end - - assert('InlineStructTest w/long string [32 bit]') do - obj = InlineStructTest.new("this won't fit in 3 * 4 bytes available for the structure") - assert_equal obj.to_s, "string(this" - end -end |