Skip to content
This repository was archived by the owner on Sep 20, 2024. It is now read-only.

Commit 096b067

Browse files
committed
test: add test for custom icon and update snapshot
1 parent 082c70b commit 096b067

File tree

2 files changed

+53
-2
lines changed

2 files changed

+53
-2
lines changed

packages/c-icon/tests/__snapshots__/c-icon.test.ts.snap

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3+
exports[`should render custom icon properly 1`] = `
4+
<DocumentFragment>
5+
<svg
6+
class="chakra-icon css-stgirh"
7+
focusable="false"
8+
viewBox="0 0 496 512"
9+
>
10+
<path
11+
d="M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z"
12+
fa-key="3"
13+
fill="currentColor"
14+
/>
15+
</svg>
16+
</DocumentFragment>
17+
`;
18+
319
exports[`should render properly 1`] = `
420
<DocumentFragment>
521
<svg

packages/c-icon/tests/c-icon.test.ts

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,42 @@
1-
import { render } from '../../test-utils/src'
21
import { CIcon } from '../src'
2+
import { render, testA11y } from '../../test-utils/src'
3+
import { provide } from 'vue'
4+
5+
const renderComponent = (props?: any) => {
6+
const base = {
7+
components: {
8+
CIcon,
9+
},
10+
template: '<CIcon name="star" />',
11+
...props,
12+
}
13+
return render(base)
14+
}
315

416
it('should render properly', () => {
5-
const { asFragment } = render(CIcon)
17+
const { asFragment } = renderComponent()
18+
expect(asFragment()).toMatchSnapshot()
19+
})
20+
21+
it('should have no a11y violations', async () => {
22+
await testA11y(renderComponent())
23+
})
24+
25+
it('should render custom icon properly', async () => {
26+
const icons = {
27+
discord: {
28+
path:
29+
'<path fill="currentColor" d="M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z" fa-key="3" fill="currentColor"></path>',
30+
viewBox: '0 0 496 512',
31+
},
32+
}
33+
34+
const { asFragment } = renderComponent({
35+
template: '<c-icon size="10" name="discord" />',
36+
setup() {
37+
provide('$chakraIcons', icons)
38+
},
39+
})
40+
641
expect(asFragment()).toMatchSnapshot()
742
})

0 commit comments

Comments
 (0)