Skip to content

Commit d4bb675

Browse files
committed
1.add qt unit test
1 parent eb9f5e4 commit d4bb675

File tree

2 files changed

+128
-0
lines changed

2 files changed

+128
-0
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Versioning].
2424
- solve the problem of failed parsing of containers ([@henryriley0])
2525
- Fixes #421 - Added `registerLimit` option to specify the registers to
2626
display - PR #444 ([@chenzhiy2001])
27+
- add qt unit test ([@henryriley0])
2728

2829
## [0.27.0] - 2024-02-07
2930

src/test/unit/gdb_expansion.test.ts

+127
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,133 @@ suite("GDB Value Expansion", () => {
224224
}
225225
]);
226226
});
227+
test("QT Complex node", () => {
228+
const node = `{{ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, size = 0, static shared_null = <same type>}, {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}}}, size = 0, static shared_null = <same type>}}`;
229+
assert.strictEqual(isExpandable(node), 1);
230+
const variables = expandValue(variableCreate, node);
231+
assert.deepStrictEqual(variables, [
232+
{
233+
"name": "[0]",
234+
"value": "Object",
235+
"variablesReference": {
236+
"expanded": [
237+
{
238+
"name": "ref",
239+
"value": "Object",
240+
"variablesReference": {
241+
"expanded": [
242+
{
243+
"name": "atomic",
244+
"value": "Object",
245+
"variablesReference": {
246+
"expanded": [
247+
{
248+
"name": "_q_value",
249+
"value": "Object",
250+
"variablesReference": {
251+
"expanded": [
252+
{
253+
"name": "std::__atomic_base<int>>",
254+
"value": "Object",
255+
"variablesReference": {
256+
"expanded": [
257+
{
258+
"name": "_S_alignment",
259+
"value": "4",
260+
"variablesReference": 0
261+
},
262+
{
263+
"name": "_M_i",
264+
"value": "-1",
265+
"variablesReference": 0
266+
}
267+
]
268+
}
269+
}
270+
]
271+
}
272+
}
273+
]
274+
}
275+
}
276+
]
277+
}
278+
},
279+
{
280+
"name": "size",
281+
"value": "0",
282+
"variablesReference": 0
283+
},
284+
{
285+
"name": "shared_null",
286+
"value": "<same type>",
287+
"variablesReference": 0
288+
}
289+
]
290+
}
291+
},
292+
{
293+
"name": "[1]",
294+
"value": "Object",
295+
"variablesReference": {
296+
"expanded": [
297+
{
298+
"name": "ref",
299+
"value": "Object",
300+
"variablesReference": {
301+
"expanded": [
302+
{
303+
"name": "atomic",
304+
"value": "Object",
305+
"variablesReference": {
306+
"expanded": [
307+
{
308+
"name": "_q_value",
309+
"value": "Object",
310+
"variablesReference": {
311+
"expanded": [
312+
{
313+
"name": "std::__atomic_base<int>>",
314+
"value": "Object",
315+
"variablesReference": {
316+
"expanded": [
317+
{
318+
"name": "_S_alignment",
319+
"value": "4",
320+
"variablesReference": 0
321+
},
322+
{
323+
"name": "_M_i",
324+
"value": "0",
325+
"variablesReference": 0
326+
}
327+
]
328+
}
329+
}
330+
]
331+
}
332+
}
333+
]
334+
}
335+
}
336+
]
337+
}
338+
},
339+
{
340+
"name": "size",
341+
"value": "0",
342+
"variablesReference": 0
343+
},
344+
{
345+
"name": "shared_null",
346+
"value": "<same type>",
347+
"variablesReference": 0
348+
}
349+
]
350+
}
351+
}
352+
]);
353+
});
227354
test("Simple node with errors", () => {
228355
const node = `{_enableMipMaps = false, _minFilter = <incomplete type>, _magFilter = <incomplete type>, _wrapX = <incomplete type>, _wrapY = <incomplete type>, _inMode = 6408, _mode = 6408, _id = 1, _width = 1024, _height = 1024}`;
229356
assert.strictEqual(isExpandable(node), 1);

0 commit comments

Comments
 (0)