@rpgjs/testing 3.3.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +3 -2
- package/lib/index.js +33 -10
- package/lib/index.js.map +1 -1
- package/package.json +8 -7
package/lib/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import { ModuleType } from '@rpgjs/common';
|
|
|
2
2
|
import { RpgServerEngine, RpgPlayer } from '@rpgjs/server';
|
|
3
3
|
import { RpgClientEngine } from '@rpgjs/client';
|
|
4
4
|
import { ObjectFixtureList, Position } from '@rpgjs/types';
|
|
5
|
-
|
|
5
|
+
type ClientTesting = {
|
|
6
6
|
client: RpgClientEngine;
|
|
7
7
|
socket: any;
|
|
8
8
|
playerId: string;
|
|
9
9
|
player: RpgPlayer;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
type PositionMap = string | Position;
|
|
12
12
|
interface Testing {
|
|
13
13
|
/**
|
|
14
14
|
* Allows you to create a client and get fixtures to manipulate it during tests
|
|
@@ -98,4 +98,5 @@ export declare function clear(): void;
|
|
|
98
98
|
* @memberof Testing
|
|
99
99
|
*/
|
|
100
100
|
export declare function nextTick(client: RpgClientEngine, timestamp?: number): Promise<ObjectFixtureList>;
|
|
101
|
+
export declare function waitUntil(promise: Promise<any>): Promise<any>;
|
|
101
102
|
export {};
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nextTick = exports.clear = exports.testing = void 0;
|
|
3
|
+
exports.waitUntil = exports.nextTick = exports.clear = exports.testing = void 0;
|
|
4
4
|
const common_1 = require("@rpgjs/common");
|
|
5
5
|
const server_1 = require("@rpgjs/server");
|
|
6
6
|
const client_1 = require("@rpgjs/client");
|
|
@@ -13,7 +13,7 @@ function changeMap(client, server, mapId, position) {
|
|
|
13
13
|
common_1.RpgPlugin.off(common_1.HookClient.BeforeSceneLoading);
|
|
14
14
|
common_1.RpgPlugin.off(common_1.HookClient.AfterSceneLoading);
|
|
15
15
|
common_1.RpgPlugin.on(common_1.HookClient.BeforeSceneLoading, () => {
|
|
16
|
-
PIXI.utils.clearTextureCache();
|
|
16
|
+
client.PIXI.utils.clearTextureCache();
|
|
17
17
|
});
|
|
18
18
|
common_1.RpgPlugin.on(common_1.HookClient.AfterSceneLoading, () => {
|
|
19
19
|
client.nextFrame(0); // render scene
|
|
@@ -35,12 +35,20 @@ function changeMap(client, server, mapId, position) {
|
|
|
35
35
|
*/
|
|
36
36
|
async function testing(modules, optionsServer = {}, optionsClient = {}) {
|
|
37
37
|
common_1.RpgPlugin.clear();
|
|
38
|
-
const engine = await (0, server_1.entryPoint)(modules,
|
|
38
|
+
const engine = await (0, server_1.entryPoint)(modules, {
|
|
39
|
+
io: serverIo,
|
|
40
|
+
standalone: true,
|
|
41
|
+
...optionsServer
|
|
42
|
+
});
|
|
39
43
|
engine.start(null, false);
|
|
40
44
|
server = engine;
|
|
41
45
|
clients = [];
|
|
42
46
|
const createClient = async function createClient() {
|
|
43
|
-
const client = (0, client_1.entryPoint)(modules,
|
|
47
|
+
const client = (0, client_1.entryPoint)(modules, {
|
|
48
|
+
io: new ClientIo(),
|
|
49
|
+
standalone: true,
|
|
50
|
+
...optionsClient
|
|
51
|
+
});
|
|
44
52
|
await client.start({
|
|
45
53
|
renderLoop: false
|
|
46
54
|
});
|
|
@@ -94,12 +102,6 @@ function clear() {
|
|
|
94
102
|
server_1.RpgMap.buffer.clear();
|
|
95
103
|
common_1.RpgPlugin.clear();
|
|
96
104
|
serverIo.clear();
|
|
97
|
-
for (let textureUrl in PIXI.utils.BaseTextureCache) {
|
|
98
|
-
delete PIXI.utils.BaseTextureCache[textureUrl];
|
|
99
|
-
}
|
|
100
|
-
for (let textureUrl in PIXI.utils.TextureCache) {
|
|
101
|
-
delete PIXI.utils.TextureCache[textureUrl];
|
|
102
|
-
}
|
|
103
105
|
window.document.body.innerHTML = `<div id="rpg"></div>`;
|
|
104
106
|
}
|
|
105
107
|
exports.clear = clear;
|
|
@@ -131,4 +133,25 @@ function nextTick(client, timestamp = 0) {
|
|
|
131
133
|
});
|
|
132
134
|
}
|
|
133
135
|
exports.nextTick = nextTick;
|
|
136
|
+
function waitUntil(promise) {
|
|
137
|
+
let tick = 0;
|
|
138
|
+
let finish = false;
|
|
139
|
+
return new Promise((resolve, reject) => {
|
|
140
|
+
promise.then(() => {
|
|
141
|
+
finish = true;
|
|
142
|
+
resolve();
|
|
143
|
+
}).catch(reject);
|
|
144
|
+
const timeout = () => {
|
|
145
|
+
setTimeout(() => {
|
|
146
|
+
if (!finish) {
|
|
147
|
+
tick++;
|
|
148
|
+
server.nextTick(tick);
|
|
149
|
+
timeout();
|
|
150
|
+
}
|
|
151
|
+
}, 10);
|
|
152
|
+
};
|
|
153
|
+
timeout();
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
exports.waitUntil = waitUntil;
|
|
134
157
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAqF;AACrF,0CAAwF;AACxF,0CAA+E;AAG/E,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAM,CAAA;AA0DrC,IAAI,MAAuB,CAAA;AAC3B,IAAI,OAA0B,CAAA;AAE9B,SAAS,SAAS,CAAC,MAAuB,EAAE,MAAuB,EAAE,KAAa,EAAE,QAAsB;IACtG,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;QACtC,IAAI,MAAM,GAAG,iBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChD,kBAAS,CAAC,GAAG,CAAC,mBAAU,CAAC,kBAAkB,CAAC,CAAA;QAC5C,kBAAS,CAAC,GAAG,CAAC,mBAAU,CAAC,iBAAiB,CAAC,CAAA;QAC3C,kBAAS,CAAC,EAAE,CAAC,mBAAU,CAAC,kBAAkB,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rpgjs/testing",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -17,13 +17,14 @@
|
|
|
17
17
|
"author": "Samuel Ronce",
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@rpgjs/client": "^
|
|
21
|
-
"@rpgjs/common": "^
|
|
22
|
-
"@rpgjs/server": "^
|
|
23
|
-
"@rpgjs/types": "^
|
|
20
|
+
"@rpgjs/client": "^4.0.0-beta.10",
|
|
21
|
+
"@rpgjs/common": "^4.0.0-beta.10",
|
|
22
|
+
"@rpgjs/server": "^4.0.0-beta.10",
|
|
23
|
+
"@rpgjs/types": "^4.0.0-beta.10"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "3f2cc83f8738e0dd3503d3d3408a18bc2d8add71",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"
|
|
27
|
+
"@types/css-font-loading-module": "^0.0.8",
|
|
28
|
+
"typescript": "^5.0.2"
|
|
28
29
|
}
|
|
29
30
|
}
|