operation-registry.test.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
  3. * SPDX-License-Identifier: MIT
  4. */
  5. import { describe, it, expect, beforeEach } from 'vitest';
  6. import { OperationRegistry, Operation } from '../src';
  7. import { createHistoryContainer } from '../__mocks__/history-container.mock';
  8. import { insertNodeOperationMeta } from '../__mocks__/editor.mock';
  9. describe('operation-registry', () => {
  10. let operationRegistry: OperationRegistry;
  11. let container;
  12. beforeEach(() => {
  13. container = createHistoryContainer();
  14. operationRegistry = container.get(OperationRegistry);
  15. });
  16. it('registerOperationMeta success should return correct operationMeta', () => {
  17. const operationMeta = {
  18. type: 'test',
  19. inverse: (op: Operation) => op,
  20. label: 'test',
  21. description: 'test',
  22. apply: () => {},
  23. };
  24. operationRegistry.registerOperationMeta(operationMeta);
  25. expect(operationRegistry.getOperationMeta(operationMeta.type)).toEqual(operationMeta);
  26. });
  27. it('register by contribution success should return correct operationMeta', () => {
  28. expect(operationRegistry.getOperationMeta(insertNodeOperationMeta.type)).toEqual(
  29. insertNodeOperationMeta,
  30. );
  31. });
  32. });