diff options
| -rw-r--r-- | mrbgems/mruby-objectspace/src/mruby_objectspace.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-objectspace/test/objectspace.rb | 2 | ||||
| -rw-r--r-- | tasks/mrbgem_spec.rake | 1 | ||||
| -rw-r--r-- | test/t/false.rb | 10 | ||||
| -rw-r--r-- | test/t/unicode.rb | 25 |
5 files changed, 11 insertions, 30 deletions
diff --git a/mrbgems/mruby-objectspace/src/mruby_objectspace.c b/mrbgems/mruby-objectspace/src/mruby_objectspace.c index 9871663fb..7d3b0b74e 100644 --- a/mrbgems/mruby-objectspace/src/mruby_objectspace.c +++ b/mrbgems/mruby-objectspace/src/mruby_objectspace.c @@ -15,12 +15,13 @@ os_count_object_type(mrb_state *mrb, struct RBasic *obj, void *data) struct os_count_struct *obj_count; obj_count = (struct os_count_struct*)data; + obj_count->total++; + if (is_dead(mrb, obj)) { obj_count->freed++; } else { obj_count->counts[obj->tt]++; - obj_count->total++; } } diff --git a/mrbgems/mruby-objectspace/test/objectspace.rb b/mrbgems/mruby-objectspace/test/objectspace.rb index e70650e84..f792c165d 100644 --- a/mrbgems/mruby-objectspace/test/objectspace.rb +++ b/mrbgems/mruby-objectspace/test/objectspace.rb @@ -10,6 +10,8 @@ assert('ObjectSpace.count_objects') do assert_true(h.has_key?(:FREE)) assert_true(h.has_key?(:T_FIBER)) if Object.const_defined? :Fiber + assert_equal(h[:TOTAL] * 2, h.values.reduce(:+)) + h = ObjectSpace.count_objects assert_kind_of(Hash, h) assert_true(h.keys.all? {|x| x.is_a?(Symbol) || x.is_a?(Integer) }) diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake index 5adba5fed..3536594d9 100644 --- a/tasks/mrbgem_spec.rake +++ b/tasks/mrbgem_spec.rake @@ -94,6 +94,7 @@ module MRuby compilers.each do |compiler| compiler.define_rules build_dir, "#{dir}" + compiler.defines << %Q[MRBGEM_#{funcname.upcase}_VERSION=#{version}] end define_gem_init_builder diff --git a/test/t/false.rb b/test/t/false.rb index dbef985e5..bc684f2e6 100644 --- a/test/t/false.rb +++ b/test/t/false.rb @@ -5,12 +5,14 @@ assert('FalseClass', '15.2.6') do assert_equal Class, FalseClass.class end -assert('FalseClass superclass', '15.2.6.2') do - assert_equal Object, FalseClass.superclass -end - assert('FalseClass false', '15.2.6.1') do assert_false false + assert_equal FalseClass, false.class + assert_false FalseClass.method_defined? :new +end + +assert('FalseClass superclass', '15.2.6.2') do + assert_equal Object, FalseClass.superclass end assert('FalseClass#&', '15.2.6.3.1') do diff --git a/test/t/unicode.rb b/test/t/unicode.rb index a8e8c0e14..7edd65ef2 100644 --- a/test/t/unicode.rb +++ b/test/t/unicode.rb @@ -33,28 +33,3 @@ assert('braced \u notation test') do assert_equal("\u{10000}", "\xF0\x90\x80\x80") assert_equal("\u{10FFFF}", "\xF4\x8F\xBF\xBF") end - -# Test regular expressions only if implemented -begin - Regexp - have_regexp = true -rescue NameError - have_regexp = false -end -if have_regexp then - assert('Testing \u in regular expressions') do - # The regular expression uses the unbraced notation where the string uses - # the braced notation, and vice versa, so these tests will fail if the \u - # modification is not applied - - # Test of unbraced \u notation in a regular expression - assert_false(/\u0300/ =~ "\u{02FF}") - assert_true( /\u0300/ =~ "\u{0300}") - assert_false(/\u0300/ =~ "\u{0301}") - - # Test of braced \u notation in a regular expression - assert_false(/\u{0300}/ =~ "\u02FF") - assert_true( /\u{0300}/ =~ "\u0300") - assert_false(/\u{0300}/ =~ "\u0301") - end -end |
