diff --git a/clang-tools-extra/test/clang-doc/enum.cpp b/clang-tools-extra/test/clang-doc/enum.cpp new file mode 100644 index 00000000000000..e559940a31de69 --- /dev/null +++ b/clang-tools-extra/test/clang-doc/enum.cpp @@ -0,0 +1,132 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %s +// RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX-LINE +// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX +// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL-LINE +// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL +// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES-LINE +// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES +// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX-LINE +// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX +// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL-LINE +// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL +// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE +// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES + + +/** + * @brief For specifying RGB colors + */ +enum Color { +// MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* +// HTML-INDEX-LINE:

Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

+ Red, ///< Red + Green, ///< Green + Blue ///< Blue +}; + +// MD-INDEX: ## Enums +// MD-INDEX: | enum Color | +// MD-INDEX: -- +// MD-INDEX: | Red | +// MD-INDEX: | Green | +// MD-INDEX: | Blue | +// MD-INDEX: **brief** For specifying RGB colors + +// HTML-INDEX:

Enums

+// HTML-INDEX:

enum Color

+// HTML-INDEX:
  • Red
  • +// HTML-INDEX:
  • Green
  • +// HTML-INDEX:
  • Blue
  • + +/** + * @brief Shape Types + */ +enum class Shapes { +// MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* +// HTML-INDEX-LINE:

    Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

    + /// Circle + Circle, + /// Rectangle + Rectangle, + /// Triangle + Triangle +}; +// MD-INDEX: | enum class Shapes | +// MD-INDEX: -- +// MD-INDEX: | Circle | +// MD-INDEX: | Rectangle | +// MD-INDEX: | Triangle | +// MD-INDEX: **brief** Shape Types + +// HTML-INDEX:

    enum class Shapes

    +// HTML-INDEX:
  • Circle
  • +// HTML-INDEX:
  • Rectangle
  • +// HTML-INDEX:
  • Triangle
  • + + +class Animals { +// MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* +// HTML-ANIMAL-LINE:

    Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

    +public: + /** + * @brief specify what animal the class is + */ + enum AnimalType { +// MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* +// HTML-ANIMAL-LINE:

    Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

    + Dog, /// Man's best friend + Cat, /// Man's other best friend + Iguana /// A lizard + }; +}; + +// HTML-ANIMAL:

    class Animals

    +// HTML-ANIMAL:

    Enums

    +// HTML-ANIMAL:

    enum AnimalType

    +// HTML-ANIMAL:
  • Dog
  • +// HTML-ANIMAL:
  • Cat
  • +// HTML-ANIMAL:
  • Iguana
  • + +// MD-ANIMAL: # class Animals +// MD-ANIMAL: ## Enums +// MD-ANIMAL: | enum AnimalType | +// MD-ANIMAL: -- +// MD-ANIMAL: | Dog | +// MD-ANIMAL: | Cat | +// MD-ANIMAL: | Iguana | +// MD-ANIMAL: **brief** specify what animal the class is + + +namespace Vehicles { + /** + * @brief specify type of car + */ + enum Car { +// MD-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]* +// HTML-VEHICLES-LINE:

    Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp

    + Sedan, /// Sedan + SUV, /// SUV + Pickup, /// Pickup + Hatchback /// Hatchback + }; +} + +// MD-VEHICLES: # namespace Vehicles +// MD-VEHICLES: ## Enums +// MD-VEHICLES: | enum Car | +// MD-VEHICLES: -- +// MD-VEHICLES: | Sedan | +// MD-VEHICLES: | SUV | +// MD-VEHICLES: | Pickup | +// MD-VEHICLES: | Hatchback | +// MD-VEHICLES: **brief** specify type of car + +// HTML-VEHICLES:

    namespace Vehicles

    +// HTML-VEHICLES:

    Enums

    +// HTML-VEHICLES:

    enum Car

    +// HTML-VEHICLES:
  • Sedan
  • +// HTML-VEHICLES:
  • SUV
  • +// HTML-VEHICLES:
  • Pickup
  • +// HTML-VEHICLES:
  • Hatchback
  • \ No newline at end of file