2020-07-09 17:05:21 +08:00
|
|
|
|
#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);
|
2020-07-09 21:25:08 +08:00
|
|
|
|
ASSERT_EQ(bidi_log2vis(b, L"abc", 3), RET_OK);
|
2020-07-09 17:05:21 +08:00
|
|
|
|
bidi_deinit(b);
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-11 11:07:03 +08:00
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-09 17:05:21 +08:00
|
|
|
|
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);
|
2020-07-09 21:25:08 +08:00
|
|
|
|
ASSERT_EQ(bidi_log2vis(b, str.str, str.size), RET_OK);
|
2020-07-09 17:05:21 +08:00
|
|
|
|
|
2020-10-18 12:17:55 +08:00
|
|
|
|
wstr_reset(&str);
|
2020-07-09 17:05:21 +08:00
|
|
|
|
bidi_deinit(b);
|
|
|
|
|
}
|