From 8449fe0988e21dadf0db96b363fda347d93fa0e2 Mon Sep 17 00:00:00 2001 From: grypez <143971198+grypez@users.noreply.github.com> Date: Thu, 17 Oct 2024 23:29:26 -0500 Subject: [PATCH] add marshal roundtrip test to extension --- packages/extension/package.json | 1 + packages/extension/src/marshal.test.ts | 17 +++++++++++++++++ yarn.lock | 1 + 3 files changed, 19 insertions(+) create mode 100644 packages/extension/src/marshal.test.ts diff --git a/packages/extension/package.json b/packages/extension/package.json index 8347bf599..d96b8de5f 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -39,6 +39,7 @@ "@endo/promise-kit": "^1.1.6", "@metamask/snaps-utils": "^8.3.0", "@metamask/utils": "^9.3.0", + "@ocap/errors": "workspace:^", "@ocap/kernel": "workspace:^", "@ocap/shims": "workspace:^", "@ocap/streams": "workspace:^", diff --git a/packages/extension/src/marshal.test.ts b/packages/extension/src/marshal.test.ts new file mode 100644 index 000000000..90598e255 --- /dev/null +++ b/packages/extension/src/marshal.test.ts @@ -0,0 +1,17 @@ +import '@ocap/shims/endoify'; +import { + marshalError, + unmarshalError, + VatAlreadyExistsError, +} from '@ocap/errors'; +import { describe, it, expect } from 'vitest'; + +describe('marshal', () => { + it('should round trip a thrown error', async () => { + const thrown = new VatAlreadyExistsError('v123'); + const marshaled = marshalError(thrown); + const received = unmarshalError(marshaled); + + expect(received).toStrictEqual(thrown); + }); +}); diff --git a/yarn.lock b/yarn.lock index 8312a704f..08b901b01 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1514,6 +1514,7 @@ __metadata: "@metamask/eslint-config-typescript": "npm:^14.0.0" "@metamask/snaps-utils": "npm:^8.3.0" "@metamask/utils": "npm:^9.3.0" + "@ocap/errors": "workspace:^" "@ocap/kernel": "workspace:^" "@ocap/shims": "workspace:^" "@ocap/streams": "workspace:^"