test for context

pull/8457/head
Simon Holthausen 3 years ago
parent 931b7f556d
commit 1241f43afd

@ -1,11 +1,16 @@
<svelte:options tag="my-counter" /> <svelte:options tag="my-counter" />
<script> <script>
import { getContext } from "svelte";
export let count = 0; export let count = 0;
const context = getContext("context");
</script> </script>
<slot /> <slot />
<button on:click={() => (count += 1)}>count: {count}</button> <button on:click={() => (count += 1)}>count: {count}</button>
<p>Context {context}</p>
<style> <style>
button { button {

@ -1,10 +1,13 @@
<svelte:options tag="my-app" /> <svelte:options tag="my-app" />
<script> <script>
import { setContext } from "svelte";
import Counter from "./Counter.svelte"; import Counter from "./Counter.svelte";
export let count; export let count;
export let counter; export let counter;
setContext("context", "works");
</script> </script>
<Counter bind:count bind:this={counter}> <Counter bind:count bind:this={counter}>

@ -8,10 +8,12 @@ export default async function (target) {
const el = target.querySelector('my-app'); const el = target.querySelector('my-app');
const button = el.shadowRoot.querySelector('button'); const button = el.shadowRoot.querySelector('button');
const span = el.shadowRoot.querySelector('span'); const span = el.shadowRoot.querySelector('span');
const p = el.shadowRoot.querySelector('p');
assert.equal(el.counter.count, 0); assert.equal(el.counter.count, 0);
assert.equal(button.innerHTML, 'count: 0'); assert.equal(button.innerHTML, 'count: 0');
assert.equal(span.innerHTML, 'slot 0'); assert.equal(span.innerHTML, 'slot 0');
assert.equal(p.innerHTML, 'Context works');
assert.equal(getComputedStyle(button).color, 'rgb(255, 0, 0)'); assert.equal(getComputedStyle(button).color, 'rgb(255, 0, 0)');
await button.dispatchEvent(new MouseEvent('click')); await button.dispatchEvent(new MouseEvent('click'));

Loading…
Cancel
Save