~ubuntu-branches/ubuntu/wily/aegisub/wily

« back to all changes in this revision

Viewing changes to vendor/luabins/test/write_tests.inc

  • Committer: Package Import Robot
  • Author(s): Sebastian Reichel
  • Date: 2015-08-04 21:40:50 UTC
  • mto: (5.1.1 sid)
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: package-import@ubuntu.com-20150804214050-1uw8qcsvk4jxxrfg
Tags: upstream-3.2.2+dfsg
ImportĀ upstreamĀ versionĀ 3.2.2+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
* write_tests.inc
 
3
* Luabins Lua-less write API
 
4
* See copyright notice in luabins.h
 
5
*/
 
6
 
 
7
/* Note this file intentionally does not have include guards */
 
8
 
 
9
/*
 
10
* Depends on following symbols:
 
11
*   -- TEST_NAME
 
12
*   -- CALL_NAME
 
13
*   -- BUFFER_NAME
 
14
*   -- INIT_BUFFER
 
15
*   -- DESTROY_BUFFER
 
16
*   -- CHECK_BUFFER
 
17
*
 
18
* Defines symbols
 
19
*   -- RUN_GENERATED_TESTS
 
20
*/
 
21
 
 
22
TEST (TEST_NAME(TupleSize),
 
23
{
 
24
  INIT_BUFFER;
 
25
 
 
26
  {
 
27
    unsigned char tuple_size = 0xAB;
 
28
 
 
29
    CALL_NAME(TupleSize)(BUFFER_NAME, tuple_size);
 
30
    CHECK_BUFFER(BUFFER_NAME, "\xAB", 1);
 
31
  }
 
32
 
 
33
  DESTROY_BUFFER;
 
34
})
 
35
 
 
36
/******************************************************************************/
 
37
 
 
38
TEST (TEST_NAME(TableHeader),
 
39
{
 
40
  INIT_BUFFER;
 
41
 
 
42
  {
 
43
    int array_size = 0xAB;
 
44
    int hash_size = 0xCD;
 
45
 
 
46
    CALL_NAME(TableHeader)(BUFFER_NAME, array_size, hash_size);
 
47
    CHECK_BUFFER(
 
48
        BUFFER_NAME,
 
49
        "T" "\xAB\x00\x00\x00" "\xCD\x00\x00\x00",
 
50
        1 + 4 + 4
 
51
      );
 
52
  }
 
53
 
 
54
  DESTROY_BUFFER;
 
55
})
 
56
 
 
57
/******************************************************************************/
 
58
 
 
59
TEST (TEST_NAME(Nil),
 
60
{
 
61
  INIT_BUFFER;
 
62
 
 
63
  {
 
64
    CALL_NAME(Nil)(BUFFER_NAME);
 
65
    CHECK_BUFFER(BUFFER_NAME, "-", 1);
 
66
  }
 
67
 
 
68
  DESTROY_BUFFER;
 
69
})
 
70
 
 
71
/******************************************************************************/
 
72
 
 
73
TEST (TEST_NAME(Boolean),
 
74
{
 
75
  INIT_BUFFER;
 
76
 
 
77
  {
 
78
    CALL_NAME(Boolean)(BUFFER_NAME, 1);
 
79
    CHECK_BUFFER(BUFFER_NAME, "1", 1);
 
80
 
 
81
    CALL_NAME(Boolean)(BUFFER_NAME, 0);
 
82
    CHECK_BUFFER(BUFFER_NAME, "10", 1 + 1);
 
83
  }
 
84
 
 
85
  DESTROY_BUFFER;
 
86
})
 
87
 
 
88
/******************************************************************************/
 
89
 
 
90
TEST (TEST_NAME(Number),
 
91
{
 
92
  INIT_BUFFER;
 
93
 
 
94
  {
 
95
    /* Note number is a double */
 
96
    CALL_NAME(Number)(BUFFER_NAME, 1.0);
 
97
    CHECK_BUFFER(BUFFER_NAME, "N" "\x00\x00\x00\x00\x00\x00\xF0\x3F", 1 + 8);
 
98
  }
 
99
 
 
100
  DESTROY_BUFFER;
 
101
})
 
102
 
 
103
/******************************************************************************/
 
104
 
 
105
TEST (TEST_NAME(Integer),
 
106
{
 
107
  INIT_BUFFER;
 
108
 
 
109
  {
 
110
    /* Note integer is alsow written as a double */
 
111
    CALL_NAME(Integer)(BUFFER_NAME, 1);
 
112
    CHECK_BUFFER(BUFFER_NAME, "N" "\x00\x00\x00\x00\x00\x00\xF0\x3F", 1 + 8);
 
113
  }
 
114
 
 
115
  DESTROY_BUFFER;
 
116
})
 
117
 
 
118
/******************************************************************************/
 
119
 
 
120
TEST (TEST_NAME(StringEmpty),
 
121
{
 
122
  INIT_BUFFER;
 
123
 
 
124
  {
 
125
    CALL_NAME(String)(BUFFER_NAME, "", 0);
 
126
    CHECK_BUFFER(BUFFER_NAME, "S" "\x00\x00\x00\x00", 1 + 4);
 
127
  }
 
128
 
 
129
  DESTROY_BUFFER;
 
130
})
 
131
 
 
132
TEST (TEST_NAME(StringSimple),
 
133
{
 
134
  INIT_BUFFER;
 
135
 
 
136
  {
 
137
    CALL_NAME(String)(BUFFER_NAME, "Luabins", 7);
 
138
    CHECK_BUFFER(
 
139
        BUFFER_NAME,
 
140
        "S" "\x07\x00\x00\x00" "Luabins",
 
141
        1 + 4 + 7
 
142
      );
 
143
  }
 
144
 
 
145
  DESTROY_BUFFER;
 
146
})
 
147
 
 
148
TEST (TEST_NAME(StringEmbeddedZero),
 
149
{
 
150
  INIT_BUFFER;
 
151
 
 
152
  {
 
153
    CALL_NAME(String)(BUFFER_NAME, "Embedded\0Zero", 13);
 
154
    CHECK_BUFFER(
 
155
        BUFFER_NAME,
 
156
        "S" "\x0D\x00\x00\x00" "Embedded\0Zero",
 
157
        1 + 4 + 13
 
158
      );
 
159
  }
 
160
 
 
161
  DESTROY_BUFFER;
 
162
})
 
163
 
 
164
/******************************************************************************/
 
165
 
 
166
#define RUN_GENERATED_TESTS \
 
167
  TEST_NAME(TupleSize)(); \
 
168
  TEST_NAME(TableHeader)(); \
 
169
  TEST_NAME(Nil)(); \
 
170
  TEST_NAME(Boolean)(); \
 
171
  TEST_NAME(Number)(); \
 
172
  TEST_NAME(Integer)(); \
 
173
  TEST_NAME(StringEmpty)(); \
 
174
  TEST_NAME(StringSimple)(); \
 
175
  TEST_NAME(StringEmbeddedZero)();