Commit f6e1305e authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Consider alternateClassNames when generating @since tags.

parent 3336ce2d
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -55,14 +55,17 @@ module JsDuck
    # classes/members.
    def generate_since_tags(versions, relations)
      relations.each do |cls|
        cls[:meta][:since] = available_since(versions, cls[:name])
        cls[:meta][:since] = available_since(versions, cls)
      end
    end

    # Returns name of the version since which the class is available
    def available_since(versions, class_name)
    def available_since(versions, cls)
      versions.each do |ver|
        return ver[:version] if ver[:classes][class_name]
        return ver[:version] if ver[:classes][cls[:name]]
        cls[:alternateClassNames].each do |name|
          return ver[:version] if ver[:classes][name]
        end
      end
    end

+9 −3
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ describe "JsDuck::OldVersions#generate_since_tags" do
        :version => "2.0", :classes => {
          "VeryOldClass" => {},
          "OldClass" => {},
          "ClassWithOldName" => {},
        },
      },
      {
@@ -20,9 +21,10 @@ describe "JsDuck::OldVersions#generate_since_tags" do
      }
    ]
    @relations = [
      {:name => "VeryOldClass", :meta => {}},
      {:name => "OldClass", :meta => {}},
      {:name => "NewClass", :meta => {}},
      {:name => "VeryOldClass", :meta => {}, :alternateClassNames => []},
      {:name => "OldClass", :meta => {}, :alternateClassNames => []},
      {:name => "NewClass", :meta => {}, :alternateClassNames => []},
      {:name => "ClassWithNewName", :meta => {}, :alternateClassNames => ["ClassWithOldName"]},
    ]
    JsDuck::OldVersions.generate_since_tags(@versions, @relations)
  end
@@ -39,4 +41,8 @@ describe "JsDuck::OldVersions#generate_since_tags" do
    @relations[2][:meta][:since].should == "3.0"
  end

  it "adds @since 2.0 to ClassWithNewName" do
    @relations[3][:meta][:since].should == "2.0"
  end

end