awtk/tests/bidi_test.cc
2020-10-17 21:17:55 -07:00

35 lines
918 B
C++

#include "base/bidi.h"
#include "tkc/wstr.h"
#include "gtest/gtest.h"
TEST(Bidi, basic) {
bidi_t bidi;
bidi_t* b = bidi_init(&bidi, FALSE, FALSE, BIDI_TYPE_LTR);
ASSERT_EQ(bidi_log2vis(b, L"abc", 3), RET_OK);
bidi_deinit(b);
}
TEST(Bidi, type) {
ASSERT_EQ(bidi_type_from_name("ltr"), BIDI_TYPE_LTR);
ASSERT_EQ(bidi_type_from_name("rtl"), BIDI_TYPE_RTL);
ASSERT_EQ(bidi_type_from_name("wltr"), BIDI_TYPE_WLTR);
ASSERT_EQ(bidi_type_from_name("wrtl"), BIDI_TYPE_WRTL);
ASSERT_EQ(bidi_type_from_name("lro"), BIDI_TYPE_LRO);
ASSERT_EQ(bidi_type_from_name("rlo"), BIDI_TYPE_RLO);
}
TEST(Bidi, auto1) {
bidi_t bidi;
wstr_t str;
wstr_init(&str, 10);
wstr_append(&str, L"م");
wstr_append(&str, L"ص");
wstr_append(&str, L"ر");
bidi_t* b = bidi_init(&bidi, FALSE, FALSE, BIDI_TYPE_RTL);
ASSERT_EQ(bidi_log2vis(b, str.str, str.size), RET_OK);
wstr_reset(&str);
bidi_deinit(b);
}