From a5373fe03fdc2bda7317e96851e70525a5f37150 Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Mon, 6 Aug 2012 15:04:28 +0300 Subject: [PATCH] Change owner of member when applying override. --- lib/jsduck/override.rb | 1 + spec/aggregator_overrides_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lib/jsduck/override.rb b/lib/jsduck/override.rb index 385e053d..18e67330 100644 --- a/lib/jsduck/override.rb +++ b/lib/jsduck/override.rb @@ -60,6 +60,7 @@ module JsDuck else add_member(target, m) add_doc(m, "**Defined in override #{override[:name]}.**") + m[:owner] = target[:name] end end end diff --git a/spec/aggregator_overrides_spec.rb b/spec/aggregator_overrides_spec.rb index a143a420..39c48a73 100644 --- a/spec/aggregator_overrides_spec.rb +++ b/spec/aggregator_overrides_spec.rb @@ -148,6 +148,10 @@ describe JsDuck::Aggregator do methods["bar"][:doc].should == "Bar comment.\n\n**Defined in override FooOverride.**" end + it "changes owner of bar method to target class" do + methods["bar"][:owner].should == "Foo" + end + it "keeps the foobar method that's in both original and override" do methods["foobar"].should_not == nil end @@ -159,6 +163,10 @@ describe JsDuck::Aggregator do it "adds override source to list of files to overridden member" do methods["foobar"][:files].length.should == 2 end + + it "keeps owner of foobar method to be the original class" do + methods["foobar"][:owner].should == "Foo" + end end describe "comment-less @override for a class" do -- GitLab