24
24
25
25
#include < QtTest>
26
26
27
- static float myNaNf ()
27
+ struct NegativeInteger { quint64 abs; };
28
+ Q_DECLARE_METATYPE (NegativeInteger)
29
+
30
+ struct SimpleType { uint8_t type; };
31
+ Q_DECLARE_METATYPE (SimpleType)
32
+
33
+ struct Float16Standin { uint16_t val; };
34
+ Q_DECLARE_METATYPE (Float16Standin)
35
+
36
+ struct Tag { CborTag tag; QVariant tagged; };
37
+ Q_DECLARE_METATYPE (Tag)
38
+
39
+ typedef QVector<QPair<QVariant, QVariant>> Map;
40
+ Q_DECLARE_METATYPE (Map)
41
+
42
+ struct IndeterminateLengthArray : QVariantList { using QVariantList::QVariantList; };
43
+ struct IndeterminateLengthMap : Map { using Map::Map; };
44
+ Q_DECLARE_METATYPE (IndeterminateLengthArray)
45
+ Q_DECLARE_METATYPE(IndeterminateLengthMap)
46
+
47
+ namespace {
48
+
49
+ float myNaNf ()
28
50
{
29
51
uint32_t v = 0x7fc00000 ;
30
52
float f;
@@ -33,7 +55,7 @@ static float myNaNf()
33
55
return f;
34
56
}
35
57
36
- static float myInff ()
58
+ float myInff ()
37
59
{
38
60
uint32_t v = 0x7f800000 ;
39
61
float f;
@@ -42,7 +64,7 @@ static float myInff()
42
64
return f;
43
65
}
44
66
45
- static float myNInff ()
67
+ float myNInff ()
46
68
{
47
69
uint32_t v = 0xff800000 ;
48
70
float f;
@@ -51,7 +73,7 @@ static float myNInff()
51
73
return f;
52
74
}
53
75
54
- static double myNaN ()
76
+ double myNaN ()
55
77
{
56
78
uint64_t v = UINT64_C (0x7ff8000000000000 );
57
79
double f;
@@ -60,7 +82,7 @@ static double myNaN()
60
82
return f;
61
83
}
62
84
63
- static double myInf ()
85
+ double myInf ()
64
86
{
65
87
uint64_t v = UINT64_C (0x7ff0000000000000 );
66
88
double f;
@@ -69,7 +91,7 @@ static double myInf()
69
91
return f;
70
92
}
71
93
72
- static double myNInf ()
94
+ double myNInf ()
73
95
{
74
96
uint64_t v = UINT64_C (0xfff0000000000000 );
75
97
double f;
@@ -83,36 +105,17 @@ template <size_t N> QByteArray raw(const char (&data)[N])
83
105
return QByteArray::fromRawData (data, N - 1 );
84
106
}
85
107
86
- struct NegativeInteger { quint64 abs; };
87
- Q_DECLARE_METATYPE (NegativeInteger)
88
-
89
- struct SimpleType { uint8_t type; };
90
- Q_DECLARE_METATYPE (SimpleType)
91
-
92
- struct Float16Standin { uint16_t val; };
93
- Q_DECLARE_METATYPE (Float16Standin)
94
-
95
- struct Tag { CborTag tag; QVariant tagged; };
96
- Q_DECLARE_METATYPE (Tag)
97
-
98
108
template <typename ... Args>
99
109
QVariant make_list (const Args &... args)
100
110
{
101
111
return QVariantList{args...};
102
112
}
103
113
104
- typedef QVector<QPair<QVariant, QVariant>> Map;
105
- Q_DECLARE_METATYPE (Map)
106
114
QVariant make_map (const std::initializer_list<QPair<QVariant, QVariant>> &list)
107
115
{
108
116
return QVariant::fromValue (Map (list));
109
117
}
110
118
111
- struct IndeterminateLengthArray : QVariantList { using QVariantList::QVariantList; };
112
- struct IndeterminateLengthMap : Map { using Map::Map; };
113
- Q_DECLARE_METATYPE (IndeterminateLengthArray)
114
- Q_DECLARE_METATYPE(IndeterminateLengthMap)
115
-
116
119
QVariant make_ilarray (const std::initializer_list<QVariant> &list)
117
120
{
118
121
return QVariant::fromValue (IndeterminateLengthArray (list));
@@ -343,4 +346,4 @@ void addArraysAndMaps()
343
346
QTest::newRow (" array-1(map)" ) << raw (" \x81\xc1\xa0 " ) << make_list (QVariant::fromValue (Tag{1 , make_map ({})}));
344
347
QTest::newRow (" map-1(2):3(4)" ) << raw (" \xa1\xc1\2\xc3\4 " ) << make_map ({{QVariant::fromValue (Tag{1 , 2 }), QVariant::fromValue (Tag{3 , 4 })}});
345
348
}
346
-
349
+ } // namespace
0 commit comments