// 3rd_party_lib:commonmark4cj/build/release/commonmark4cj
// 3rd_party_lib_ohos:commonmark4cj/build/aarch64-linux-ohos/commonmark4cj
// dependence: z_test.cj
import commonmark4cj.commonmark.*
import std.unittest.*
import std.unittest.testmacro.*
import std.io.*
import std.collection.*
@Test
public class TestParser {
@TestCase
func test_parser_parse(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("\n123")
writer.write("456")
writer.write("a")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString()," 123456a :\n")
}
@TestCase
func test_parser_parse1(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("\n倉頡")
writer.write("456")
writer.write("a")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString()," 倉頡456a :\n")
}
@TestCase
func test_parser_parse2(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("③♡→←\\n倉頡")
writer.write("____")
writer.write("a")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString(),"③♡→←\\n倉頡____a :\n")
}
@TestCase
func test_parser_parse3(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("~~~~")
writer.write("____")
writer.write("a")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString(),"~~~~____a :\n")
}
@TestCase
func test_parser_parse4(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("")
writer.write(" ")
writer.write("a")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString()," a :\n")
}
@TestCase
func test_parser_parse5(): Unit {
var stringbuilder=StringBuilder()
var writer: TextContentWriter = TextContentWriter(stringbuilder)
writer.writeStripped("")
writer.write(" ")
writer.write("")
writer.whitespace()
writer.colon()
writer.colon()
writer.line()
@Assert(stringbuilder.toString()," :\n")
}
@TestCase
public func htmlAllowingShouldNotEscapeInlineHtml06(): Unit {
var map = HashMap<String, String>([("", "")])
let stringBuilder = StringBuilder()
let html = HtmlWriter(stringBuilder)
html.raw("__")
html.text("~~")
html.tag("##")
html.tag("__", map)
html.tag("", map, true)
html.line()
@Assert(stringBuilder.toString().toRuneArray().size,25)
}
@TestCase
public func Escaping01(): Unit {
let stringBuilder = Escaping.escapeHtml("")
@Assert(stringBuilder,"")
@Assert(Escaping.unescapeString(""),"")
@Assert(Escaping.percentEncodeUrl(""),"")
}
@TestCase
public func Escaping02(): Unit {
let stringBuilder = Escaping.escapeHtml("CANGJIE")
@Assert(stringBuilder,"CANGJIE")
@Assert(Escaping.unescapeString("CANGJIE"),"CANGJIE")
@Assert(Escaping.percentEncodeUrl("CANGJIE"),"CANGJIE")
}
@TestCase
public func Escaping03(): Unit {
let stringBuilder = Escaping.escapeHtml("倉頡")
@Assert(stringBuilder,"倉頡")
@Assert(Escaping.unescapeString("倉頡"),"倉頡")
@Assert(Escaping.percentEncodeUrl("倉頡"),"%E5%80%89%E9%A0%A1")
}
@TestCase
public func Escaping04(): Unit {
let stringBuilder = Escaping.escapeHtml("倉頡cangjie123")
@Assert(stringBuilder,"倉頡cangjie123")
@Assert(Escaping.unescapeString("倉頡cangjie123"),"倉頡cangjie123")
@Assert(Escaping.percentEncodeUrl("倉頡cangjie123"),"%E5%80%89%E9%A0%A1cangjie123")
}
@TestCase
public func Escaping05(): Unit {
let stringBuilder = Escaping.escapeHtml(",。;‘;、")
@Assert(stringBuilder,",。;‘;、")
@Assert(Escaping.unescapeString(",。;‘;、"),",。;‘;、")
@Assert(Escaping.percentEncodeUrl(",。;‘;、"),"%EF%BC%8C%E3%80%82%EF%BC%9B%E2%80%98%EF%BC%9B%E3%80%81")
}
@TestCase
public func Escaping06(): Unit {
let stringBuilder = Escaping.escapeHtml("https://blog.csdn.net/m0_67038390/article/details/124955381")
@Assert(stringBuilder,"https://blog.csdn.net/m0_67038390/article/details/124955381")
@Assert(Escaping.unescapeString("https://blog.csdn.net/m0_67038390/article/details/124955381"),"https://blog.csdn.net/m0_67038390/article/details/124955381")
@Assert(Escaping.percentEncodeUrl("https://blog.csdn.net/m0_67038390/article/details/124955381"),"https://blog.csdn.net/m0_67038390/article/details/124955381")
}
@TestCase
public func Escaping07(): Unit {
let stringBuilder = Escaping.escapeHtml(",倉。;‘傑;、")
@Assert(stringBuilder,",倉。;‘傑;、")
@Assert(Escaping.unescapeString(",倉。;‘傑;、"),",倉。;‘傑;、")
@Assert(Escaping.percentEncodeUrl(",倉。;‘傑;、"),"%EF%BC%8C%E5%80%89%E3%80%82%EF%BC%9B%E2%80%98%E5%82%91%EF%BC%9B%E3%80%81")
}
}