blob: 9220dc69745087a074a7ef1b60b90183d569a0e9 [file] [log] [blame] [edit]
// RUN: rm -rf %t && mkdir -p %t/docs %t/build
// RUN: sed 's|$test_dir|%/S|g' %S/Inputs/basic-project/database_template.json > %t/build/compile_commands.json
// RUN: clang-doc --format=md --output=%t/docs --executor=all-TUs %t/build/compile_commands.json
// RUN: FileCheck %s -input-file=%t/docs/all_files.md -check-prefixes=MD-ALL-FILES
// RUN: FileCheck %s -input-file=%t/docs/index.md -check-prefixes=MD-INDEX
// RUN: FileCheck %s -input-file=%t/docs/GlobalNamespace/Shape.md -check-prefixes=MD-SHAPE
// RUN: FileCheck %s -input-file=%t/docs/GlobalNamespace/Calculator.md -check-prefixes=MD-CALC
// RUN: FileCheck %s -input-file=%t/docs/GlobalNamespace/Rectangle.md -check-prefixes=MD-RECTANGLE
// RUN: FileCheck %s -input-file=%t/docs/GlobalNamespace/Circle.md -check-prefixes=MD-CIRCLE
// JSON-INDEX: async function LoadIndex() {
// JSON-INDEX-NEXT: return{
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "",
// JSON-INDEX-NEXT: "RefType": "default",
// JSON-INDEX-NEXT: "Path": "",
// JSON-INDEX-NEXT: "Children": [
// JSON-INDEX-NEXT: {
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "GlobalNamespace",
// JSON-INDEX-NEXT: "RefType": "namespace",
// JSON-INDEX-NEXT: "Path": "GlobalNamespace",
// JSON-INDEX-NEXT: "Children": [
// JSON-INDEX-NEXT: {
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "Calculator",
// JSON-INDEX-NEXT: "RefType": "record",
// JSON-INDEX-NEXT: "Path": "GlobalNamespace",
// JSON-INDEX-NEXT: "Children": []
// JSON-INDEX-NEXT: },
// JSON-INDEX-NEXT: {
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "Circle",
// JSON-INDEX-NEXT: "RefType": "record",
// JSON-INDEX-NEXT: "Path": "GlobalNamespace",
// JSON-INDEX-NEXT: "Children": []
// JSON-INDEX-NEXT: },
// JSON-INDEX-NEXT: {
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "Rectangle",
// JSON-INDEX-NEXT: "RefType": "record",
// JSON-INDEX-NEXT: "Path": "GlobalNamespace",
// JSON-INDEX-NEXT: "Children": []
// JSON-INDEX-NEXT: },
// JSON-INDEX-NEXT: {
// JSON-INDEX-NEXT: "USR": "{{([0-9A-F]{40})}}",
// JSON-INDEX-NEXT: "Name": "Shape",
// JSON-INDEX-NEXT: "RefType": "record",
// JSON-INDEX-NEXT: "Path": "GlobalNamespace",
// JSON-INDEX-NEXT: "Children": []
// JSON-INDEX-NEXT: }
// JSON-INDEX-NEXT: ]
// JSON-INDEX-NEXT: }
// JSON-INDEX-NEXT: ]
// JSON-INDEX-NEXT: };
// JSON-INDEX-NEXT: }
// MD-CALC: # class Calculator
// MD-CALC: *Defined at .{{[\/]}}include{{[\/]}}Calculator.h#8*
// MD-CALC: **brief** A simple calculator class.
// MD-CALC: Provides basic arithmetic operations.
// MD-CALC: ## Members
// MD-CALC: public int public_val
// MD-CALC: public static const int static_val
// MD-CALC: ## Functions
// MD-CALC: ### add
// MD-CALC: *public int add(int a, int b)*
// MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#3*
// MD-CALC: **brief** Adds two integers.
// MD-CALC: **a** First integer.
// MD-CALC: **b** Second integer.
// MD-CALC: **return** int The sum of a and b.
// MD-CALC: ### subtract
// MD-CALC: *public int subtract(int a, int b)*
// MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#7*
// MD-CALC: **brief** Subtracts the second integer from the first.
// MD-CALC: **a** First integer.
// MD-CALC: **b** Second integer.
// MD-CALC: **return** int The result of a - b.
// MD-CALC: ### multiply
// MD-CALC: *public int multiply(int a, int b)*
// MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#11*
// MD-CALC: **brief** Multiplies two integers.
// MD-CALC: **a** First integer.
// MD-CALC: **b** Second integer.
// MD-CALC: **return** int The product of a and b.
// MD-CALC: ### divide
// MD-CALC: *public double divide(int a, int b)*
// MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#15*
// MD-CALC: **brief** Divides the first integer by the second.
// MD-CALC: **a** First integer.
// MD-CALC: **b** Second integer.
// MD-CALC: **return** double The result of a / b.
// MD-CALC: **throw**if b is zero.
// MD-CALC: ### mod
// MD-CALC: *public static int mod(int a, int b)*
// MD-CALC: *Defined at ./include{{[\/]}}Calculator.h#54*
// MD-CALC: **brief** Performs the mod operation on integers.
// MD-CALC: **a** First integer.
// MD-CALC: **b** Second integer.
// MD-CALC: **return** The result of a % b.
// MD-CIRCLE: # class Circle
// MD-CIRCLE: *Defined at .{{[\/]}}include{{[\/]}}Circle.h#10*
// MD-CIRCLE: **brief** Circle class derived from Shape.
// MD-CIRCLE: Represents a circle with a given radius.
// MD-CIRCLE: Inherits from Shape
// MD-CIRCLE: ## Members
// MD-CIRCLE: private double radius_
// MD-CIRCLE: ## Functions
// MD-CIRCLE: ### Circle
// MD-CIRCLE: *public void Circle(double radius)*
// MD-CIRCLE: *Defined at .{{[\/]}}src{{[\/]}}Circle.cpp#3*
// MD-CIRCLE: **brief** Constructs a new Circle object.
// MD-CIRCLE: **radius** Radius of the circle.
// MD-CIRCLE: ### area
// MD-CIRCLE: *public double area()*
// MD-CIRCLE: *Defined at .{{[\/]}}src{{[\/]}}Circle.cpp#5*
// MD-CIRCLE: **brief** Calculates the area of the circle.
// MD-CIRCLE: **return** double The area of the circle.
// MD-CIRCLE: ### perimeter
// MD-CIRCLE: *public double perimeter()*
// MD-CIRCLE: *Defined at .{{[\/]}}src{{[\/]}}Circle.cpp#9*
// MD-CIRCLE: **brief** Calculates the perimeter of the circle.
// MD-CIRCLE: **return** double The perimeter of the circle.
// MD-RECTANGLE: # class Rectangle
// MD-RECTANGLE: *Defined at .{{[\/]}}include{{[\/]}}Rectangle.h#10*
// MD-RECTANGLE: **brief** Rectangle class derived from Shape.
// MD-RECTANGLE: Represents a rectangle with a given width and height.
// MD-RECTANGLE: Inherits from Shape
// MD-RECTANGLE: ## Members
// MD-RECTANGLE: private double width_
// MD-RECTANGLE: private double height_
// MD-RECTANGLE: ## Functions
// MD-RECTANGLE: ### Rectangle
// MD-RECTANGLE: *public void Rectangle(double width, double height)*
// MD-RECTANGLE: *Defined at .{{[\/]}}src{{[\/]}}Rectangle.cpp#3*
// MD-RECTANGLE: **brief** Constructs a new Rectangle object.
// MD-RECTANGLE: **width** Width of the rectangle.
// MD-RECTANGLE: **height** Height of the rectangle.
// MD-RECTANGLE: ### area
// MD-RECTANGLE: *public double area()*
// MD-RECTANGLE: *Defined at .{{[\/]}}src{{[\/]}}Rectangle.cpp#6*
// MD-RECTANGLE: **brief** Calculates the area of the rectangle.
// MD-RECTANGLE: **return** double The area of the rectangle.
// MD-RECTANGLE: ### perimeter
// MD-RECTANGLE: *public double perimeter()*
// MD-RECTANGLE: *Defined at .{{[\/]}}src{{[\/]}}Rectangle.cpp#10*
// MD-RECTANGLE: **brief** Calculates the perimeter of the rectangle.
// MD-RECTANGLE: **return** double The perimeter of the rectangle.
// MD-SHAPE: # class Shape
// MD-SHAPE: *Defined at .{{[\/]}}include{{[\/]}}Shape.h#8*
// MD-SHAPE: **brief** Abstract base class for shapes.
// MD-SHAPE: Provides a common interface for different types of shapes.
// MD-SHAPE: ## Functions
// MD-SHAPE: ### area
// MD-SHAPE: *public double area()*
// MD-SHAPE: **brief** Calculates the area of the shape.
// MD-SHAPE: **return** double The area of the shape.
// MD-SHAPE: ### perimeter
// MD-SHAPE: *public double perimeter()*
// MD-SHAPE: **brief** Calculates the perimeter of the shape.
// MD-SHAPE: **return** double The perimeter of the shape.
// MD-SHAPE: ### ~Shape
// MD-SHAPE: *public void ~Shape()*
// MD-SHAPE: *Defined at .{{[\/]}}include{{[\/]}}Shape.h#13*
// MD-SHAPE: **brief** Virtual destructor.
// MD-ALL-FILES: # All Files
// MD-ALL-FILES: ## [GlobalNamespace](GlobalNamespace{{[\/]}}index.md)
// MD-INDEX: # C/C++ Reference
// MD-INDEX: * Namespace: [GlobalNamespace](GlobalNamespace)