Initial commit - from Precise source
[freerdp-ubuntu-pcb-backport.git] / cunit / test_stream.c
1 /**
2  * FreeRDP: A Remote Desktop Protocol Client
3  * Stream Unit Tests
4  *
5  * Copyright 2011 Vic Lee
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 #include <stdio.h>
21 #include <string.h>
22 #include <stdlib.h>
23 #include <freerdp/freerdp.h>
24 #include <freerdp/utils/hexdump.h>
25 #include <freerdp/utils/stream.h>
26
27 #include "test_stream.h"
28
29 int init_stream_suite(void)
30 {
31         return 0;
32 }
33
34 int clean_stream_suite(void)
35 {
36         return 0;
37 }
38
39 int add_stream_suite(void)
40 {
41         add_test_suite(stream);
42
43         add_test_function(stream);
44
45         return 0;
46 }
47
48 void test_stream(void)
49 {
50         STREAM * stream;
51         int pos;
52         uint32 n;
53         uint64 n64;
54
55         stream = stream_new(1);
56         pos = stream_get_pos(stream);
57
58         stream_write_uint8(stream, 0xFE);
59
60         stream_check_size(stream, 14);
61         stream_write_uint16(stream, 0x0102);
62         stream_write_uint32(stream, 0x03040506);
63         stream_write_uint64(stream, 0x0708091011121314LL);
64
65         /* freerdp_hexdump(stream->buffer, 15); */
66
67         stream_set_pos(stream, pos);
68         stream_seek(stream, 3);
69         stream_read_uint32(stream, n);
70         stream_read_uint64(stream, n64);
71
72         CU_ASSERT(n == 0x03040506);
73         CU_ASSERT(n64 == 0x0708091011121314LL);
74
75         stream_free(stream);
76 }