You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
921 B
21 lines
921 B
import com.utun.chat.data.MessageLinks |
|
import java.io.File |
|
|
|
/** Один набор адресов и границ для Qt и Android, включая UTF-16 после emoji. */ |
|
fun main(args: Array<String>) { |
|
var count = 0 |
|
File(args.single()).readLines().filter { it.isNotEmpty() && !it.startsWith("#") }.forEach { line -> |
|
val columns = line.split('\t') |
|
val text = columns.first().replace("\\n", "\n") |
|
val links = MessageLinks.parse(text) |
|
check(links.map { it.url } == columns.drop(1)) { "URLs differ: text=$text actual=$links expected=${columns.drop(1)}" } |
|
var end = 0 |
|
for (link in links) { |
|
check(link.start >= end && text.substring(link.start, link.end) == link.url) |
|
end = link.end |
|
} |
|
count++ |
|
} |
|
check(count >= 15) |
|
println("PASS: $count shared message-link cases; original URLs and UTF-16 ranges preserved") |
|
}
|
|
|