hermes-agent/tests-js
ethernet dbf86b9234 test: port macOS entitlements test from Python to vitest
tests/test_desktop_mac_entitlements.py asserts about
apps/desktop/electron/*.plist — the same CI blind spot as the other
ported tests: the change classifier routes apps/ changes to the
frontend lane, so a PR touching only the plists would skip the Python
suite and the regression would go green on the PR and red on main.

Ported to tests-js/desktop-mac-entitlements.test.ts so it runs in the
correct lane. All three tests carry over: the inherit plist grants
audio-input (regression #37718), every device.* entitlement on the
main app is also inherited, and both files remain well-formed.

Parsing uses the `plist` package (pinned to ^3.1.0, the version
already present in the workspace lockfile, so no new transitive
packages) plus `@types/plist` — Node's stand-in for plistlib.

Verified: tests-js `npm run check` passes (typecheck + 9/9 tests), and
a mutation run (removing audio-input from the inherit plist) turns
both regression tests red.
2026-07-15 17:24:12 -04:00
..
assistant-ui-tap-compat.test.ts
desktop-mac-entitlements.test.ts test: port macOS entitlements test from Python to vitest 2026-07-15 17:24:12 -04:00
eslint.config.mjs
package-json-lazy-deps.test.ts
package.json test: port macOS entitlements test from Python to vitest 2026-07-15 17:24:12 -04:00
tsconfig.json
vitest.config.ts