Files
spoon/apps/next/tests/unit/workspace-languages.test.ts
T
2026-06-23 01:46:08 -04:00

28 lines
989 B
TypeScript

import { describe, expect, it } from 'vitest';
import {
basename,
languageForPath,
} from '../../src/components/agent-workspace/languages';
describe('workspace language helpers', () => {
it('maps common code file extensions to Monaco languages', () => {
expect(languageForPath('src/app.ts')).toBe('typescript');
expect(languageForPath('src/app.tsx')).toBe('typescript');
expect(languageForPath('src/app.js')).toBe('javascript');
expect(languageForPath('package.json')).toBe('json');
expect(languageForPath('README.md')).toBe('markdown');
expect(languageForPath('.env.local')).toBe('plaintext');
});
it('lets Monaco fall back for unknown paths', () => {
expect(languageForPath('Gemfile')).toBeUndefined();
expect(languageForPath()).toBeUndefined();
});
it('returns a useful basename for file tabs', () => {
expect(basename('src/components/button.tsx')).toBe('button.tsx');
expect(basename('README.md')).toBe('README.md');
});
});