diff options
| author | bluehavana <[email protected]> | 2017-01-21 21:34:55 -0800 |
|---|---|---|
| committer | bluehavana <[email protected]> | 2017-01-21 22:15:32 -0800 |
| commit | 42773d99a92696787c333b1db5b815ecad748c5d (patch) | |
| tree | ff2c0d91e5c35206a167dc51f26e3a72df4ba1e1 /spec | |
| parent | b27c45a15069d89f735450944133608bce1201db (diff) | |
| download | yard-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.rb | 10 | ||||
| -rw-r--r-- | spec/code_objects/spec_helper.rb | 1 | ||||
| -rw-r--r-- | spec/handlers/c/source/class_handler_spec.rb | 6 | ||||
| -rw-r--r-- | spec/handlers/c/source/module_handler_spec.rb | 6 |
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 |
