File: test_buffer_set_tab_width.c

package info (click to toggle)
mle 1.7.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,108 kB
  • sloc: ansic: 13,335; sh: 728; php: 228; makefile: 83
file content (39 lines) | stat: -rw-r--r-- 1,484 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "test.h"

#define comma ,

char *str = "he\tllo\t\t";

void test(buffer_t *buf, mark_t *cur) {
    bint_t i;
    bint_t char_vcols_4[8] = {0 comma  1 comma  2 comma  4 comma  5 comma  6 comma  7 comma  8};
    bint_t char_vcols_2a[8] = {0 comma  1 comma  2 comma  4 comma  5 comma  6 comma  7 comma  8};
    bint_t char_vcols_2b[9] = {0 comma  1 comma  2 comma  4 comma  5 comma  6 comma  7 comma  8 comma  10};

    buffer_set_tab_width(buf, 4);
    // [he  llo     ] // char_vcol
    // [  t    tt   ] // tabs
    ASSERT("count4", 8, buf->first_line->char_count);
    ASSERT("width4", 12, buf->first_line->char_vwidth);
    for (i = 0; i < buf->first_line->char_count; i++) {
        ASSERT("vcol4", char_vcols_4[i], buf->first_line->chars[i].vcol);
    }

    buffer_set_tab_width(buf, 2);
    // [he  llo   ] // char_vcol
    // [  t    tt ] // tabs
    ASSERT("count2a", 8, buf->first_line->char_count);
    ASSERT("width2a", 10, buf->first_line->char_vwidth);
    for (i = 0; i < buf->first_line->char_count; i++) {
        ASSERT("vcol2a", char_vcols_2a[i], buf->first_line->chars[i].vcol);
    }

    bline_insert(buf->first_line, 4, "\t", 1, NULL);
    // [he  l lo    ] // char_vcol
    // [  t  t  t t ] // tabs
    ASSERT("count2b", 9, buf->first_line->char_count);
    ASSERT("width2b", 12, buf->first_line->char_vwidth);
    for (i = 0; i < buf->first_line->char_count; i++) {
        ASSERT("vcol2b", char_vcols_2b[i], buf->first_line->chars[i].vcol);
    }
}