xref: /aosp_15_r20/external/pdfium/testing/test_support.h (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2015 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker 
5*3ac0a46fSAndroid Build Coastguard Worker #ifndef TESTING_TEST_SUPPORT_H_
6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_TEST_SUPPORT_H_
7*3ac0a46fSAndroid Build Coastguard Worker 
8*3ac0a46fSAndroid Build Coastguard Worker #include <stdint.h>
9*3ac0a46fSAndroid Build Coastguard Worker 
10*3ac0a46fSAndroid Build Coastguard Worker namespace pdfium {
11*3ac0a46fSAndroid Build Coastguard Worker 
12*3ac0a46fSAndroid Build Coastguard Worker #define STR_IN_TEST_CASE(input_literal, ...)               \
13*3ac0a46fSAndroid Build Coastguard Worker   {                                                        \
14*3ac0a46fSAndroid Build Coastguard Worker     reinterpret_cast<const unsigned char*>(input_literal), \
15*3ac0a46fSAndroid Build Coastguard Worker         sizeof(input_literal) - 1, __VA_ARGS__             \
16*3ac0a46fSAndroid Build Coastguard Worker   }
17*3ac0a46fSAndroid Build Coastguard Worker 
18*3ac0a46fSAndroid Build Coastguard Worker #define STR_IN_OUT_CASE(input_literal, expected_literal, ...)     \
19*3ac0a46fSAndroid Build Coastguard Worker   {                                                               \
20*3ac0a46fSAndroid Build Coastguard Worker     reinterpret_cast<const unsigned char*>(input_literal),        \
21*3ac0a46fSAndroid Build Coastguard Worker         sizeof(input_literal) - 1,                                \
22*3ac0a46fSAndroid Build Coastguard Worker         reinterpret_cast<const unsigned char*>(expected_literal), \
23*3ac0a46fSAndroid Build Coastguard Worker         sizeof(expected_literal) - 1, __VA_ARGS__                 \
24*3ac0a46fSAndroid Build Coastguard Worker   }
25*3ac0a46fSAndroid Build Coastguard Worker 
26*3ac0a46fSAndroid Build Coastguard Worker struct StrFuncTestData {
27*3ac0a46fSAndroid Build Coastguard Worker   const unsigned char* input;
28*3ac0a46fSAndroid Build Coastguard Worker   uint32_t input_size;
29*3ac0a46fSAndroid Build Coastguard Worker   const unsigned char* expected;
30*3ac0a46fSAndroid Build Coastguard Worker   uint32_t expected_size;
31*3ac0a46fSAndroid Build Coastguard Worker };
32*3ac0a46fSAndroid Build Coastguard Worker 
33*3ac0a46fSAndroid Build Coastguard Worker struct DecodeTestData {
34*3ac0a46fSAndroid Build Coastguard Worker   const unsigned char* input;
35*3ac0a46fSAndroid Build Coastguard Worker   uint32_t input_size;
36*3ac0a46fSAndroid Build Coastguard Worker   const unsigned char* expected;
37*3ac0a46fSAndroid Build Coastguard Worker   uint32_t expected_size;
38*3ac0a46fSAndroid Build Coastguard Worker   // The size of input string being processed.
39*3ac0a46fSAndroid Build Coastguard Worker   uint32_t processed_size;
40*3ac0a46fSAndroid Build Coastguard Worker };
41*3ac0a46fSAndroid Build Coastguard Worker 
42*3ac0a46fSAndroid Build Coastguard Worker struct NullTermWstrFuncTestData {
43*3ac0a46fSAndroid Build Coastguard Worker   const wchar_t* input;
44*3ac0a46fSAndroid Build Coastguard Worker   const wchar_t* expected;
45*3ac0a46fSAndroid Build Coastguard Worker };
46*3ac0a46fSAndroid Build Coastguard Worker 
47*3ac0a46fSAndroid Build Coastguard Worker }  // namespace pdfium
48*3ac0a46fSAndroid Build Coastguard Worker 
49*3ac0a46fSAndroid Build Coastguard Worker #endif  // TESTING_TEST_SUPPORT_H_
50