@Override public String render(EnumModel model, int index, int size, Map<String, Object> session) { StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); if (index == 0) { Util.generateLicense(writer); } else { writer.print("\n"); } writer.printf("export enum %s {\n", model.getType().getRaw().getSimpleName()); for (int i = 0; i < model.getValues().size(); i++) { EnumValueInfo value = model.getValues().get(i); writer.printf(" %s", value.getIdentifier()); if (i != model.getValues().size() - 1) { writer.print(","); } writer.print("\n"); } writer.print("}\n"); return sw.toString(); } }
private void render(EnumModel model, PrintWriter html) { html.append("[[").append(model.getType().getSimpleName()).append("]]\n"); html.append("== ").append(model.getType().getSimpleName()).append("\n"); html.append("\n"); Doc doc = model.getDoc(); if (doc != null) { html.append("++++\n"); Token.toHtml(doc.getTokens(), "", Tag::getName, "\n", html); html.append("++++\n"); html.append("'''\n"); } html.append("\n"); html.append("[cols=\">25%,75%\"]\n"); html.append("[frame=\"topbot\"]\n"); html.append("|===\n"); html.append("^|Name | Description\n"); model.getValues().forEach(value -> { html.append("|[[").append(value.getIdentifier()).append("]]`").append(value.getIdentifier()).append("`"); html.append("|"); if (value.getDoc() != null) { html.append("+++\n"); html.append(Token.toHtml(value.getDoc().getTokens(), "", Tag::getName, "\n").trim()).append("\n"); html.append("+++\n"); } else { html.append("-\n"); } }); html.append("|===\n"); } }
@Test public void testEnumDeprecated() throws Exception { EnumModel model = generator.generateEnum(DeprecatedEnum.class); assertTrue(model.isDeprecated()); assertEquals(model.getVars().get("deprecated"), true); assertNotNull(model.getDeprecatedDesc()); assertEquals(model.getDeprecatedDesc().getValue(), "deprecated info"); assertTrue(model.getValues().get(0).isDeprecated()); assertNotNull(model.getValues().get(0).getDeprecatedDesc()); assertEquals(model.getValues().get(0).getDeprecatedDesc().getValue(), "enum item deprecated info"); assertFalse(model.getValues().get(1).isDeprecated()); }
@Test public void testEnum() throws Exception { EnumModel model = new GeneratorHelper().generateEnum(ValidEnum.class); assertEquals(Arrays.asList("RED", "GREEN", "BLUE"), model.getValues().stream(). map(EnumValueInfo::getIdentifier). collect(Collectors.toList())); assertEquals(Arrays.asList("RED doc", "GREEN doc", "BLUE doc"), model.getValues().stream(). map(e -> e.getDoc().toString()). collect(Collectors.toList())); assertEquals("enum", model.getKind()); assertEquals("ValidEnum doc", model.getDoc().toString()); assertEquals(ValidEnum.class.getName(), model.getFqn()); assertEquals("dummy", model.getModule().getName()); assertTrue(model.getType().isGen()); }