Skip to content

Commit 5548c7f

Browse files
committed
test: update fixture
1 parent 4fa1fd9 commit 5548c7f

File tree

2 files changed

+32
-19
lines changed

2 files changed

+32
-19
lines changed

test.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
border-color: #e5e7eb;
1818
}
1919

20-
#map {
21-
margin-top: 50px;
20+
#map,
21+
#map2 {
22+
margin-top: 30px;
2223
height: 300px;
2324
width: 100%;
2425
}
@@ -27,6 +28,7 @@
2728

2829
<body>
2930
<div id="map"></div>
31+
<div id="map2"></div>
3032
<script type="module">
3133
import MindElixir from '/src/index.ts'
3234
window.MindElixir = MindElixir

tests/MindElixirFixture.ts

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,35 @@ export class MindElixirFixture {
1818
async goto() {
1919
await this.page.goto('http://localhost:23333/test.html')
2020
}
21-
async init(data: MindElixirData) {
22-
const mind = await this.page.evaluate(data => {
23-
const MindElixir = window.MindElixir
24-
const options: Options = {
25-
el: '#map',
26-
direction: MindElixir.SIDE,
27-
}
28-
const mind = new MindElixir(options)
29-
mind.init(JSON.parse(JSON.stringify(data)))
30-
window.m = mind
31-
return mind
32-
}, data)
33-
this.m = mind
21+
async init(data: MindElixirData, el = '#map') {
22+
// evaluate return Serializable value
23+
await this.page.evaluate(
24+
({ data, el }) => {
25+
const MindElixir = window.MindElixir
26+
const options: Options = {
27+
el,
28+
direction: MindElixir.SIDE,
29+
}
30+
const mind = new MindElixir(options)
31+
mind.init(JSON.parse(JSON.stringify(data)))
32+
window[el] = mind
33+
return mind
34+
},
35+
{ data, el }
36+
)
3437
}
35-
async getData() {
36-
return await this.page.evaluate(() => {
37-
return window.m.getData()
38-
})
38+
async getInstance(el = '#map') {
39+
const instanceHandle = await this.page.evaluateHandle(el => Promise.resolve(window[el] as MindElixirInstance), el)
40+
return instanceHandle
41+
}
42+
async getData(el = '#map') {
43+
const data = await this.page.evaluate(el => {
44+
return window[el].getData()
45+
}, el)
46+
// console.log(a)
47+
// const dataHandle = await this.page.evaluateHandle(() => Promise.resolve(window.m.getData()))
48+
// const data = await dataHandle.jsonValue()
49+
return data
3950
}
4051
async dblclick(topic: string) {
4152
await this.page.getByText(topic).dblclick({

0 commit comments

Comments
 (0)