mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-14 20:32:17 +02:00
fix an assign bug with tests
This commit is contained in:
parent
c222f0346d
commit
c7d26ac9bc
@ -70,9 +70,10 @@ export function assignNewKey(config: InterfaceConfig, settingName, pressedButton
|
|||||||
config.icons[previousBind.key] = icon;
|
config.icons[previousBind.key] = icon;
|
||||||
config.currentKeys[settingName].icon = icon;
|
config.currentKeys[settingName].icon = icon;
|
||||||
|
|
||||||
config.custom[key] = previousBind.action !== -1 ? previousBind.action : previousBind.from.action;
|
|
||||||
config.custom[previousBind.key] = -1;
|
config.custom[previousBind.key] = -1;
|
||||||
|
config.custom[key] = previousBind.action !== -1 ? previousBind.action : previousBind.from.action;
|
||||||
config.currentKeys[settingName].replacedBy = key;
|
config.currentKeys[settingName].replacedBy = key;
|
||||||
|
config.currentKeys[settingName].latestIsDeleted = false;
|
||||||
|
|
||||||
delete config.currentKeys[settingName].from
|
delete config.currentKeys[settingName].from
|
||||||
}
|
}
|
||||||
@ -81,7 +82,9 @@ export function swapCurrentKeys(config: InterfaceConfig, settingName, pressedBut
|
|||||||
const previousBind = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
const previousBind = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
||||||
const prevKey = deepCopy(previousBind);
|
const prevKey = deepCopy(previousBind);
|
||||||
const newBind = getKeyAndActionFromCurrentKeysWithPressedButton(config, pressedButton);
|
const newBind = getKeyAndActionFromCurrentKeysWithPressedButton(config, pressedButton);
|
||||||
if (newBind && previousBind.action === -1) {
|
if (newBind?.action === -1 && previousBind.action === -1) {
|
||||||
|
assignNewKey(config, settingName, pressedButton, previousBind);
|
||||||
|
} else if (newBind && previousBind.action === -1) {
|
||||||
//special case when rebinding deleted key with already assigned key
|
//special case when rebinding deleted key with already assigned key
|
||||||
const toRestore = deepCopy(newBind);
|
const toRestore = deepCopy(newBind);
|
||||||
const iconFromThePressedButton = config.ogIcons[prevKey.key];
|
const iconFromThePressedButton = config.ogIcons[prevKey.key];
|
||||||
@ -100,7 +103,7 @@ export function swapCurrentKeys(config: InterfaceConfig, settingName, pressedBut
|
|||||||
assignNewKey(config, settingName, pressedButton, previousBind);
|
assignNewKey(config, settingName, pressedButton, previousBind);
|
||||||
} else {
|
} else {
|
||||||
const nextKey = deepCopy(newBind);
|
const nextKey = deepCopy(newBind);
|
||||||
if (prevKey.key === nextKey.key) {
|
if (prevKey.key === nextKey.key && prevKey.from) {
|
||||||
// special case when back to back and not enough info to get back to previous button
|
// special case when back to back and not enough info to get back to previous button
|
||||||
const toRestore = getKeyAndSettingNameFromCurrentKeysWithAction(config, prevKey.from.action, settingName.includes("ALT_"));
|
const toRestore = getKeyAndSettingNameFromCurrentKeysWithAction(config, prevKey.from.action, settingName.includes("ALT_"));
|
||||||
config.custom[prevKey.key] = prevKey.from.action;
|
config.custom[prevKey.key] = prevKey.from.action;
|
||||||
|
@ -50,12 +50,12 @@ describe('Test Keyboard', () => {
|
|||||||
});
|
});
|
||||||
it('Check key for currenly Assigned to setting name', () => {
|
it('Check key for currenly Assigned to setting name', () => {
|
||||||
const settingName = SettingInterfaceKeyboard.Button_Left;
|
const settingName = SettingInterfaceKeyboard.Button_Left;
|
||||||
const { key } = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
const {key} = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
||||||
expect(key).toEqual('KEY_ARROW_LEFT');
|
expect(key).toEqual('KEY_ARROW_LEFT');
|
||||||
});
|
});
|
||||||
it('Check key for currenly Assigned to setting name alt', () => {
|
it('Check key for currenly Assigned to setting name alt', () => {
|
||||||
const settingName = SettingInterfaceKeyboard.Alt_Button_Left;
|
const settingName = SettingInterfaceKeyboard.Alt_Button_Left;
|
||||||
const { key } = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
const {key} = getKeyAndActionFromCurrentKeysWithSettingName(config, settingName);
|
||||||
expect(key).toEqual('KEY_Q');
|
expect(key).toEqual('KEY_Q');
|
||||||
});
|
});
|
||||||
it('Check icon for currenly Assigned to key code', () => {
|
it('Check icon for currenly Assigned to key code', () => {
|
||||||
@ -446,28 +446,28 @@ describe('Test Keyboard', () => {
|
|||||||
|
|
||||||
it('reload scenario with 1 bind already reassigned', () => {
|
it('reload scenario with 1 bind already reassigned', () => {
|
||||||
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up] = {
|
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up] = {
|
||||||
"key": "KEY_Z",
|
|
||||||
"isAlt": true,
|
|
||||||
"action": 3,
|
|
||||||
"icon": "T_D_Key_Dark.png",
|
|
||||||
"from": {
|
|
||||||
"key": "KEY_Z",
|
"key": "KEY_Z",
|
||||||
"isAlt": true,
|
"isAlt": true,
|
||||||
"action": 0,
|
"action": 3,
|
||||||
"icon": "T_Z_Key_Dark.png"
|
"icon": "T_D_Key_Dark.png",
|
||||||
}
|
"from": {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 0,
|
||||||
|
"icon": "T_Z_Key_Dark.png"
|
||||||
|
}
|
||||||
};
|
};
|
||||||
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Right] = {
|
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Right] = {
|
||||||
"key": "KEY_D",
|
|
||||||
"isAlt": true,
|
|
||||||
"action": 0,
|
|
||||||
"icon": "T_Z_Key_Dark.png",
|
|
||||||
"from": {
|
|
||||||
"key": "KEY_D",
|
"key": "KEY_D",
|
||||||
"isAlt": true,
|
"isAlt": true,
|
||||||
"action": 3,
|
"action": 0,
|
||||||
"icon": "T_D_Key_Dark.png"
|
"icon": "T_Z_Key_Dark.png",
|
||||||
}
|
"from": {
|
||||||
|
"key": "KEY_D",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 3,
|
||||||
|
"icon": "T_D_Key_Dark.png"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
config.icons["KEY_D"] = "T_Z_Key_Dark.png";
|
config.icons["KEY_D"] = "T_Z_Key_Dark.png";
|
||||||
config.icons["KEY_Z"] = "T_D_Key_Dark.png";
|
config.icons["KEY_Z"] = "T_D_Key_Dark.png";
|
||||||
@ -603,7 +603,6 @@ describe('Test Keyboard', () => {
|
|||||||
expect(config.custom["KEY_Z"]).toEqual(-1);
|
expect(config.custom["KEY_Z"]).toEqual(-1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].key).toEqual("KEY_S");
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].key).toEqual("KEY_S");
|
||||||
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].action).toEqual(Button.DOWN);
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].action).toEqual(Button.DOWN);
|
||||||
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual("T_S_Key_Dark.png");
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual("T_S_Key_Dark.png");
|
||||||
@ -626,6 +625,146 @@ describe('Test Keyboard', () => {
|
|||||||
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual(undefined);
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual(undefined);
|
||||||
expect(config.custom["KEY_S"]).toEqual(-1);
|
expect(config.custom["KEY_S"]).toEqual(-1);
|
||||||
|
|
||||||
|
|
||||||
|
swapCurrentKeys(config, SettingInterfaceKeyboard.Alt_Button_Down, Phaser.Input.Keyboard.KeyCodes.S);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(Button.UP);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual("T_Z_Key_Dark.png");
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(Button.UP);
|
||||||
|
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].key).toEqual("KEY_S");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].action).toEqual(Button.DOWN);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual("T_S_Key_Dark.png");
|
||||||
|
expect(config.custom["KEY_S"]).toEqual(Button.DOWN);
|
||||||
|
|
||||||
|
let keyDown = Phaser.Input.Keyboard.KeyCodes.S;
|
||||||
|
let key = getKeyFromMapping(config, keyDown);
|
||||||
|
let buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.DOWN);
|
||||||
|
|
||||||
|
keyDown = Phaser.Input.Keyboard.KeyCodes.Z;
|
||||||
|
key = getKeyFromMapping(config, keyDown);
|
||||||
|
buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.UP);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
it("test keyboard listener", () => {
|
||||||
|
const keyDown = Phaser.Input.Keyboard.KeyCodes.S;
|
||||||
|
const key = getKeyFromMapping(config, keyDown);
|
||||||
|
const buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.DOWN);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("another test with 2 delete", () => {
|
||||||
|
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up] = {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": -1,
|
||||||
|
"from": {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 0,
|
||||||
|
"icon": "T_Z_Key_Dark.png"
|
||||||
|
},
|
||||||
|
"latestIsDeleted": true
|
||||||
|
};
|
||||||
|
regenerateCustom(config);
|
||||||
|
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(-1);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual(undefined);
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(-1);
|
||||||
|
|
||||||
|
swapCurrentKeys(config, SettingInterfaceKeyboard.Alt_Button_Down, Phaser.Input.Keyboard.KeyCodes.S);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].key).toEqual("KEY_S");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].action).toEqual(Button.DOWN);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Down].icon).toEqual("T_S_Key_Dark.png");
|
||||||
|
expect(config.custom["KEY_S"]).toEqual(Button.DOWN);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("another test with 2 delete", () => {
|
||||||
|
config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up] = {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": -1,
|
||||||
|
"from": {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 0,
|
||||||
|
"icon": "T_Z_Key_Dark.png"
|
||||||
|
},
|
||||||
|
"latestIsDeleted": true
|
||||||
|
};
|
||||||
|
regenerateCustom(config);
|
||||||
|
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(-1);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual(undefined);
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(-1);
|
||||||
|
|
||||||
|
swapCurrentKeys(config, SettingInterfaceKeyboard.Alt_Button_Up, Phaser.Input.Keyboard.KeyCodes.Z);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(Button.UP);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual("T_Z_Key_Dark.png");
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(Button.UP);
|
||||||
|
|
||||||
|
let keyDown = Phaser.Input.Keyboard.KeyCodes.S;
|
||||||
|
let key = getKeyFromMapping(config, keyDown);
|
||||||
|
let buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.DOWN);
|
||||||
|
|
||||||
|
keyDown = Phaser.Input.Keyboard.KeyCodes.Z;
|
||||||
|
key = getKeyFromMapping(config, keyDown);
|
||||||
|
buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.UP);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("another test with 2 delete part 2", () => {
|
||||||
|
config.currentKeys = {
|
||||||
|
"ALT_BUTTON_UP": {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": -1,
|
||||||
|
"from": {
|
||||||
|
"key": "KEY_Z",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 0,
|
||||||
|
"icon": "T_Z_Key_Dark.png"
|
||||||
|
},
|
||||||
|
"latestIsDeleted": true
|
||||||
|
},
|
||||||
|
"ALT_BUTTON_DOWN": {
|
||||||
|
"key": "KEY_S",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": -1,
|
||||||
|
"from": {
|
||||||
|
"key": "KEY_S",
|
||||||
|
"isAlt": true,
|
||||||
|
"action": 1,
|
||||||
|
"icon": "T_S_Key_Dark.png"
|
||||||
|
},
|
||||||
|
"latestIsDeleted": true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
regenerateCustom(config);
|
||||||
|
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(-1);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual(undefined);
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(-1);
|
||||||
|
|
||||||
|
swapCurrentKeys(config, SettingInterfaceKeyboard.Alt_Button_Up, Phaser.Input.Keyboard.KeyCodes.Z);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].key).toEqual("KEY_Z");
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].action).toEqual(Button.UP);
|
||||||
|
expect(config.currentKeys[SettingInterfaceKeyboard.Alt_Button_Up].icon).toEqual("T_Z_Key_Dark.png");
|
||||||
|
expect(config.custom["KEY_Z"]).toEqual(Button.UP);
|
||||||
|
|
||||||
|
const keyDown = Phaser.Input.Keyboard.KeyCodes.Z;
|
||||||
|
const key = getKeyFromMapping(config, keyDown);
|
||||||
|
const buttonDown = config.custom[key];
|
||||||
|
expect(buttonDown).toEqual(Button.UP);
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
;
|
Loading…
Reference in New Issue
Block a user