UNPKG

@vlocode/apex

Version:
54 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const types_1 = require("../types"); const blockVisitor_1 = require("../visitors/blockVisitor"); describe('BlockVisitor', () => { describe('resolveBlockHierarchy', () => { it('should return the block hierarchy', () => { const state = { name: 'R', sourceRange: types_1.ApexSourceRange.empty, blocks: [ { name: 'A', sourceRange: types_1.ApexSourceRange.empty, blocks: [ { name: 'A1', sourceRange: types_1.ApexSourceRange.empty } ] }, { name: 'B', sourceRange: types_1.ApexSourceRange.empty, blocks: [ { name: 'B1', sourceRange: types_1.ApexSourceRange.empty }, { name: 'B2', sourceRange: types_1.ApexSourceRange.empty }, { name: 'B3', sourceRange: types_1.ApexSourceRange.empty, blocks: [ { name: 'B3-1', sourceRange: types_1.ApexSourceRange.empty }, { name: 'B3-2', sourceRange: types_1.ApexSourceRange.empty } ] } ] } ] }; const visitor = new blockVisitor_1.BlockVisitor(state); const result = Array.from(visitor.resolveBlockHierarchy()); // Assert const blockNames = result.map(blocks => blocks.map(block => block['name'])); expect(blockNames).toEqual([ ['R'], ['R', 'A'], ['R', 'A', 'A1'], ['R', 'B'], ['R', 'B', 'B1'], ['R', 'B', 'B2'], ['R', 'B', 'B3'], ['R', 'B', 'B3', 'B3-1'], ['R', 'B', 'B3', 'B3-2'] ]); }); }); }); //# sourceMappingURL=blockVistor.test.js.map