not using jittered keys in tests (for snapshot matching)

This commit is contained in:
Ryan Di 2023-12-07 23:40:56 +08:00
parent dddb07cf57
commit 5ed82cb646

View File

@ -2,6 +2,7 @@ import { mutateElement } from "./element/mutateElement";
import { ExcalidrawElement } from "./element/types"; import { ExcalidrawElement } from "./element/types";
import { import {
generateKeyBetween, generateKeyBetween,
generateJitteredKeyBetween,
generateNKeysBetween, generateNKeysBetween,
generateNJitteredKeysBetween, generateNJitteredKeysBetween,
} from "fractional-indexing-jittered"; } from "fractional-indexing-jittered";
@ -77,6 +78,11 @@ export const fixFractionalIndices = (
movedElementsMap, movedElementsMap,
); );
const generateFn =
import.meta.env.MODE === ENV.TEST
? generateNKeysBetween
: generateNJitteredKeysBetween;
for (const movedIndices of contiguousMovedIndices) { for (const movedIndices of contiguousMovedIndices) {
try { try {
const predecessor = const predecessor =
@ -85,21 +91,7 @@ export const fixFractionalIndices = (
elements[movedIndices[movedIndices.length - 1] + 1]?.fractionalIndex || elements[movedIndices[movedIndices.length - 1] + 1]?.fractionalIndex ||
null; null;
let newKeys = []; const newKeys = generateFn(predecessor, successor, movedIndices.length);
if (import.meta.env.MODE === ENV.TEST || import.meta.env.DEV) {
newKeys = generateNKeysBetween(
predecessor,
successor,
movedIndices.length,
);
} else {
newKeys = generateNJitteredKeysBetween(
predecessor,
successor,
movedIndices.length,
);
}
for (let i = 0; i < movedIndices.length; i++) { for (let i = 0; i < movedIndices.length; i++) {
const element = elements[movedIndices[i]]; const element = elements[movedIndices[i]];
@ -143,21 +135,26 @@ const restoreFractionalIndex = (
predecessor: FractionalIndex, predecessor: FractionalIndex,
successor: FractionalIndex, successor: FractionalIndex,
) => { ) => {
const generateFn =
import.meta.env.MODE === ENV.TEST
? generateKeyBetween
: generateJitteredKeyBetween;
if (successor && !predecessor) { if (successor && !predecessor) {
// first element in the array // first element in the array
// insert before successor // insert before successor
return generateKeyBetween(null, successor); return generateFn(null, successor);
} }
if (predecessor && !successor) { if (predecessor && !successor) {
// last element in the array // last element in the array
// insert after predecessor // insert after predecessor
return generateKeyBetween(predecessor, null); return generateFn(predecessor, null);
} }
// both predecessor and successor exist (or both do not) // both predecessor and successor exist (or both do not)
// insert after predecessor // insert after predecessor
return generateKeyBetween(predecessor, null); return generateFn(predecessor, null);
}; };
/** /**