Skip to content

Commit 36d9d9e

Browse files
authored
Merge pull request #12 from cibernox/experiment-with-svelte-inline-components
Experiment with svelte inline components
2 parents 3d1f42c + dccf36e commit 36d9d9e

File tree

7 files changed

+111
-115
lines changed

7 files changed

+111
-115
lines changed

package-lock.json

Lines changed: 69 additions & 94 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"tslib": "^2.3.1",
2929
"typescript": "^4.5.4",
3030
"vitest": "^0.0.138",
31-
"vite-plugin-svelte-inline-compile": "^0.0.1"
31+
"vite-plugin-svelte-inline-components": "file://Users/miguelcamba/code/own/vite-plugin-svelte-inline-components"
3232
},
3333
"type": "module",
3434
"dependencies": {

src/lib/DefinitionEntry.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
<div
55
data-testid="definition-entry"
66
class="{background === 'gray' ? 'bg-gray-50' : 'bg-white'} px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6">
7-
<dt class="text-sm font-medium text-gray-500">
7+
<dt class="text-sm font-medium text-gray-500" data-testid="dt">
88
<slot name="dt"/>
99
</dt>
10-
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2">
10+
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2" data-testid="dd">
1111
<slot name="dd"></slot>
1212
</dd>
1313
</div>

tests/DefinitionEntrt.test.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

tests/DefinitionEntry.test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { cleanup, render } from '@testing-library/svelte'
2+
import { svelte } from 'vite-plugin-svelte-inline-components';
3+
4+
describe('DefinitionEntry.svelte', () => {
5+
// TODO: @testing-library/svelte claims to add this automatically but it doesn't work without explicit afterEach
6+
afterEach(() => cleanup())
7+
8+
it('renders a link with the given href', async () => {
9+
const { getByTestId } = render(await svelte`
10+
<script>import DefinitionEntry from '$lib/DefinitionEntry.svelte';</script>
11+
<DefinitionEntry background="gray">
12+
<svelte:fragment slot="dt">I'm the description term</svelte:fragment>
13+
<svelte:fragment slot="dd">I'm the description definition</svelte:fragment>
14+
</DefinitionEntry>
15+
`);
16+
expect(getByTestId('definition-entry')).to.have.class('bg-gray-50');
17+
expect(getByTestId('dt')).to.have.text("I'm the description term");
18+
expect(getByTestId('dd')).to.have.text("I'm the description definition");
19+
});
20+
});

0 commit comments

Comments
 (0)