InstructionArgumentNode.test.ts 890 B

12345678910111213141516171819202122232425262728293031323334
  1. import { instructionArgumentNode, numberTypeNode, numberValueNode } 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 = instructionArgumentNode({
  10. defaultValue: numberValueNode(1),
  11. name: 'amount',
  12. type: numberTypeNode('u64'),
  13. });
  14. test(mergeVisitorMacro, node, 3);
  15. test(identityVisitorMacro, node);
  16. test(deleteNodesVisitorMacro, node, '[instructionArgumentNode]', null);
  17. test(deleteNodesVisitorMacro, node, '[numberTypeNode]', null);
  18. test(
  19. deleteNodesVisitorMacro,
  20. node,
  21. '[numberValueNode]',
  22. instructionArgumentNode({ name: 'amount', type: numberTypeNode('u64') }),
  23. );
  24. test(
  25. getDebugStringVisitorMacro,
  26. node,
  27. `
  28. instructionArgumentNode [amount]
  29. | numberTypeNode [u64]
  30. | numberValueNode [1]`,
  31. );