summaryrefslogtreecommitdiffhomepage
path: root/spec
diff options
context:
space:
mode:
authorSeba Gamboa <[email protected]>2015-09-24 15:27:31 -0300
committerSeba Gamboa <[email protected]>2015-09-24 15:27:31 -0300
commitcc49ade5e7029e4d8d8d62b7c09590042b43d65d (patch)
tree370d836801a48940e41d756171111fd1dcbb22aa /spec
parent25ce0e81e111915551751dfaa23c4b53ec32afaf (diff)
downloadyard-mruby-cc49ade5e7029e4d8d8d62b7c09590042b43d65d.tar.gz
yard-mruby-cc49ade5e7029e4d8d8d62b7c09590042b43d65d.zip
Registering function objects
Diffstat (limited to 'spec')
-rw-r--r--spec/handlers/header/function_handler_spec.rb10
-rw-r--r--spec/handlers/header/spec_helper.rb21
2 files changed, 31 insertions, 0 deletions
diff --git a/spec/handlers/header/function_handler_spec.rb b/spec/handlers/header/function_handler_spec.rb
new file mode 100644
index 0000000..8ad5334
--- /dev/null
+++ b/spec/handlers/header/function_handler_spec.rb
@@ -0,0 +1,10 @@
+require_relative 'spec_helper'
+
+describe YARD::MRuby::Handlers::Header::FunctionHandler do
+ it "should register functions" do
+ header_line <<-eof
+ MRB_API void mrb_foo( void );
+ eof
+ expect(Registry.at('mrb_foo')).not_to be_nil
+ end
+end
diff --git a/spec/handlers/header/spec_helper.rb b/spec/handlers/header/spec_helper.rb
new file mode 100644
index 0000000..da2b74f
--- /dev/null
+++ b/spec/handlers/header/spec_helper.rb
@@ -0,0 +1,21 @@
+
+require_relative '../spec_helper'
+
+def header(src, file = 'stdin.h')
+ YARD::Registry.clear
+ parser = YARD::Parser::SourceParser.new(:header)
+ parser.file = file
+ parser.parse(StringIO.new(src))
+end
+
+def header_line(src)
+ header <<-EOF
+ #include "mruby.h"
+ #ifndef HEADER_H
+ #define HEADER_H
+ MRB_BEGIN_DECL
+ #{src}
+ MRB_END_DECL
+ #endif
+ EOF
+end