summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-objectspace/src/mruby_objectspace.c3
-rw-r--r--mrbgems/mruby-objectspace/test/objectspace.rb2
-rw-r--r--tasks/mrbgem_spec.rake1
-rw-r--r--test/t/false.rb10
-rw-r--r--test/t/unicode.rb25
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