mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-10 22:43:40 +00:00
* feat(cpp): resolve inheritance-lattice member lookup * fix(cpp): harden inheritance-lattice lookup --------- Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { beforeEach, describe, expect, it } from 'vitest';
|
|
import {
|
|
applyCppMemberLookupSideChannel,
|
|
clearCppMemberLookupState,
|
|
collectCppMemberLookupSideChannel,
|
|
type CppMemberLookupSideChannel,
|
|
} from '../../../../src/core/ingestion/languages/cpp/member-lookup.js';
|
|
|
|
describe('C++ member-lookup capture side-channel', () => {
|
|
beforeEach(() => {
|
|
clearCppMemberLookupState();
|
|
});
|
|
|
|
it('preserves qualified base identities through a worker-style JSON round trip', () => {
|
|
const snapshot: CppMemberLookupSideChannel = {
|
|
baseEdges: [
|
|
{
|
|
childName: 'Derived',
|
|
childQualifiedName: 'app.Derived',
|
|
baseName: 'Base',
|
|
baseQualifiedName: 'detail.Base',
|
|
isVirtual: true,
|
|
},
|
|
],
|
|
memberUsings: [
|
|
{
|
|
childName: 'Derived',
|
|
childQualifiedName: 'app.Derived',
|
|
baseName: 'Base',
|
|
baseQualifiedName: 'detail.Base',
|
|
memberName: 'select',
|
|
},
|
|
],
|
|
};
|
|
const throughWorker = JSON.parse(JSON.stringify(snapshot)) as CppMemberLookupSideChannel;
|
|
|
|
applyCppMemberLookupSideChannel('main.cpp', throughWorker);
|
|
|
|
expect(collectCppMemberLookupSideChannel('main.cpp')).toEqual(snapshot);
|
|
});
|
|
});
|