aboutsummaryrefslogtreecommitdiff
path: root/src/lib/components/error_block
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2022-05-01 00:56:06 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2022-05-01 00:56:06 +0200
commita7cf03c192470cbab13edeb1aec99e0c66dede10 (patch)
tree581b4430d1de958dcb666bae80a7678332134602 /src/lib/components/error_block
parent010f307346e525ac2e4239a0549d2c1a4d6d102b (diff)
Update / use typescript
Diffstat (limited to 'src/lib/components/error_block')
-rw-r--r--src/lib/components/error_block/error_block.svelte40
-rw-r--r--src/lib/components/error_block/error_block.test.ts32
2 files changed, 72 insertions, 0 deletions
diff --git a/src/lib/components/error_block/error_block.svelte b/src/lib/components/error_block/error_block.svelte
new file mode 100644
index 0000000..d25f507
--- /dev/null
+++ b/src/lib/components/error_block/error_block.svelte
@@ -0,0 +1,40 @@
+<script lang="ts">
+ import { _ } from 'svelte-i18n';
+ export let message = null;
+
+ import { blink } from '$lib/animations/blink';
+</script>
+
+<div transition:blink>
+ <h2>{$_('error.generic.title')}</h2>
+ <p>{message || $_('error.generic.message')}</p>
+</div>
+
+<style>
+ div {
+ background: repeating-linear-gradient(-45deg, red, red 5px, black 5px, black 10px);
+ border: 5px solid red;
+ color: yellow;
+ font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック', '游ゴシック体',
+ YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', HiraKakuProN-W3,
+ 'TakaoExゴシック', TakaoExGothic, 'MotoyaLCedar', 'Droid Sans Japanese', sans-serif;
+ margin: 0 10px 0 0;
+ text-align: center;
+ overflow: hidden;
+ }
+
+ h2,
+ p {
+ background-color: black;
+ font-size: 1em;
+ }
+
+ h2 {
+ text-transform: uppercase;
+ margin: 100px 5px 10px;
+ }
+
+ p {
+ margin: 10px 5px 100px;
+ }
+</style>
diff --git a/src/lib/components/error_block/error_block.test.ts b/src/lib/components/error_block/error_block.test.ts
new file mode 100644
index 0000000..d2ac458
--- /dev/null
+++ b/src/lib/components/error_block/error_block.test.ts
@@ -0,0 +1,32 @@
+/**
+ * @jest-environment jsdom
+ */
+
+import '@testing-library/jest-dom/extend-expect';
+
+import { render } from '@testing-library/svelte';
+import '$lib/i18n';
+
+import ErrorBlock from './error_block.svelte';
+
+describe('Error Block component', () => {
+
+ test('Should display error message sent', () => {
+
+ const results = render(ErrorBlock, { props: {
+ message: 'An error has, sadly, destroyed everything.'
+ } });
+
+ expect(results.getByText('An error has, sadly, destroyed everything.'))
+ .toBeVisible();
+ });
+
+ test('Should display default error message', () => {
+
+ const results = render(ErrorBlock);
+
+ expect(results.getByText('Unknown error has occurred. Panic!'))
+ .toBeVisible();
+ });
+});
+