@shopify/theme-language-server-common
Version:
<h1 align="center" style="position: relative;" > <br> <img src="https://github.com/Shopify/theme-check-vscode/blob/main/images/shopify_glyph.png?raw=true" alt="logo" width="141" height="160"> <br> Theme Language Server </h1>
41 lines (35 loc) • 1.65 kB
text/typescript
import { describe, beforeEach, it, expect } from 'vitest';
import { DocumentManager } from '../../documents';
import { HoverProvider } from '../HoverProvider';
describe('Module: HtmlAttributeHoverProvider', async () => {
let provider: HoverProvider;
beforeEach(async () => {
provider = new HoverProvider(new DocumentManager(), {
filters: async () => [],
objects: async () => [],
tags: async () => [],
systemTranslations: async () => ({}),
});
});
it('should return the hover description of the attribute', async () => {
await expect(provider).to.hover(`<a hr█ef="..."></a>`, expect.stringMatching(/
await expect(provider).to.hover(`<a href█="..."></a>`, expect.stringMatching(/
await expect(provider).to.hover(`<img src█="...">`, expect.stringMatching(/
await expect(provider).to.hover(`<img src█='...'>`, expect.stringMatching(/
await expect(provider).to.hover(`<img src█=...>`, expect.stringMatching(/
await expect(provider).to.hover(`<img src█>`, expect.stringMatching(/
});
it('should return the hover description inside if statements', async () => {
await expect(provider).to.hover(
`{% if cond %}<a hr█ef="..."></a>{% endif %}`,
expect.stringMatching(/
);
await expect(provider).to.hover(
`{% if cond %}{% else %}<a hr█ef="..."></a>{% endif %}`,
expect.stringMatching(/
);
});
it('should return nothing if the thing is unknown', async () => {
await expect(provider).to.hover(`<a unkn█own></a>`, null);
});
});