// Copyright 2024, Command Line Inc. // SPDX-License-Identifier: Apache-2.0 import { assert, test } from "vitest"; import { DropDirection, FlexDirection } from "../lib/types"; import { determineDropDirection, reverseFlexDirection } from "../lib/utils"; test("determineDropDirection", () => { const dimensions: Dimensions = { top: 0, left: 0, height: 5, width: 5, }; assert.equal( determineDropDirection(dimensions, { x: 2.5, y: 1.5, }), 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 ); assert.equal( determineDropDirection(dimensions, { x: 1.5, y: 2.5, }), DropDirection.Left ); assert.equal( determineDropDirection(dimensions, { x: 2.5, y: 0.5, }), 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 ); assert.equal( determineDropDirection(dimensions, { x: 0.5, y: 2.5, }), DropDirection.OuterLeft ); assert.equal( determineDropDirection(dimensions, { x: 2.5, y: 2.5, }), DropDirection.Center ); assert.equal( determineDropDirection(dimensions, { x: 2.51, y: 2.51, }), DropDirection.Center ); 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); });