Files

109 lines
2.2 KiB
TypeScript
Raw Permalink Normal View History

2024-06-04 13:05:44 -07:00
// Copyright 2024, Command Line Inc.
// SPDX-License-Identifier: Apache-2.0
import { assert, test } from "vitest";
2024-08-26 16:37:05 -07:00
import { DropDirection, FlexDirection } from "../lib/types";
import { determineDropDirection, reverseFlexDirection } from "../lib/utils";
2024-06-04 13:05:44 -07:00
test("determineDropDirection", () => {
const dimensions: Dimensions = {
top: 0,
left: 0,
height: 5,
width: 5,
2024-06-04 13:05:44 -07:00
};
assert.equal(
determineDropDirection(dimensions, {
x: 2.5,
y: 1.5,
2024-06-04 13:05:44 -07:00
}),
DropDirection.Top
);
assert.equal(
determineDropDirection(dimensions, {
x: 2.5,
y: 3.5,
}),
DropDirection.Bottom
);
assert.equal(
determineDropDirection(dimensions, {
x: 3.5,
y: 2.5,
}),
DropDirection.Right
);
2024-06-04 13:05:44 -07:00
assert.equal(
determineDropDirection(dimensions, {
x: 1.5,
y: 2.5,
}),
DropDirection.Left
2024-06-04 13:05:44 -07:00
);
assert.equal(
determineDropDirection(dimensions, {
x: 2.5,
y: 0.5,
2024-06-04 13:05:44 -07:00
}),
DropDirection.OuterTop
);
assert.equal(
determineDropDirection(dimensions, {
x: 4.5,
y: 2.5,
}),
DropDirection.OuterRight
);
assert.equal(
determineDropDirection(dimensions, {
x: 2.5,
y: 4.5,
}),
DropDirection.OuterBottom
2024-06-04 13:05:44 -07:00
);
assert.equal(
determineDropDirection(dimensions, {
x: 0.5,
y: 2.5,
2024-06-04 13:05:44 -07:00
}),
DropDirection.OuterLeft
2024-06-04 13:05:44 -07:00
);
2024-06-17 14:14:09 -07:00
assert.equal(
determineDropDirection(dimensions, {
x: 2.5,
y: 2.5,
}),
DropDirection.Center
);
assert.equal(
determineDropDirection(dimensions, {
x: 2.51,
y: 2.51,
}),
DropDirection.Center
);
2024-06-04 13:05:44 -07:00
assert.equal(
determineDropDirection(dimensions, {
x: 1.5,
y: 1.5,
}),
undefined
);
});
test("reverseFlexDirection", () => {
assert.equal(reverseFlexDirection(FlexDirection.Row), FlexDirection.Column);
assert.equal(reverseFlexDirection(FlexDirection.Column), FlexDirection.Row);
});