Skip to content

Commit a807713

Browse files
feat: test coverage
1 parent 719a6e9 commit a807713

File tree

16 files changed

+95
-0
lines changed

16 files changed

+95
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"entry": "x/main",
3+
"ssrFiles": {
4+
"error": "error-ssr.txt",
5+
"expected": "expected-ssr.html"
6+
}
7+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Attempted to connect to trusted context but received the following error: Multiple contexts of the same variety were provided.

packages/@lwc/engine-server/src/__tests__/fixtures/context-binding/duplicate-context/error.txt

Whitespace-only changes.

packages/@lwc/engine-server/src/__tests__/fixtures/context-binding/duplicate-context/expected-ssr.html

Whitespace-only changes.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<fixture-test>
2+
<template shadowrootmode="open">
3+
<div>
4+
context one value: context one
5+
</div>
6+
<div>
7+
context two value: context two
8+
</div>
9+
</template>
10+
</fixture-test>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class MockContextSignal {
2+
connectProvidedComponent;
3+
disconnectProvidedComponent;
4+
providedContextSignal;
5+
6+
constructor(initialValue, contextDefinition, fromContext) {
7+
this.value = initialValue;
8+
this.contextDefinition = contextDefinition;
9+
this.fromContext = fromContext;
10+
trustedContext.add(this);
11+
}
12+
[connectContext](runtimeAdapter) {
13+
this.connectProvidedComponent = runtimeAdapter.component;
14+
15+
runtimeAdapter.provideContext(this.contextDefinition, this);
16+
17+
if (this.fromContext) {
18+
runtimeAdapter.consumeContext(this.fromContext, (providedContextSignal) => {
19+
this.providedContextSignal = providedContextSignal;
20+
this.value = providedContextSignal.value;
21+
});
22+
}
23+
}
24+
[disconnectContext](component) {
25+
this.disconnectProvidedComponent = component;
26+
}
27+
}
28+
29+
export const defineContext = (fromContext) => {
30+
const contextDefinition = (initialValue) =>
31+
new MockContextSignal(initialValue, contextDefinition, fromContext);
32+
return contextDefinition;
33+
};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<template>
2+
<div>context one value: {contextOne.value}</div>
3+
<div>context two value: {contextTwo.value}</div>
4+
</template>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { LightningElement } from 'lwc';
2+
import { defineContext } from 'x/contextManager';
3+
const contextFactory = defineContext();
4+
export default class Main extends LightningElement {
5+
contextOne = contextFactory('context one');
6+
contextTwo = contextFactory('context two');
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"entry": "x/main",
3+
"ssrFiles": {
4+
"error": "error-ssr.txt",
5+
"expected": "expected-ssr.html"
6+
}
7+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Attempted to connect to trusted context but received the following error: le[contextfulKeys[i]][connectContext2] is not a function

0 commit comments

Comments
 (0)