summaryrefslogtreecommitdiffhomepage
path: root/spec
diff options
context:
space:
mode:
authorbluehavana <[email protected]>2017-01-21 21:34:55 -0800
committerbluehavana <[email protected]>2017-01-21 22:15:32 -0800
commit42773d99a92696787c333b1db5b815ecad748c5d (patch)
treeff2c0d91e5c35206a167dc51f26e3a72df4ba1e1 /spec
parentb27c45a15069d89f735450944133608bce1201db (diff)
downloadyard-mruby-42773d99a92696787c333b1db5b815ecad748c5d.tar.gz
yard-mruby-42773d99a92696787c333b1db5b815ecad748c5d.zip
Update to Yard >= 0.9.0
* Return a string from CodeObjects::HeaderObject#path A change in YARD::Serializers::FileSystemSerializer stopped calling `#to_s` on the the CodeObject passed, causing a NoMethodError for "+" missing Symbol (#path was just an alias to #name). Added minimal specs to cover only this case. * Fixed some handler specs dealing with namespaces. A bug in the Yard c handler allowed namespacing to be determined without a proper parent RClass. See lsegal/yard#912 * There were some breaking changes to templates.
Diffstat (limited to 'spec')
-rw-r--r--spec/code_objects/header_object_spec.rb10
-rw-r--r--spec/code_objects/spec_helper.rb1
-rw-r--r--spec/handlers/c/source/class_handler_spec.rb6
-rw-r--r--spec/handlers/c/source/module_handler_spec.rb6
4 files changed, 21 insertions, 2 deletions
diff --git a/spec/code_objects/header_object_spec.rb b/spec/code_objects/header_object_spec.rb
new file mode 100644
index 0000000..2e10a70
--- /dev/null
+++ b/spec/code_objects/header_object_spec.rb
@@ -0,0 +1,10 @@
+require_relative 'spec_helper'
+
+describe YARD::MRuby::CodeObjects::HeaderObject do
+ before { Registry.clear }
+
+ it "should return the name of the header for the path" do
+ header_object = YARD::MRuby::CodeObjects::HeaderObject.new(nil, :"mruby.h")
+ expect(header_object.path).to eq("mruby.h")
+ end
+end
diff --git a/spec/code_objects/spec_helper.rb b/spec/code_objects/spec_helper.rb
new file mode 100644
index 0000000..935238d
--- /dev/null
+++ b/spec/code_objects/spec_helper.rb
@@ -0,0 +1 @@
+require_relative '../spec_helper'
diff --git a/spec/handlers/c/source/class_handler_spec.rb b/spec/handlers/c/source/class_handler_spec.rb
index bfac3b6..ac97bc8 100644
--- a/spec/handlers/c/source/class_handler_spec.rb
+++ b/spec/handlers/c/source/class_handler_spec.rb
@@ -8,7 +8,11 @@ describe YARD::MRuby::Handlers::C::Source::ClassHandler do
end
it "should register classes under namespaces" do
- parse_init 'cFoo = mrb_define_class_under(mrb, cBar, "Foo", rb_cObject);'
+ parse_init(<<-eof)
+ cBar = mrb_define_class(mrb, "Bar", mrb->object_class);
+ cFoo = mrb_define_class_under(mrb, cBar, "Foo", rb_cObject);'
+ eof
+
expect(Registry.at('Bar::Foo').type).to be :class
end
diff --git a/spec/handlers/c/source/module_handler_spec.rb b/spec/handlers/c/source/module_handler_spec.rb
index fd08ae6..9641eb3 100644
--- a/spec/handlers/c/source/module_handler_spec.rb
+++ b/spec/handlers/c/source/module_handler_spec.rb
@@ -7,7 +7,11 @@ describe YARD::MRuby::Handlers::C::Source::ModuleHandler do
end
it "should register modules under namespaces" do
- parse_init 'mFoo = mrb_define_module_under(mrb, mBar, "Foo");'
+ parse_init(<<-eof)
+ cBar = mrb_define_module(mrb,"Bar");
+ cFoo = mrb_define_module_under(mrb, cBar, "Foo");
+ eof
+
expect(Registry.at('Bar::Foo').type).to be :module
end