about summary refs log blame commit diff stats
path: root/widgets/account.go
blob: f8b6581f2de6912be908c3ca39b800eca9ad4501 (plain) (tree)
pan>, "abcd efghij klmn opqr", 21); line[strlen(line)] = '\0'; int line_utf8_pos = 16; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 12); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_when_at_end(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "abcd efghij klmn opqr", 21); line[strlen(line)] = '\0'; int line_utf8_pos = 20; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 17); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_when_in_only_whitespace(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, " ", 7); line[strlen(line)] = '\0'; int line_utf8_pos = 5; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 0); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_when_start_whitespace_start_of_word(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, " hello", 9); line[strlen(line)] = '\0'; int line_utf8_pos = 4; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 0); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_when_start_whitespace_middle_of_word(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, " hello", 9); line[strlen(line)] = '\0'; int line_utf8_pos = 7; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 4); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_in_whitespace_between_words(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "hey hello", 12); line[strlen(line)] = '\0'; int line_utf8_pos = 5; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 0); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_in_whitespace_between_words_start_of_word(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "hey hello", 12); line[strlen(line)] = '\0'; int line_utf8_pos = 7; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 0); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_in_whitespace_between_words_middle_of_word(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "hey hello", 12); line[strlen(line)] = '\0'; int line_utf8_pos = 9; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 7); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_left_when_word_overrun_to_left(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 18; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 14; key_ctrl_left(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 9); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 9); } void ctrl_right_when_no_input(void **state) { setlocale(LC_ALL, ""); line[0] = '\0'; int line_utf8_pos = 0; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 0); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_when_at_end(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 20; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 20); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_one_word_at_start(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword", 8); line[strlen(line)] = '\0'; int line_utf8_pos = 0; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_one_word_in_middle(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword", 8); line[strlen(line)] = '\0'; int line_utf8_pos = 3; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_one_word_at_end(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword", 8); line[strlen(line)] = '\0'; int line_utf8_pos = 7; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_two_words_from_middle_first(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 4; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_two_words_from_end_first(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 7; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_two_words_from_space(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 8; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 20); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_two_words_from_start_second(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword anotherword", 20); line[strlen(line)] = '\0'; int line_utf8_pos = 9; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 20); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_one_word_leading_whitespace(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, " someword", 15); line[strlen(line)] = '\0'; int line_utf8_pos = 3; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 15); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_two_words_in_whitespace(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, " someword adfasdf", 30); line[strlen(line)] = '\0'; int line_utf8_pos = 19; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 30); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); } void ctrl_right_trailing_whitespace_from_middle(void **state) { setlocale(LC_ALL, ""); g_utf8_strncpy(line, "someword ", 16); line[strlen(line)] = '\0'; int line_utf8_pos = 3; int col = utf8_pos_to_col(line, line_utf8_pos); int pad_start = 0; key_ctrl_right(line, &line_utf8_pos, &col, &pad_start, 80); assert_int_equal(line_utf8_pos, 8); assert_int_equal(col, utf8_pos_to_col(line, line_utf8_pos)); assert_int_equal(pad_start, 0); }