Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 0 additions & 136 deletions spec/compiler/crystal/tools/doc/type_spec.cr
Original file line number Diff line number Diff line change
Expand Up @@ -212,140 +212,4 @@ describe Doc::Type do
type.macros.map(&.name).should eq ["+", "~", "foo"]
end
end

describe "#subclasses" do
it "only include types with docs" do
program = semantic(<<-CRYSTAL, wants_doc: true).program
class Foo
end

class Bar < Foo
end

# :nodoc:
class Baz < Foo
end

module Mod1
class Bar < ::Foo
end
end

# :nodoc:
module Mod2
class Baz < ::Foo
end
end
CRYSTAL

generator = Doc::Generator.new program, [""]
type = generator.type(program.types["Foo"])
type.subclasses.map(&.full_name).should eq ["Bar", "Mod1::Bar"]
end
end

describe "#ancestors" do
it "only include types with docs" do
program = semantic(<<-CRYSTAL, wants_doc: true).program
# :nodoc:
module Mod3
class Baz
end
end

class Mod2::Baz < Mod3::Baz
end

module Mod1
# :nodoc:
class Baz < Mod2::Baz
end
end

class Baz < Mod1::Baz
end

class Foo < Baz
end
CRYSTAL

generator = Doc::Generator.new program, [""]
type = generator.type(program.types["Foo"])
type.ancestors.map(&.full_name).should eq ["Baz", "Mod2::Baz"]
end
end

describe "#included_modules" do
it "only include types with docs" do
program = semantic(<<-CRYSTAL, wants_doc: true).program
# :nodoc:
module Mod3
module Baz
end
end

module Mod2
# :nodoc:
module Baz
end
end

module Mod1
module Baz
end
end

module Baz
end

class Foo
include Baz
include Mod1::Baz
include Mod2::Baz
include Mod3::Baz
end
CRYSTAL

generator = Doc::Generator.new program, [""]
type = generator.type(program.types["Foo"])
type.included_modules.map(&.full_name).should eq ["Baz", "Mod1::Baz"]
end
end

describe "#extended_modules" do
it "only include types with docs" do
program = semantic(<<-CRYSTAL, wants_doc: true).program
# :nodoc:
module Mod3
module Baz
end
end

module Mod2
# :nodoc:
module Baz
end
end

module Mod1
module Baz
end
end

module Baz
end

class Foo
extend Baz
extend Mod1::Baz
extend Mod2::Baz
extend Mod3::Baz
end
CRYSTAL

generator = Doc::Generator.new program, [""]
type = generator.type(program.types["Foo"])
type.extended_modules.map(&.full_name).should eq ["Baz", "Mod1::Baz"]
end
end
end
3 changes: 0 additions & 3 deletions src/compiler/crystal/tools/doc/type.cr
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ class Crystal::Doc::Type

unless ast_node?
@type.ancestors.each do |ancestor|
next unless @generator.must_include? ancestor
doc_type = @generator.type(ancestor)
ancestors << doc_type
break if ancestor == @generator.program.object || doc_type.ast_node?
Expand Down Expand Up @@ -259,7 +258,6 @@ class Crystal::Doc::Type
included_modules = [] of Type
@type.parents.try &.each do |parent|
if parent.module?
next unless @generator.must_include? parent
included_modules << @generator.type(parent)
end
end
Expand All @@ -274,7 +272,6 @@ class Crystal::Doc::Type
extended_modules = [] of Type
@type.metaclass.parents.try &.each do |parent|
if parent.module?
next unless @generator.must_include? parent
extended_modules << @generator.type(parent)
end
end
Expand Down