Loading lib/jsduck/inherit_doc.rb +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module JsDuck if m[:autodetected] m[:meta] = parent[:meta].merge(m[:meta]) m[:type] = parent[:type] if parent[:type] end # remember properties that have changed to configs Loading spec/aggregator_inheritdoc_spec.rb +31 −1 Original line number Diff line number Diff line Loading @@ -725,6 +725,37 @@ describe JsDuck::Aggregator do end end describe "autoinherit of property with type explicitly defined in parent class" do before do @docs = parse(<<-EOF) /** */ Ext.define("Parent", { /** * @property {String/Number} */ foo: 5, bar: 42 }); /** */ Ext.define("Child", { extend: "Parent", foo: 10, bar: true }); EOF @cls = @docs["Child"] @members = @cls[:members] end it "keeps the type from public parent" do @members[0][:type].should == "String/Number" end it "overrides the type from private parent" do @members[1][:type].should == "Boolean" end end describe "instance members autoinherit with parent containing statics" do before do @docs = parse(<<-EOF) Loading Loading @@ -789,4 +820,3 @@ describe JsDuck::Aggregator do end end end Loading
lib/jsduck/inherit_doc.rb +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module JsDuck if m[:autodetected] m[:meta] = parent[:meta].merge(m[:meta]) m[:type] = parent[:type] if parent[:type] end # remember properties that have changed to configs Loading
spec/aggregator_inheritdoc_spec.rb +31 −1 Original line number Diff line number Diff line Loading @@ -725,6 +725,37 @@ describe JsDuck::Aggregator do end end describe "autoinherit of property with type explicitly defined in parent class" do before do @docs = parse(<<-EOF) /** */ Ext.define("Parent", { /** * @property {String/Number} */ foo: 5, bar: 42 }); /** */ Ext.define("Child", { extend: "Parent", foo: 10, bar: true }); EOF @cls = @docs["Child"] @members = @cls[:members] end it "keeps the type from public parent" do @members[0][:type].should == "String/Number" end it "overrides the type from private parent" do @members[1][:type].should == "Boolean" end end describe "instance members autoinherit with parent containing statics" do before do @docs = parse(<<-EOF) Loading Loading @@ -789,4 +820,3 @@ describe JsDuck::Aggregator do end end end