Files
envr/table_test.odin
T

42 lines
1016 B
Odin

#+test
package main
import "core:strings"
import "core:testing"
@(test)
test_ansi_aware_width_plain_ascii :: proc(t: ^testing.T) {
testing.expect_value(t, ansi_aware_width("hello"), 5)
}
@(test)
test_ansi_aware_width_empty :: proc(t: ^testing.T) {
testing.expect_value(t, ansi_aware_width(""), 0)
}
@(test)
test_ansi_aware_width_with_color_codes :: proc(t: ^testing.T) {
colored := colorize(.Heading, "Directory", disable = false)
testing.expect_value(t, ansi_aware_width(colored), 9)
}
@(test)
test_ansi_aware_width_multibyte :: proc(t: ^testing.T) {
testing.expect_value(t, ansi_aware_width("\u2713 Available"), 13)
testing.expect_value(t, ansi_aware_width("\u2717 Missing"), 11)
}
@(test)
test_ansi_aware_width_multiple_escape_sequences :: proc(t: ^testing.T) {
colored := strings.concatenate(
{
colorize(.Heading, "a", disable = false),
colorize(.Heading, "b", disable = false),
colorize(.Heading, "c", disable = false),
},
)
testing.expect_value(t, ansi_aware_width(colored), 3)
}