@quake2ts/test-utils 0.0.805 → 0.0.807
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/dist/index.cjs +54 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/engine/renderers.ts +31 -0
- package/src/index.ts +1 -0
package/dist/index.cjs
CHANGED
|
@@ -88,6 +88,7 @@ __export(index_exports, {
|
|
|
88
88
|
createInputInjector: () => createInputInjector,
|
|
89
89
|
createInterpolationTestData: () => createInterpolationTestData,
|
|
90
90
|
createItemEntityFactory: () => createItemEntityFactory,
|
|
91
|
+
createLoggingRenderer: () => createLoggingRenderer,
|
|
91
92
|
createMessageReaderMock: () => createMessageReaderMock,
|
|
92
93
|
createMessageWriterMock: () => createMessageWriterMock,
|
|
93
94
|
createMockAI: () => createMockAI,
|
|
@@ -206,6 +207,7 @@ __export(index_exports, {
|
|
|
206
207
|
createMonsterEntityFactory: () => createMonsterEntityFactory,
|
|
207
208
|
createMultiplayerTestScenario: () => createMultiplayerTestScenario,
|
|
208
209
|
createNetChanMock: () => createNetChanMock,
|
|
210
|
+
createNullRenderer: () => createNullRenderer,
|
|
209
211
|
createPacketMock: () => createPacketMock,
|
|
210
212
|
createPhysicsTestContext: () => createPhysicsTestContext,
|
|
211
213
|
createPhysicsTestScenario: () => createPhysicsTestScenario,
|
|
@@ -233,6 +235,8 @@ __export(index_exports, {
|
|
|
233
235
|
createWebGLPlaywrightSetup: () => createWebGLPlaywrightSetup,
|
|
234
236
|
createWebGLRenderTestSetup: () => createWebGLRenderTestSetup,
|
|
235
237
|
expectAnimationSnapshot: () => expectAnimationSnapshot,
|
|
238
|
+
expectNoDoubleTransform: () => expectNoDoubleTransform,
|
|
239
|
+
expectRendererCalls: () => expectRendererCalls,
|
|
236
240
|
expectSnapshot: () => expectSnapshot,
|
|
237
241
|
findPakFile: () => findPakFile,
|
|
238
242
|
flipPixelsVertically: () => flipPixelsVertically,
|
|
@@ -4778,9 +4782,31 @@ function createSolidTexture(width, height, color) {
|
|
|
4778
4782
|
return data;
|
|
4779
4783
|
}
|
|
4780
4784
|
|
|
4785
|
+
// src/engine/renderers.ts
|
|
4786
|
+
var import_engine8 = require("@quake2ts/engine");
|
|
4787
|
+
var import_vitest19 = require("vitest");
|
|
4788
|
+
function createNullRenderer(width = 800, height = 600) {
|
|
4789
|
+
return new import_engine8.NullRenderer(width, height);
|
|
4790
|
+
}
|
|
4791
|
+
function createLoggingRenderer(targetSystem = import_engine8.CoordinateSystem.QUAKE, options) {
|
|
4792
|
+
return new import_engine8.LoggingRenderer({
|
|
4793
|
+
targetSystem,
|
|
4794
|
+
...options
|
|
4795
|
+
});
|
|
4796
|
+
}
|
|
4797
|
+
function expectRendererCalls(renderer, expectedCalls) {
|
|
4798
|
+
const actualCalls = renderer.getCallLog();
|
|
4799
|
+
(0, import_vitest19.expect)(actualCalls).toEqual(expectedCalls);
|
|
4800
|
+
}
|
|
4801
|
+
function expectNoDoubleTransform(renderer) {
|
|
4802
|
+
const logs = renderer.getLogs();
|
|
4803
|
+
const warnings = logs.filter((log) => log.includes("double-transform"));
|
|
4804
|
+
(0, import_vitest19.expect)(warnings).toHaveLength(0);
|
|
4805
|
+
}
|
|
4806
|
+
|
|
4781
4807
|
// src/client/helpers/view.ts
|
|
4782
4808
|
var import_gl_matrix = require("gl-matrix");
|
|
4783
|
-
var
|
|
4809
|
+
var import_engine9 = require("@quake2ts/engine");
|
|
4784
4810
|
function toVec3(v) {
|
|
4785
4811
|
if (v instanceof Float32Array && v.length === 3) {
|
|
4786
4812
|
return v;
|
|
@@ -4794,7 +4820,7 @@ function toVec3(v) {
|
|
|
4794
4820
|
return import_gl_matrix.vec3.create();
|
|
4795
4821
|
}
|
|
4796
4822
|
function createMockCamera(overrides = {}) {
|
|
4797
|
-
const camera = new
|
|
4823
|
+
const camera = new import_engine9.Camera();
|
|
4798
4824
|
if (overrides.position) {
|
|
4799
4825
|
camera.position = toVec3(overrides.position);
|
|
4800
4826
|
}
|
|
@@ -4882,7 +4908,7 @@ function simulateCameraMovement(camera, input, deltaTime) {
|
|
|
4882
4908
|
}
|
|
4883
4909
|
|
|
4884
4910
|
// src/client/helpers/hud.ts
|
|
4885
|
-
var
|
|
4911
|
+
var import_vitest20 = require("vitest");
|
|
4886
4912
|
function createMockHudState(overrides) {
|
|
4887
4913
|
const defaultPs = {
|
|
4888
4914
|
damageAlpha: 0,
|
|
@@ -4912,11 +4938,11 @@ function createMockHudState(overrides) {
|
|
|
4912
4938
|
defaultStats[2] = 25;
|
|
4913
4939
|
defaultStats[4] = 50;
|
|
4914
4940
|
const defaultMessages = {
|
|
4915
|
-
drawCenterPrint:
|
|
4916
|
-
drawNotifications:
|
|
4917
|
-
addCenterPrint:
|
|
4918
|
-
addNotification:
|
|
4919
|
-
clear:
|
|
4941
|
+
drawCenterPrint: import_vitest20.vi.fn(),
|
|
4942
|
+
drawNotifications: import_vitest20.vi.fn(),
|
|
4943
|
+
addCenterPrint: import_vitest20.vi.fn(),
|
|
4944
|
+
addNotification: import_vitest20.vi.fn(),
|
|
4945
|
+
clear: import_vitest20.vi.fn()
|
|
4920
4946
|
};
|
|
4921
4947
|
return {
|
|
4922
4948
|
ps: overrides?.ps ?? defaultPs,
|
|
@@ -4935,7 +4961,7 @@ function createMockHudState(overrides) {
|
|
|
4935
4961
|
function createMockScoreboard(players = []) {
|
|
4936
4962
|
return {
|
|
4937
4963
|
players,
|
|
4938
|
-
draw:
|
|
4964
|
+
draw: import_vitest20.vi.fn()
|
|
4939
4965
|
};
|
|
4940
4966
|
}
|
|
4941
4967
|
function createMockChatMessage(text, sender, timestamp = Date.now()) {
|
|
@@ -4954,7 +4980,7 @@ function createMockNotification(type, message, duration = 3e3) {
|
|
|
4954
4980
|
}
|
|
4955
4981
|
|
|
4956
4982
|
// src/client/mocks/network.ts
|
|
4957
|
-
var
|
|
4983
|
+
var import_engine10 = require("@quake2ts/engine");
|
|
4958
4984
|
function createMockServerMessage(type, data = new Uint8Array()) {
|
|
4959
4985
|
return { type, data };
|
|
4960
4986
|
}
|
|
@@ -4966,7 +4992,7 @@ function createMockSnapshot(serverFrame, entities = [], playerState, deltaFrame
|
|
|
4966
4992
|
areaBytes: 0,
|
|
4967
4993
|
areaBits: new Uint8Array(),
|
|
4968
4994
|
playerState: {
|
|
4969
|
-
...(0,
|
|
4995
|
+
...(0, import_engine10.createEmptyProtocolPlayerState)(),
|
|
4970
4996
|
...playerState
|
|
4971
4997
|
},
|
|
4972
4998
|
packetEntities: {
|
|
@@ -4983,7 +5009,7 @@ function createMockDeltaFrame(serverFrame, deltaFrame, entities = [], playerStat
|
|
|
4983
5009
|
areaBytes: 0,
|
|
4984
5010
|
areaBits: new Uint8Array(),
|
|
4985
5011
|
playerState: {
|
|
4986
|
-
...(0,
|
|
5012
|
+
...(0, import_engine10.createEmptyProtocolPlayerState)(),
|
|
4987
5013
|
...playerState
|
|
4988
5014
|
},
|
|
4989
5015
|
packetEntities: {
|
|
@@ -5003,7 +5029,7 @@ function simulatePacketLoss(messages, lossPercent) {
|
|
|
5003
5029
|
return messages.filter(() => Math.random() * 100 >= lossPercent);
|
|
5004
5030
|
}
|
|
5005
5031
|
function createMockEntityState(number, modelIndex = 0, origin = { x: 0, y: 0, z: 0 }, overrides) {
|
|
5006
|
-
const state = (0,
|
|
5032
|
+
const state = (0, import_engine10.createEmptyEntityState)();
|
|
5007
5033
|
state.number = number;
|
|
5008
5034
|
state.modelindex = modelIndex;
|
|
5009
5035
|
state.origin.x = origin.x ?? 0;
|
|
@@ -5034,12 +5060,12 @@ function createMockFogData(overrides = {}) {
|
|
|
5034
5060
|
}
|
|
5035
5061
|
|
|
5036
5062
|
// src/client/mocks/download.ts
|
|
5037
|
-
var
|
|
5063
|
+
var import_vitest21 = require("vitest");
|
|
5038
5064
|
function createMockDownloadManager(overrides) {
|
|
5039
5065
|
return {
|
|
5040
|
-
download:
|
|
5041
|
-
cancel:
|
|
5042
|
-
getProgress:
|
|
5066
|
+
download: import_vitest21.vi.fn().mockResolvedValue(new ArrayBuffer(0)),
|
|
5067
|
+
cancel: import_vitest21.vi.fn(),
|
|
5068
|
+
getProgress: import_vitest21.vi.fn().mockReturnValue(0),
|
|
5043
5069
|
...overrides
|
|
5044
5070
|
};
|
|
5045
5071
|
}
|
|
@@ -5148,20 +5174,20 @@ var createMockConnectionState = (state = "connected") => ({
|
|
|
5148
5174
|
});
|
|
5149
5175
|
|
|
5150
5176
|
// src/client/mocks/console.ts
|
|
5151
|
-
var
|
|
5177
|
+
var import_vitest22 = require("vitest");
|
|
5152
5178
|
function createMockConsole(overrides) {
|
|
5153
5179
|
const history = [];
|
|
5154
5180
|
const errors = [];
|
|
5155
5181
|
const commands = {};
|
|
5156
5182
|
const cvars = {};
|
|
5157
5183
|
return {
|
|
5158
|
-
print:
|
|
5184
|
+
print: import_vitest22.vi.fn((text) => {
|
|
5159
5185
|
history.push(text);
|
|
5160
5186
|
}),
|
|
5161
|
-
error:
|
|
5187
|
+
error: import_vitest22.vi.fn((text) => {
|
|
5162
5188
|
errors.push(text);
|
|
5163
5189
|
}),
|
|
5164
|
-
execute:
|
|
5190
|
+
execute: import_vitest22.vi.fn((text) => {
|
|
5165
5191
|
const parts = text.trim().split(/\s+/);
|
|
5166
5192
|
const cmd = parts[0];
|
|
5167
5193
|
const args = parts.slice(1);
|
|
@@ -5171,11 +5197,11 @@ function createMockConsole(overrides) {
|
|
|
5171
5197
|
history.push(`Unknown command "${cmd}"`);
|
|
5172
5198
|
}
|
|
5173
5199
|
}),
|
|
5174
|
-
addCommand:
|
|
5200
|
+
addCommand: import_vitest22.vi.fn((name, handler) => {
|
|
5175
5201
|
commands[name] = handler;
|
|
5176
5202
|
}),
|
|
5177
|
-
getCvar:
|
|
5178
|
-
setCvar:
|
|
5203
|
+
getCvar: import_vitest22.vi.fn((name) => cvars[name]),
|
|
5204
|
+
setCvar: import_vitest22.vi.fn((name, value) => {
|
|
5179
5205
|
cvars[name] = value;
|
|
5180
5206
|
}),
|
|
5181
5207
|
getHistory: () => history,
|
|
@@ -5619,6 +5645,7 @@ function createVisualTestScenario(sceneName) {
|
|
|
5619
5645
|
createInputInjector,
|
|
5620
5646
|
createInterpolationTestData,
|
|
5621
5647
|
createItemEntityFactory,
|
|
5648
|
+
createLoggingRenderer,
|
|
5622
5649
|
createMessageReaderMock,
|
|
5623
5650
|
createMessageWriterMock,
|
|
5624
5651
|
createMockAI,
|
|
@@ -5737,6 +5764,7 @@ function createVisualTestScenario(sceneName) {
|
|
|
5737
5764
|
createMonsterEntityFactory,
|
|
5738
5765
|
createMultiplayerTestScenario,
|
|
5739
5766
|
createNetChanMock,
|
|
5767
|
+
createNullRenderer,
|
|
5740
5768
|
createPacketMock,
|
|
5741
5769
|
createPhysicsTestContext,
|
|
5742
5770
|
createPhysicsTestScenario,
|
|
@@ -5764,6 +5792,8 @@ function createVisualTestScenario(sceneName) {
|
|
|
5764
5792
|
createWebGLPlaywrightSetup,
|
|
5765
5793
|
createWebGLRenderTestSetup,
|
|
5766
5794
|
expectAnimationSnapshot,
|
|
5795
|
+
expectNoDoubleTransform,
|
|
5796
|
+
expectRendererCalls,
|
|
5767
5797
|
expectSnapshot,
|
|
5768
5798
|
findPakFile,
|
|
5769
5799
|
flipPixelsVertically,
|