aboutsummaryrefslogtreecommitdiffstats
path: root/test/rdoc/test_rdoc_parser_c.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_rdoc_parser_c.rb')
-rw-r--r--test/rdoc/test_rdoc_parser_c.rb33
1 files changed, 32 insertions, 1 deletions
diff --git a/test/rdoc/test_rdoc_parser_c.rb b/test/rdoc/test_rdoc_parser_c.rb
index 6a3a92001a..9649933fd0 100644
--- a/test/rdoc/test_rdoc_parser_c.rb
+++ b/test/rdoc/test_rdoc_parser_c.rb
@@ -680,7 +680,7 @@ Init_Foo(void) {
baz = methods.last
assert_equal 'Foo#baz', baz.full_name
- assert_equal "a comment for bar", bar.comment
+ assert_equal "a comment for bar", baz.comment
end
def test_find_modifiers_call_seq
@@ -929,6 +929,37 @@ Init_IO(void) {
assert read_method.singleton
end
+ def test_define_method_with_prototype
+ content = <<-EOF
+static VALUE rb_io_s_read(int, VALUE*, VALUE);
+
+/* Method Comment! */
+static VALUE
+rb_io_s_read(argc, argv, io)
+ int argc;
+ VALUE *argv;
+ VALUE io;
+{
+}
+
+void
+Init_IO(void) {
+ /*
+ * a comment for class Foo on rb_define_class
+ */
+ VALUE rb_cIO = rb_define_class("IO", rb_cObject);
+ rb_define_singleton_method(rb_cIO, "read", rb_io_s_read, -1);
+}
+ EOF
+
+ klass = util_get_class content, 'rb_cIO'
+ read_method = klass.method_list.first
+ assert_equal "read", read_method.name
+ assert_equal "Method Comment! ", read_method.comment
+ assert_equal "rb_io_s_read", read_method.c_function
+ assert read_method.singleton
+ end
+
def test_define_method_private
content = <<-EOF
/*Method Comment! */