Flatten actionParameterDisplayString parsing as action class changes
This commit is contained in:
parent
fa033bb9e6
commit
742bcfc04a
|
|
@ -22,18 +22,21 @@ export interface ActionParameterDisplayString {
|
||||||
value: string;
|
value: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const formatClockParams = (params: {
|
export const actionParameterDisplayString = (
|
||||||
ticksNumber?: number;
|
action: ActionTraceEvent,
|
||||||
ticksString?: string;
|
sdkLanguage: Language,
|
||||||
timeNumber?: number;
|
): ActionParameterDisplayString | undefined => {
|
||||||
}): ActionParameterDisplayString | undefined => {
|
const params = action.params;
|
||||||
|
|
||||||
let value: string | undefined = undefined;
|
let value: string | undefined = undefined;
|
||||||
|
|
||||||
if (params.ticksNumber !== undefined) {
|
if (params.selector !== undefined) {
|
||||||
// clock.fastForward/runFor
|
return { type: 'locator', value: asLocator(sdkLanguage, params.selector) };
|
||||||
|
} else if (params.ticksNumber !== undefined) {
|
||||||
|
// clock.fastForward/runFor number
|
||||||
value = `${params.ticksNumber}ms`;
|
value = `${params.ticksNumber}ms`;
|
||||||
} else if (params.ticksString !== undefined) {
|
} else if (params.ticksString !== undefined) {
|
||||||
// clock.fastForward/runFor
|
// clock.fastForward/runFor string
|
||||||
value = params.ticksString;
|
value = params.ticksString;
|
||||||
} else if (params.timeNumber !== undefined) {
|
} else if (params.timeNumber !== undefined) {
|
||||||
// clock.pauseAt/setFixedTime/setSystemTime
|
// clock.pauseAt/setFixedTime/setSystemTime
|
||||||
|
|
@ -44,80 +47,19 @@ const formatClockParams = (params: {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
}
|
} else if (params.key !== undefined) {
|
||||||
|
|
||||||
if (value === undefined)
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return {
|
|
||||||
type: 'generic',
|
|
||||||
value,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
const formatLocatorParams = (
|
|
||||||
sdkLanguage: Language,
|
|
||||||
params: { selector?: string },
|
|
||||||
): ActionParameterDisplayString | undefined =>
|
|
||||||
params.selector !== undefined
|
|
||||||
? { type: 'locator', value: asLocator(sdkLanguage, params.selector) }
|
|
||||||
: undefined;
|
|
||||||
|
|
||||||
const formatKeyboardParams = (params: {
|
|
||||||
key?: string;
|
|
||||||
text?: string;
|
|
||||||
}): ActionParameterDisplayString | undefined => {
|
|
||||||
let value: string | undefined = undefined;
|
|
||||||
|
|
||||||
if (params.key !== undefined) {
|
|
||||||
// keyboard.press/down/up
|
// keyboard.press/down/up
|
||||||
value = params.key;
|
value = params.key;
|
||||||
} else if (params.text !== undefined) {
|
} else if (params.text !== undefined) {
|
||||||
// keyboard.type/insertText
|
// keyboard.type/insertText
|
||||||
value = `"${params.text}"`;
|
value = `"${params.text}"`;
|
||||||
}
|
} else if (params.x !== undefined && params.y !== undefined) {
|
||||||
|
|
||||||
if (value === undefined)
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return {
|
|
||||||
type: 'generic',
|
|
||||||
value,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
const formatMouseParams = (params: {
|
|
||||||
x?: number;
|
|
||||||
y?: number;
|
|
||||||
deltaX?: number;
|
|
||||||
deltaY?: number;
|
|
||||||
}): ActionParameterDisplayString | undefined => {
|
|
||||||
let value: string | undefined = undefined;
|
|
||||||
|
|
||||||
if (params.x !== undefined && params.y !== undefined) {
|
|
||||||
// mouse.click/dblclick/move
|
// mouse.click/dblclick/move
|
||||||
value = `(${params.x}, ${params.y})`;
|
value = `(${params.x}, ${params.y})`;
|
||||||
} else if (params.deltaX !== undefined && params.deltaY !== undefined) {
|
} else if (params.deltaX !== undefined && params.deltaY !== undefined) {
|
||||||
// mouse.wheel
|
// mouse.wheel
|
||||||
value = `(${params.deltaX}, ${params.deltaY})`;
|
value = `(${params.deltaX}, ${params.deltaY})`;
|
||||||
}
|
} else if (params.x && params.y) {
|
||||||
|
|
||||||
if (value === undefined)
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return {
|
|
||||||
type: 'generic',
|
|
||||||
value,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
const formatTouchscreenParams = (params: {
|
|
||||||
x?: number;
|
|
||||||
y?: number;
|
|
||||||
}): ActionParameterDisplayString | undefined => {
|
|
||||||
let value: string | undefined = undefined;
|
|
||||||
|
|
||||||
if (params.x && params.y) {
|
|
||||||
// touchscreen.tap
|
// touchscreen.tap
|
||||||
value = `(${params.x}, ${params.y})`;
|
value = `(${params.x}, ${params.y})`;
|
||||||
}
|
}
|
||||||
|
|
@ -130,28 +72,3 @@ const formatTouchscreenParams = (params: {
|
||||||
value,
|
value,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export const actionParameterDisplayString = (
|
|
||||||
action: ActionTraceEvent,
|
|
||||||
sdkLanguage: Language,
|
|
||||||
): ActionParameterDisplayString | undefined => {
|
|
||||||
const params = action.params;
|
|
||||||
const apiName = action.apiName.toLowerCase();
|
|
||||||
|
|
||||||
switch (true) {
|
|
||||||
case apiName.startsWith('clock'):
|
|
||||||
return formatClockParams(params);
|
|
||||||
case apiName.startsWith('keyboard'):
|
|
||||||
return formatKeyboardParams(params);
|
|
||||||
case apiName.startsWith('locator'):
|
|
||||||
case apiName.startsWith('expect'):
|
|
||||||
case apiName.startsWith('frame'):
|
|
||||||
return formatLocatorParams(sdkLanguage, params);
|
|
||||||
case apiName.startsWith('mouse'):
|
|
||||||
return formatMouseParams(params);
|
|
||||||
case apiName.startsWith('touchscreen'):
|
|
||||||
return formatTouchscreenParams(params);
|
|
||||||
default:
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue