Search in sources :

Example 1 with Page

use of org.ballerinalang.docgen.model.Page in project ballerina by ballerina-lang.

the class HtmlDocTest method testAnonymousStructs.

@Test(description = "Tests whether anonymous structs are documented.")
public void testAnonymousStructs() {
    BLangPackage bLangPackage = createPackage("package x.y; " + "@Description { value:\"Represents a person\"}" + "@Field {value:\"id: The identification number\"}\n" + "@Field {value:\"address: The address of the person.\"}" + "public struct Person {" + "  string id;" + "  struct {" + "     string address1;" + "     string address2;" + "     string state = \"MN\";" + "  } address;" + "}");
    Page page = generatePage(bLangPackage);
    Assert.assertEquals(page.constructs.size(), 1);
    Assert.assertTrue(page.constructs.get(0) instanceof StructDoc, "Documentable of type StructDoc expected.");
    StructDoc personStructDoc = (StructDoc) page.constructs.get(0);
    Assert.assertEquals(personStructDoc.fields.size(), 2, "2 fields are expected.");
    Assert.assertEquals(personStructDoc.fields.get(0).name, "id", "Field \"id\" expected.");
    Assert.assertEquals(personStructDoc.fields.get(1).name, "address", "Field \"address\" expected.");
    Assert.assertEquals(personStructDoc.fields.get(1).description, "The address of the person.");
    Assert.assertEquals(personStructDoc.fields.get(1).dataType, "struct {string address1, string address2, string state}");
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) Page(org.ballerinalang.docgen.model.Page) StructDoc(org.ballerinalang.docgen.model.StructDoc) Test(org.testng.annotations.Test)

Example 2 with Page

use of org.ballerinalang.docgen.model.Page in project ballerina by ballerina-lang.

the class HtmlDocTest method testGlobalVariables.

@Test(description = "Annotation in a package should be shown in the constructs")
public void testGlobalVariables() throws Exception {
    BLangPackage bLangPackage = createPackage("package x.y; " + "public int total = 98;" + "public string content = \"Name\";");
    Page page = generatePage(bLangPackage);
    Assert.assertEquals(page.constructs.size(), 2);
    Assert.assertEquals(page.constructs.get(0).name, "total");
    Assert.assertEquals(page.constructs.get(1).name, "content");
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) Page(org.ballerinalang.docgen.model.Page) Test(org.testng.annotations.Test)

Example 3 with Page

use of org.ballerinalang.docgen.model.Page in project ballerina by ballerina-lang.

the class HtmlDocTest method testMultiPackage.

@Test(description = "Multiple packages should be shown even when one page is generated")
public void testMultiPackage() throws Exception {
    List<Link> packages = new ArrayList<>();
    packages.add(new Link(new PackageName("a.b.c", ""), "", false));
    packages.add(new Link(new PackageName("x.y", ""), "", false));
    packages.add(new Link(new PackageName("x.y.z", ""), "", false));
    BLangPackage bLangPackage = createPackage("package x.y;");
    Page page = Generator.generatePage(bLangPackage, packages);
    Assert.assertEquals(page.links.size(), 3);
    Assert.assertFalse(page.links.get(0).active);
    Assert.assertTrue(page.links.get(1).active);
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) PackageName(org.ballerinalang.docgen.model.PackageName) ArrayList(java.util.ArrayList) Page(org.ballerinalang.docgen.model.Page) Link(org.ballerinalang.docgen.model.Link) Test(org.testng.annotations.Test)

Example 4 with Page

use of org.ballerinalang.docgen.model.Page in project ballerina by ballerina-lang.

the class HtmlDocTest method testFunctionsWithoutStructBindings.

@Test(description = "One function without a struct bindings in a package should not be grouped together with the" + "structs shown in the constructs")
public void testFunctionsWithoutStructBindings() throws Exception {
    BLangPackage bLangPackage = createPackage("package x.y; " + "public function hello(){} " + "public struct Message { string message; int id;}");
    Page page = generatePage(bLangPackage);
    Assert.assertEquals(page.constructs.size(), 2);
    Assert.assertEquals(page.constructs.get(0).name, "Message");
    Assert.assertEquals(page.constructs.get(1).name, "hello");
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) Page(org.ballerinalang.docgen.model.Page) Test(org.testng.annotations.Test)

Example 5 with Page

use of org.ballerinalang.docgen.model.Page in project ballerina by ballerina-lang.

the class HtmlDocTest method testFunctionsWithStructBindings.

@Test(description = "One function with a struct bindings in a package should be grouped together shown in the " + "constructs")
public void testFunctionsWithStructBindings() throws Exception {
    BLangPackage bLangPackage = createPackage("package x.y; " + "public function <Message m>hello(){} " + "public struct Message { string message; int id;}");
    Page page = generatePage(bLangPackage);
    Assert.assertEquals(page.constructs.size(), 1);
    Assert.assertEquals(page.constructs.get(0).name, "Message");
    Assert.assertEquals(page.constructs.get(0).children.get(0).name, "hello");
}
Also used : BLangPackage(org.wso2.ballerinalang.compiler.tree.BLangPackage) Page(org.ballerinalang.docgen.model.Page) Test(org.testng.annotations.Test)

Aggregations

Page (org.ballerinalang.docgen.model.Page)20 Test (org.testng.annotations.Test)17 BLangPackage (org.wso2.ballerinalang.compiler.tree.BLangPackage)17 ArrayList (java.util.ArrayList)7 Link (org.ballerinalang.docgen.model.Link)5 PackageName (org.ballerinalang.docgen.model.PackageName)5 StaticCaption (org.ballerinalang.docgen.model.StaticCaption)5 StructDoc (org.ballerinalang.docgen.model.StructDoc)3 URL (java.net.URL)2 List (java.util.List)2 Documentable (org.ballerinalang.docgen.model.Documentable)2 FunctionDoc (org.ballerinalang.docgen.model.FunctionDoc)2 EnumNode (org.ballerinalang.model.tree.EnumNode)2 TypeNode (org.ballerinalang.model.tree.types.TypeNode)2 BLangAnnotation (org.wso2.ballerinalang.compiler.tree.BLangAnnotation)2 BLangConnector (org.wso2.ballerinalang.compiler.tree.BLangConnector)2 BLangFunction (org.wso2.ballerinalang.compiler.tree.BLangFunction)2 BLangStruct (org.wso2.ballerinalang.compiler.tree.BLangStruct)2 BLangVariable (org.wso2.ballerinalang.compiler.tree.BLangVariable)2 BLangUserDefinedType (org.wso2.ballerinalang.compiler.tree.types.BLangUserDefinedType)2