// 3rd_party_lib:commonmark4cj/build/release/commonmark4cj
// 3rd_party_lib_ohos:commonmark4cj/build/aarch64-linux-ohos/commonmark4cj
import commonmark4cj.commonmark.*
import commonmark4cj.strikethrough.*
import commonmark4cj.table.*
import std.unittest.*
import std.unittest.testmacro.*
import std.io.*
import std.collection.*
import std.reflect.{TypeInfo}
import std.unicode.*
import std.fs.*
@Test
public class TestStrikethroughParser {
@TestCase
func test_strikethrough_parser(): Unit {
let text = htmlRender("~foo~")
@Assert("<p>~foo~</p>\n", text)
}
@TestCase
func test_strikethrough_parser2(): Unit {
let text = textContentRender("~~foo~~")
@Assert("/foo/", text)
}
@TestCase
func test_strikethrough_parser3(): Unit {
let text = htmlRender("")
@Assert("", text)
}
@TestCase
func test_strikethrough_parser4(): Unit {
let text = htmlRender(" ")
@Assert("", text)
}
@TestCase
func test_strikethrough_parser5(): Unit {
let text = textContentRender("")
@Assert("", text)
}
@TestCase
func test_strikethrough_parser6(): Unit {
let text = textContentRender(" ")
@Assert("", text)
}
@TestCase
func test_strikethrough_init1(): Unit {
var strikethrough = Strikethrough("~~")
@Assert(strikethrough.getOpeningDelimiter().getOrThrow(),"~~")
@Assert(strikethrough.getClosingDelimiter().getOrThrow(),"~~")
}
}
func htmlRender(source: String): String {
let EXTENSIONS: Iterable<Extension> = ArrayList<Extension>([StrikethroughExtension.create()])
let PARSER: Parser = Parser.builder().extensions(EXTENSIONS).build()
let HTML_RENDERER: HtmlRenderer = HtmlRenderer.builder().extensions(EXTENSIONS).build()
return HTML_RENDERER.render(PARSER.parse(source))
}
func textContentRender(source: String): String {
let EXTENSIONS: Iterable<Extension> = ArrayList<Extension>([StrikethroughExtension.create()])
let PARSER: Parser = Parser.builder().extensions(EXTENSIONS).build()
let CONTENT_RENDERER: TextContentRenderer = TextContentRenderer.builder().extensions(EXTENSIONS).build()
return CONTENT_RENDERER.render(PARSER.parse(source))
}