1
/* -*- buffer-read-only: t -*- vi: set ro: */
2
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3
1
/* Test that mbsalign works as advertised.
4
Copyright (C) 2010-2011 Free Software Foundation, Inc.
2
Copyright (C) 2010-2012 Free Software Foundation, Inc.
6
4
This program is free software: you can redistribute it and/or modify
7
5
it under the terms of the GNU General Public License as published by
41
39
n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER, 0);
42
40
ASSERT (*dest == ' ' && *(dest + n - 1) == ' ');
43
/* Test center alignment, with no trailing padding. */
45
n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER,
48
ASSERT (*dest == ' ' && *(dest + n - 1) == 's');
50
/* Test left alignment, with no trailing padding. (truncate only). */
52
n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_LEFT,
55
ASSERT (*dest == 'e' && *(dest + n - 1) == 's');
57
/* Test center alignment, with no padding. (truncate only). */
59
n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER,
60
MBA_NO_LEFT_PAD | MBA_NO_RIGHT_PAD);
62
ASSERT (*dest == 'e' && *(dest + n - 1) == 's');
64
/* Test center alignment, with no left padding. (may be useful for RTL?) */
66
n = mbsalign ("es", dest, sizeof dest, &width, MBS_ALIGN_CENTER,
69
ASSERT (*dest == 'e' && *(dest + n - 1) == ' ');
44
71
if (setlocale (LC_ALL, "en_US.UTF8"))
57
84
/* Test multibyte center alignment. */
59
86
n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_CENTER, 0);
60
88
ASSERT (*dest == ' ' && *(dest + n - 1) == ' ');
62
90
/* Test multibyte left alignment. */
64
92
n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_LEFT, 0);
65
94
ASSERT (*(dest + n - 1) == ' ' && *(dest + n - 2) == ' ');
67
96
/* Test multibyte right alignment. */
69
98
n = mbsalign ("és", dest, sizeof dest, &width, MBS_ALIGN_RIGHT, 0);
70
100
ASSERT (*(dest) == ' ' && *(dest + 1) == ' ');
72
102
/* multibyte multicell truncation. */
96
126
n = mbsalign ("t\tés" /* 6 including NUL */ , dest, sizeof dest,
97
127
&width, MBS_ALIGN_LEFT, 0);
130
/* Test forced unibyte truncation. */
132
n = mbsalign ("t\tés", dest, sizeof dest, &width, MBS_ALIGN_LEFT,