RootNode.test.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { programNode, rootNode } from '@kinobi-so/nodes';
  2. import test from 'ava';
  3. import {
  4. deleteNodesVisitorMacro,
  5. getDebugStringVisitorMacro,
  6. identityVisitorMacro,
  7. mergeVisitorMacro,
  8. } from './_setup.js';
  9. const node = rootNode(
  10. programNode({
  11. name: 'splToken',
  12. publicKey: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA',
  13. }),
  14. [
  15. programNode({
  16. name: 'splAddressLookupTable',
  17. publicKey: 'AddressLookupTab1e1111111111111111111111111',
  18. }),
  19. ],
  20. );
  21. test(mergeVisitorMacro, node, 3);
  22. test(identityVisitorMacro, node);
  23. test(deleteNodesVisitorMacro, node, '[rootNode]', null);
  24. test(deleteNodesVisitorMacro, node, '[programNode]', null);
  25. test(deleteNodesVisitorMacro, node, '[programNode]splAddressLookupTable', {
  26. ...node,
  27. additionalPrograms: [],
  28. });
  29. test(
  30. getDebugStringVisitorMacro,
  31. node,
  32. `
  33. rootNode
  34. | programNode [splToken.TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA]
  35. | programNode [splAddressLookupTable.AddressLookupTab1e1111111111111111111111111]`,
  36. );