aboutsummaryrefslogtreecommitdiffstats
path: root/c_test/creole.c
blob: 438ef7fb77ced7642949de8f33f76b4425945eb4 (plain) (blame)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* Copyright (c) 2023 Peter McGoron <code@mcgoron.com>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */

#include "greatest.h"
GREATEST_MAIN_DEFS();
#include "../creole.c"

/**************************************************************************
 * Reader
 *************************************************************************/
#define reader_lit(r, s) do {     \
	r.p = (unsigned char *)s; \
	r.left = sizeof(s) - 1;   \
} while(0)

TEST reader_test_basic(struct creole_reader *r) {
	size_t i = 0;
	unsigned char *s = r->p;
	size_t len = r->left;

	for (i = 0; i < len; i++) {
		ASSERT_EQ(read_eof(r), 0);
		ASSERT_EQ(read(r), s[i]);
	}

	for (i = 0; i < 5; i++) {
		ASSERT_EQ(read_eof(r), 1);
		ASSERT_EQ(read(r), -1);
	}
	PASS();
}

SUITE(reader) {
	struct creole_reader r = {0};

	reader_lit(r, "abcdefg");
	RUN_TEST1(reader_test_basic, &r);

	reader_lit(r, "");
	RUN_TEST1(reader_test_basic, &r);
}

int main(int argc, char *argv[]) {
	GREATEST_MAIN_BEGIN();
	RUN_SUITE(reader);
	GREATEST_MAIN_END();
}
c?h=v2.0.7&id=9812e4136b6c88978cc47605da9d660a355ea009&follow=1'>Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@24 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@23 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@22 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@21 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@20 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@19 53a565d1-3bb7-0310-b661-cf11e63c67ab