Loading lib/jsduck/inline/link.rb +2 −2 Original line number Diff line number Diff line Loading @@ -142,11 +142,11 @@ module JsDuck # Generates regex for auto-linking class and member names in text. def magic_link_re ident_re = "(?:[A-Za-z][A-Za-z0-9]*)" ident_re = "(?:[A-Za-z_$][A-Za-z0-9_$]*)" cls_re = "(#{ident_re}(?:\\.#{ident_re})*)" ns_cls_re = "(#{ident_re}(?:\\.#{ident_re})+)" member_re = "(?:#(#{ident_re}))" /\b#{cls_re}#{member_re}\b|\b#{ns_cls_re}\b|#{member_re}\b/m /#{cls_re}#{member_re}|#{ns_cls_re}|#{member_re}/m end def replace_magic_link(cls, member) Loading spec/doc_formatter_spec.rb +22 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,18 @@ describe JsDuck::DocFormatter do {:tagname => :method, :name => "blah", :id => "method-blah"}, ] }), JsDuck::Class.new({ :name => "_us.In_Cls_Name", :members => [ {:tagname => :method, :name => "_sss", :id => "method-_sss"}, ] }), JsDuck::Class.new({ :name => "$Class", :members => [ {:tagname => :method, :name => "$sss", :id => "method-S-sss"}, ] }), ]) end Loading Loading @@ -223,6 +235,11 @@ describe JsDuck::DocFormatter do 'Look at <a href="downcase.ClassName">downcase.ClassName</a>' end it "converts classname with underscores to class link" do @formatter.replace("Look at _us.In_Cls_Name").should == 'Look at <a href="_us.In_Cls_Name">_us.In_Cls_Name</a>' end it "converts ClassName ending with dot to class link" do @formatter.replace("Look at Foo.Bar.").should == 'Look at <a href="Foo.Bar">Foo.Bar</a>.' Loading Loading @@ -255,6 +272,11 @@ describe JsDuck::DocFormatter do 'Look at <a href="downcase.ClassName#method-blah">downcase.ClassName.blah</a>' end it 'converts $Class#$sss to method link' do @formatter.replace('Look at $Class#$sss').should == 'Look at <a href="$Class#method-S-sss">$Class.$sss</a>' end it "converts Ext.encode to method link" do @formatter.replace("Look at Ext.encode").should == 'Look at <a href="Ext#method-encode">Ext.encode</a>' Loading Loading
lib/jsduck/inline/link.rb +2 −2 Original line number Diff line number Diff line Loading @@ -142,11 +142,11 @@ module JsDuck # Generates regex for auto-linking class and member names in text. def magic_link_re ident_re = "(?:[A-Za-z][A-Za-z0-9]*)" ident_re = "(?:[A-Za-z_$][A-Za-z0-9_$]*)" cls_re = "(#{ident_re}(?:\\.#{ident_re})*)" ns_cls_re = "(#{ident_re}(?:\\.#{ident_re})+)" member_re = "(?:#(#{ident_re}))" /\b#{cls_re}#{member_re}\b|\b#{ns_cls_re}\b|#{member_re}\b/m /#{cls_re}#{member_re}|#{ns_cls_re}|#{member_re}/m end def replace_magic_link(cls, member) Loading
spec/doc_formatter_spec.rb +22 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,18 @@ describe JsDuck::DocFormatter do {:tagname => :method, :name => "blah", :id => "method-blah"}, ] }), JsDuck::Class.new({ :name => "_us.In_Cls_Name", :members => [ {:tagname => :method, :name => "_sss", :id => "method-_sss"}, ] }), JsDuck::Class.new({ :name => "$Class", :members => [ {:tagname => :method, :name => "$sss", :id => "method-S-sss"}, ] }), ]) end Loading Loading @@ -223,6 +235,11 @@ describe JsDuck::DocFormatter do 'Look at <a href="downcase.ClassName">downcase.ClassName</a>' end it "converts classname with underscores to class link" do @formatter.replace("Look at _us.In_Cls_Name").should == 'Look at <a href="_us.In_Cls_Name">_us.In_Cls_Name</a>' end it "converts ClassName ending with dot to class link" do @formatter.replace("Look at Foo.Bar.").should == 'Look at <a href="Foo.Bar">Foo.Bar</a>.' Loading Loading @@ -255,6 +272,11 @@ describe JsDuck::DocFormatter do 'Look at <a href="downcase.ClassName#method-blah">downcase.ClassName.blah</a>' end it 'converts $Class#$sss to method link' do @formatter.replace('Look at $Class#$sss').should == 'Look at <a href="$Class#method-S-sss">$Class.$sss</a>' end it "converts Ext.encode to method link" do @formatter.replace("Look at Ext.encode").should == 'Look at <a href="Ext#method-encode">Ext.encode</a>' Loading