From d4bb675bf1b521ddf7001551e35d16b2cb86a42b Mon Sep 17 00:00:00 2001 From: xuhong Date: Mon, 2 Dec 2024 11:12:26 +0800 Subject: [PATCH] 1.add qt unit test --- CHANGELOG.md | 1 + src/test/unit/gdb_expansion.test.ts | 127 ++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47db805..27d6be5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ Versioning]. - solve the problem of failed parsing of containers ([@henryriley0]) - Fixes #421 - Added `registerLimit` option to specify the registers to display - PR #444 ([@chenzhiy2001]) +- add qt unit test ([@henryriley0]) ## [0.27.0] - 2024-02-07 diff --git a/src/test/unit/gdb_expansion.test.ts b/src/test/unit/gdb_expansion.test.ts index a455b87..dc4b8ff 100644 --- a/src/test/unit/gdb_expansion.test.ts +++ b/src/test/unit/gdb_expansion.test.ts @@ -224,6 +224,133 @@ suite("GDB Value Expansion", () => { } ]); }); + test("QT Complex node", () => { + const node = `{{ref = {atomic = {_q_value = {> = {static _S_alignment = 4, _M_i = -1}, }}}, size = 0, static shared_null = }, {ref = {atomic = {_q_value = {> = {static _S_alignment = 4, _M_i = 0}, }}}, size = 0, static shared_null = }}`; + assert.strictEqual(isExpandable(node), 1); + const variables = expandValue(variableCreate, node); + assert.deepStrictEqual(variables, [ + { + "name": "[0]", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "ref", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "atomic", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "_q_value", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "std::__atomic_base>", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "_S_alignment", + "value": "4", + "variablesReference": 0 + }, + { + "name": "_M_i", + "value": "-1", + "variablesReference": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + { + "name": "size", + "value": "0", + "variablesReference": 0 + }, + { + "name": "shared_null", + "value": "", + "variablesReference": 0 + } + ] + } + }, + { + "name": "[1]", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "ref", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "atomic", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "_q_value", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "std::__atomic_base>", + "value": "Object", + "variablesReference": { + "expanded": [ + { + "name": "_S_alignment", + "value": "4", + "variablesReference": 0 + }, + { + "name": "_M_i", + "value": "0", + "variablesReference": 0 + } + ] + } + } + ] + } + } + ] + } + } + ] + } + }, + { + "name": "size", + "value": "0", + "variablesReference": 0 + }, + { + "name": "shared_null", + "value": "", + "variablesReference": 0 + } + ] + } + } + ]); + }); test("Simple node with errors", () => { const node = `{_enableMipMaps = false, _minFilter = , _magFilter = , _wrapX = , _wrapY = , _inMode = 6408, _mode = 6408, _id = 1, _width = 1024, _height = 1024}`; assert.strictEqual(isExpandable(node), 1);