Mercurial > gnulib
annotate tests/unistr/test-u8-strncpy.c @ 40057:b06060465f09
maint: Run 'make update-copyright'
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 01 Jan 2019 00:25:11 +0100 |
parents | 10eb9086bea0 |
children |
rev | line source |
---|---|
12699
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
1 /* Test of u8_strncpy() function. |
40057
b06060465f09
maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents:
19484
diff
changeset
|
2 Copyright (C) 2010-2019 Free Software Foundation, Inc. |
12699
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 This program is free software: you can redistribute it and/or modify |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
5 it under the terms of the GNU General Public License as published by |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 the Free Software Foundation; either version 3 of the License, or |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 (at your option) any later version. |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 This program is distributed in the hope that it will be useful, |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
12 GNU General Public License for more details. |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
13 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
14 You should have received a copy of the GNU General Public License |
19190 | 15 along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
12699
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
16 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
17 /* Written by Bruno Haible <bruno@clisp.org>, 2010. */ |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 #include <config.h> |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
21 #include "unistr.h" |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
22 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
23 #include <stdlib.h> |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
24 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
25 #include "zerosize-ptr.h" |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
26 #include "macros.h" |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
27 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
28 #define UNIT uint8_t |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
29 #define U_STRNCPY u8_strncpy |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 #define MAGIC 0xBA |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 #include "test-strncpy.h" |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
33 int |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
34 main () |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
35 { |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
36 /* Simple string. */ |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
37 { /* "Grüß Gott. Здравствуйте! x=(-b±sqrt(b²-4ac))/(2a) 日本語,中文,한글" */ |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
38 static const uint8_t input[] = |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
39 { 'G', 'r', 0xC3, 0xBC, 0xC3, 0x9F, ' ', 'G', 'o', 't', 't', '.', ' ', |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
40 0xD0, 0x97, 0xD0, 0xB4, 0xD1, 0x80, 0xD0, 0xB0, 0xD0, 0xB2, 0xD1, 0x81, |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
41 0xD1, 0x82, 0xD0, 0xB2, 0xD1, 0x83, 0xD0, 0xB9, 0xD1, 0x82, 0xD0, 0xB5, |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
42 '!', ' ', 'x', '=', '(', '-', 'b', 0xC2, 0xB1, 's', 'q', 'r', 't', '(', |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
43 'b', 0xC2, 0xB2, '-', '4', 'a', 'c', ')', ')', '/', '(', '2', 'a', ')', |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
44 ' ', ' ', 0xE6, 0x97, 0xA5, 0xE6, 0x9C, 0xAC, 0xE8, 0xAA, 0x9E, ',', |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
45 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0x87, ',', |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
46 0xED, 0x95, 0x9C, 0xEA, 0xB8, 0x80, '\0' |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
47 }; |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
48 check (input, SIZEOF (input)); |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
49 } |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
50 |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
51 return 0; |
45630d9a5966
Tests for module 'unistr/u8-strncpy'.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
52 } |