UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

161 lines (127 loc) 3.95 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2009 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Fabian Jakobs (fjakobs) * Christian Hagendorn (chris_schmidt) ************************************************************************ */ qx.Class.define("qx.test.util.placement.BestFitAxis", { extend: qx.dev.unit.TestCase, members: { setUp() { this.axis = qx.util.placement.BestFitAxis; }, tearDown() { delete this.axis; }, testEnoughSpace() { var size = 50; var target = { start: 500, end: 600 }; var offsets = { start: 10, end: 20 }; var areaSize = 1000; this.assertEquals( 430, this.axis.computeStart(size, target, offsets, areaSize, "edge-start") ); this.assertEquals( 610, this.axis.computeStart(size, target, offsets, areaSize, "edge-end") ); this.assertEquals( 510, this.axis.computeStart(size, target, offsets, areaSize, "align-start") ); this.assertEquals( 535, this.axis.computeStart(size, target, offsets, areaSize, "align-center") ); this.assertEquals( 530, this.axis.computeStart(size, target, offsets, areaSize, "align-end") ); }, testNotEnoughSpaceStart() { var size = 250; var target = { start: 30, end: 200 }; var offsets = { start: 10, end: 20 }; var areaSize = 1000; this.assertEquals( 0, this.axis.computeStart(size, target, offsets, areaSize, "edge-start") ); this.assertEquals( 210, this.axis.computeStart(size, target, offsets, areaSize, "edge-end") ); this.assertEquals( 40, this.axis.computeStart(size, target, offsets, areaSize, "align-start") ); this.assertEquals( 0, this.axis.computeStart(260, target, offsets, areaSize, "align-center") ); this.assertEquals( 0, this.axis.computeStart(size, target, offsets, areaSize, "align-end") ); }, testNotEnoughSpaceEnd() { var size = 250; var target = { start: 300, end: 400 }; var offsets = { start: 10, end: 20 }; var areaSize = 500; this.assertEquals( 30, this.axis.computeStart(size, target, offsets, areaSize, "edge-start") ); this.assertEquals( 250, this.axis.computeStart(size, target, offsets, areaSize, "edge-end") ); this.assertEquals( 250, this.axis.computeStart(size, target, offsets, areaSize, "align-start") ); this.assertEquals( 210, this.axis.computeStart(290, target, offsets, areaSize, "align-center") ); this.assertEquals( 130, this.axis.computeStart(size, target, offsets, areaSize, "align-end") ); }, testNotEnoughSpaceBothSides() { var size = 250; var target = { start: 50, end: 100 }; var offsets = { start: 10, end: 20 }; var areaSize = 150; this.assertEquals( -100, this.axis.computeStart(size, target, offsets, areaSize, "edge-start") ); this.assertEquals( 0, this.axis.computeStart(size, target, offsets, areaSize, "edge-end") ); this.assertEquals( 0, this.axis.computeStart(size, target, offsets, areaSize, "align-start") ); this.assertEquals( -100, this.axis.computeStart(size, target, offsets, areaSize, "align-center") ); this.assertEquals( -100, this.axis.computeStart(size, target, offsets, areaSize, "align-end") ); } } });