Skip to main content
Glama
deleonio
by deleonio
map-variant-standalone-to-inline.spec.ts2.69 kB
import assert from 'node:assert'; import fs from 'fs'; import os from 'os'; import path from 'path'; import { MapButtonLinkVariantStandaloneToInlineTask, MapLinkVariantStandaloneToInlineTask } from '../src/migrate/runner/tasks/v4/link'; describe('MapVariantStandaloneToInlineTask', () => { it('maps kol-link standalone variant to inline flag in component files', () => { const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kolibri-cli-')); const tsxPath = path.join(tmpDir, 'component.tsx'); fs.writeFileSync(tsxPath, '<KolLink _variant="standalone" />'); MapLinkVariantStandaloneToInlineTask.run(tmpDir); const content = fs.readFileSync(tsxPath, 'utf8'); assert.ok(!content.includes('_variant')); assert.ok(content.includes('_inline={false}')); }); it('maps kol-button-link standalone variant to inline flag in custom element files', () => { const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kolibri-cli-')); const htmlPath = path.join(tmpDir, 'sample.html'); fs.writeFileSync(htmlPath, '<kol-button-link _variant="standalone">Link</kol-button-link>'); MapButtonLinkVariantStandaloneToInlineTask.run(tmpDir); const content = fs.readFileSync(htmlPath, 'utf8'); assert.ok(!content.includes('_variant')); assert.ok(content.includes('_inline="false"')); }); it('removes standalone variant when inline already exists', () => { const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kolibri-cli-')); const htmlPath = path.join(tmpDir, 'sample.html'); fs.writeFileSync(htmlPath, '<kol-link _variant="standalone" _inline="true"></kol-link>'); MapLinkVariantStandaloneToInlineTask.run(tmpDir); const content = fs.readFileSync(htmlPath, 'utf8'); assert.ok(!content.includes('_variant')); assert.ok(content.includes('_inline="true"')); }); it('ignores other variant values', () => { const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'kolibri-cli-')); const tsxPath = path.join(tmpDir, 'component.tsx'); fs.writeFileSync(tsxPath, '<KolLink _variant="primary" />'); MapLinkVariantStandaloneToInlineTask.run(tmpDir); const content = fs.readFileSync(tsxPath, 'utf8'); assert.ok(content.includes('_variant="primary"')); assert.ok(!content.includes('_inline')); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deleonio/public-ui-kolibri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server