summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/Footer.test.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/Footer.test.tsx')
-rw-r--r--packages/cli/src/ui/components/Footer.test.tsx53
1 files changed, 53 insertions, 0 deletions
diff --git a/packages/cli/src/ui/components/Footer.test.tsx b/packages/cli/src/ui/components/Footer.test.tsx
index 5e79eea4..e3673dfe 100644
--- a/packages/cli/src/ui/components/Footer.test.tsx
+++ b/packages/cli/src/ui/components/Footer.test.tsx
@@ -103,4 +103,57 @@ describe('<Footer />', () => {
expect(lastFrame()).toContain(defaultProps.model);
expect(lastFrame()).toMatch(/\(\d+% context[\s\S]*left\)/);
});
+
+ describe('sandbox and trust info', () => {
+ it('should display untrusted when isTrustedFolder is false', () => {
+ const { lastFrame } = renderWithWidth(120, {
+ ...defaultProps,
+ isTrustedFolder: false,
+ });
+ expect(lastFrame()).toContain('untrusted');
+ });
+
+ it('should display custom sandbox info when SANDBOX env is set', () => {
+ vi.stubEnv('SANDBOX', 'gemini-cli-test-sandbox');
+ const { lastFrame } = renderWithWidth(120, {
+ ...defaultProps,
+ isTrustedFolder: undefined,
+ });
+ expect(lastFrame()).toContain('test');
+ vi.unstubAllEnvs();
+ });
+
+ it('should display macOS Seatbelt info when SANDBOX is sandbox-exec', () => {
+ vi.stubEnv('SANDBOX', 'sandbox-exec');
+ vi.stubEnv('SEATBELT_PROFILE', 'test-profile');
+ const { lastFrame } = renderWithWidth(120, {
+ ...defaultProps,
+ isTrustedFolder: true,
+ });
+ expect(lastFrame()).toMatch(/macOS Seatbelt.*\(test-profile\)/s);
+ vi.unstubAllEnvs();
+ });
+
+ it('should display "no sandbox" when SANDBOX is not set and folder is trusted', () => {
+ // Clear any SANDBOX env var that might be set.
+ vi.stubEnv('SANDBOX', '');
+ const { lastFrame } = renderWithWidth(120, {
+ ...defaultProps,
+ isTrustedFolder: true,
+ });
+ expect(lastFrame()).toContain('no sandbox');
+ vi.unstubAllEnvs();
+ });
+
+ it('should prioritize untrusted message over sandbox info', () => {
+ vi.stubEnv('SANDBOX', 'gemini-cli-test-sandbox');
+ const { lastFrame } = renderWithWidth(120, {
+ ...defaultProps,
+ isTrustedFolder: false,
+ });
+ expect(lastFrame()).toContain('untrusted');
+ expect(lastFrame()).not.toMatch(/test-sandbox/s);
+ vi.unstubAllEnvs();
+ });
+ });
});