mirror of
https://github.com/aseprite/aseprite.git
synced 2025-02-22 15:39:52 +00:00
Move tests/test_jgrid.cpp to jinete/jgrid_unittest.cpp.
This commit is contained in:
parent
e70c78a9a5
commit
87a25ea68f
@ -18,16 +18,18 @@
|
|||||||
|
|
||||||
#define TEST_GUI
|
#define TEST_GUI
|
||||||
#include "tests/test.h"
|
#include "tests/test.h"
|
||||||
|
#include "Vaca/Size.h"
|
||||||
|
|
||||||
|
using Vaca::Size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests two widgets in a row, each one of 10x10 pixels.
|
* Tests two widgets in a row, each one of 10x10 pixels.
|
||||||
*/
|
*/
|
||||||
static void test_grid_2x1()
|
TEST(JGrid, Simple2x1Grid)
|
||||||
{
|
{
|
||||||
JWidget grid = jgrid_new(2, false);
|
JWidget grid = jgrid_new(2, false);
|
||||||
JWidget w1 = jwidget_new(JI_WIDGET);
|
JWidget w1 = new Widget(JI_WIDGET);
|
||||||
JWidget w2 = jwidget_new(JI_WIDGET);
|
JWidget w2 = new Widget(JI_WIDGET);
|
||||||
int req_w, req_h;
|
|
||||||
|
|
||||||
jwidget_set_min_size(w1, 10, 10);
|
jwidget_set_min_size(w1, 10, 10);
|
||||||
jwidget_set_min_size(w2, 10, 10);
|
jwidget_set_min_size(w2, 10, 10);
|
||||||
@ -35,36 +37,39 @@ static void test_grid_2x1()
|
|||||||
jgrid_add_child(grid, w1, 1, 1, 0);
|
jgrid_add_child(grid, w1, 1, 1, 0);
|
||||||
jgrid_add_child(grid, w2, 1, 1, 0);
|
jgrid_add_child(grid, w2, 1, 1, 0);
|
||||||
|
|
||||||
/* test request-size */
|
// Test request-size
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
Size reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 20 && req_h == 10);
|
EXPECT_EQ(20, reqSize.w);
|
||||||
|
EXPECT_EQ(10, reqSize.h);
|
||||||
|
|
||||||
/* test child-spacing */
|
// Test child-spacing
|
||||||
grid->child_spacing = 2;
|
grid->child_spacing = 2;
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 22 && req_h == 10);
|
EXPECT_EQ(22, reqSize.w);
|
||||||
|
EXPECT_EQ(10, reqSize.h);
|
||||||
|
|
||||||
/* test borders */
|
// Test borders
|
||||||
grid->border_width.l = 3;
|
grid->border_width.l = 3;
|
||||||
grid->border_width.b = 3;
|
grid->border_width.b = 3;
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 25 && req_h == 13);
|
EXPECT_EQ(25, reqSize.w);
|
||||||
|
EXPECT_EQ(13, reqSize.h);
|
||||||
|
|
||||||
grid->border_width.r = 5;
|
grid->border_width.r = 5;
|
||||||
grid->border_width.t = 2;
|
grid->border_width.t = 2;
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 30 && req_h == 15);
|
EXPECT_EQ(30, reqSize.w);
|
||||||
|
EXPECT_EQ(15, reqSize.h);
|
||||||
|
|
||||||
jwidget_free(grid);
|
delete grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_grid_2x1_expand2nd()
|
TEST(JGrid, Expand2ndWidget)
|
||||||
{
|
{
|
||||||
JWidget grid = jgrid_new(2, false);
|
Widget* grid = jgrid_new(2, false);
|
||||||
JWidget w1 = jwidget_new(JI_WIDGET);
|
Widget* w1 = new Widget(JI_WIDGET);
|
||||||
JWidget w2 = jwidget_new(JI_WIDGET);
|
Widget* w2 = new Widget(JI_WIDGET);
|
||||||
JRect rect;
|
JRect rect;
|
||||||
int req_w, req_h;
|
|
||||||
|
|
||||||
jwidget_set_min_size(w1, 20, 20);
|
jwidget_set_min_size(w1, 20, 20);
|
||||||
jwidget_set_min_size(w2, 10, 10);
|
jwidget_set_min_size(w2, 10, 10);
|
||||||
@ -72,35 +77,35 @@ static void test_grid_2x1_expand2nd()
|
|||||||
jgrid_add_child(grid, w1, 1, 1, 0);
|
jgrid_add_child(grid, w1, 1, 1, 0);
|
||||||
jgrid_add_child(grid, w2, 1, 1, JI_HORIZONTAL | JI_TOP);
|
jgrid_add_child(grid, w2, 1, 1, JI_HORIZONTAL | JI_TOP);
|
||||||
|
|
||||||
/* test request size */
|
// Test request size
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
Size reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 30 && req_h == 20);
|
EXPECT_EQ(30, reqSize.w);
|
||||||
|
EXPECT_EQ(20, reqSize.h);
|
||||||
|
|
||||||
/* test layout */
|
// Test layout
|
||||||
rect = jrect_new(0, 0, 40, 20);
|
rect = jrect_new(0, 0, 40, 20);
|
||||||
jwidget_set_rect(grid, rect);
|
jwidget_set_rect(grid, rect);
|
||||||
jrect_free(rect);
|
jrect_free(rect);
|
||||||
|
|
||||||
ASSERT(w1->rc->x1 == 0);
|
EXPECT_EQ(0, w1->rc->x1);
|
||||||
ASSERT(w1->rc->y1 == 0);
|
EXPECT_EQ(0, w1->rc->y1);
|
||||||
ASSERT(jrect_w(w1->rc) == 20);
|
EXPECT_EQ(20, jrect_w(w1->rc));
|
||||||
ASSERT(jrect_h(w1->rc) == 20);
|
EXPECT_EQ(20, jrect_h(w1->rc));
|
||||||
|
|
||||||
ASSERT(w2->rc->x1 == 20);
|
EXPECT_EQ(20, w2->rc->x1);
|
||||||
ASSERT(w2->rc->y1 == 0);
|
EXPECT_EQ(0, w2->rc->y1);
|
||||||
ASSERT(jrect_w(w2->rc) == 20);
|
EXPECT_EQ(20, jrect_w(w2->rc));
|
||||||
ASSERT(jrect_h(w2->rc) == 10);
|
EXPECT_EQ(10, jrect_h(w2->rc));
|
||||||
|
|
||||||
jwidget_free(grid);
|
delete grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_grid_2x1_samewidth()
|
TEST(JGrid, SameWidth2x1Grid)
|
||||||
{
|
{
|
||||||
JWidget grid = jgrid_new(2, true);
|
JWidget grid = jgrid_new(2, true);
|
||||||
JWidget w1 = jwidget_new(JI_WIDGET);
|
JWidget w1 = new Widget(JI_WIDGET);
|
||||||
JWidget w2 = jwidget_new(JI_WIDGET);
|
JWidget w2 = new Widget(JI_WIDGET);
|
||||||
JRect rect;
|
JRect rect;
|
||||||
int req_w, req_h;
|
|
||||||
|
|
||||||
jwidget_set_min_size(w1, 20, 20);
|
jwidget_set_min_size(w1, 20, 20);
|
||||||
jwidget_set_min_size(w2, 10, 10);
|
jwidget_set_min_size(w2, 10, 10);
|
||||||
@ -108,21 +113,22 @@ static void test_grid_2x1_samewidth()
|
|||||||
jgrid_add_child(grid, w1, 1, 1, 0);
|
jgrid_add_child(grid, w1, 1, 1, 0);
|
||||||
jgrid_add_child(grid, w2, 1, 1, 0);
|
jgrid_add_child(grid, w2, 1, 1, 0);
|
||||||
|
|
||||||
/* test request size */
|
// Test request size
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
Size reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 40 && req_h == 20);
|
EXPECT_EQ(40, reqSize.w);
|
||||||
|
EXPECT_EQ(20, reqSize.h);
|
||||||
|
|
||||||
/* test layout */
|
// Test layout
|
||||||
rect = jrect_new(0, 0, 60, 20);
|
rect = jrect_new(0, 0, 60, 20);
|
||||||
jwidget_set_rect(grid, rect);
|
jwidget_set_rect(grid, rect);
|
||||||
jrect_free(rect);
|
jrect_free(rect);
|
||||||
|
|
||||||
ASSERT(w1->rc->x1 == 0);
|
EXPECT_EQ(0, w1->rc->x1);
|
||||||
ASSERT(w2->rc->x1 == 30);
|
EXPECT_EQ(30, w2->rc->x1);
|
||||||
ASSERT(jrect_w(w1->rc) == 30);
|
EXPECT_EQ(30, jrect_w(w1->rc));
|
||||||
ASSERT(jrect_w(w2->rc) == 30);
|
EXPECT_EQ(30, jrect_w(w2->rc));
|
||||||
|
|
||||||
jwidget_free(grid);
|
delete grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -163,15 +169,14 @@ static void test_grid_2x1_samewidth()
|
|||||||
* +----------------------------+---+
|
* +----------------------------+---+
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
static void test_grid_3x3_intrincate()
|
TEST(JGrid, Intrincate3x3Grid)
|
||||||
{
|
{
|
||||||
JWidget grid = jgrid_new(3, false);
|
Widget* grid = jgrid_new(3, false);
|
||||||
JWidget w1 = jwidget_new(JI_WIDGET);
|
Widget* w1 = new Widget(JI_WIDGET);
|
||||||
JWidget w2 = jwidget_new(JI_WIDGET);
|
Widget* w2 = new Widget(JI_WIDGET);
|
||||||
JWidget w3 = jwidget_new(JI_WIDGET);
|
Widget* w3 = new Widget(JI_WIDGET);
|
||||||
JWidget w4 = jwidget_new(JI_WIDGET);
|
Widget* w4 = new Widget(JI_WIDGET);
|
||||||
JRect rect;
|
JRect rect;
|
||||||
int req_w, req_h;
|
|
||||||
|
|
||||||
jwidget_set_min_size(w1, 10, 10);
|
jwidget_set_min_size(w1, 10, 10);
|
||||||
jwidget_set_min_size(w2, 10, 10);
|
jwidget_set_min_size(w2, 10, 10);
|
||||||
@ -183,39 +188,34 @@ static void test_grid_3x3_intrincate()
|
|||||||
jgrid_add_child(grid, w3, 2, 2, JI_HORIZONTAL | JI_VERTICAL);
|
jgrid_add_child(grid, w3, 2, 2, JI_HORIZONTAL | JI_VERTICAL);
|
||||||
jgrid_add_child(grid, w4, 1, 2, JI_VERTICAL);
|
jgrid_add_child(grid, w4, 1, 2, JI_VERTICAL);
|
||||||
|
|
||||||
/* test request size */
|
// Test request size
|
||||||
grid->child_spacing = 2;
|
grid->child_spacing = 2;
|
||||||
jwidget_request_size(grid, &req_w, &req_h);
|
Size reqSize = grid->getPreferredSize();
|
||||||
ASSERT(req_w == 22 && req_h == 22);
|
EXPECT_EQ(22, reqSize.w);
|
||||||
|
EXPECT_EQ(22, reqSize.h);
|
||||||
|
|
||||||
/* test layout */
|
// Test layout
|
||||||
rect = jrect_new(0, 0, 100, 100);
|
rect = jrect_new(0, 0, 100, 100);
|
||||||
jwidget_set_rect(grid, rect);
|
jwidget_set_rect(grid, rect);
|
||||||
jrect_free(rect);
|
jrect_free(rect);
|
||||||
|
|
||||||
ASSERT(w1->rc->x1 == 0 && w1->rc->y1 == 0);
|
EXPECT_EQ(0, w1->rc->x1);
|
||||||
ASSERT(w2->rc->x1 == 12 && w2->rc->y1 == 0);
|
EXPECT_EQ(0, w1->rc->y1);
|
||||||
ASSERT(w3->rc->x1 == 0 && w3->rc->y1 == 12);
|
EXPECT_EQ(12, w2->rc->x1);
|
||||||
ASSERT(w4->rc->x1 == 90 && w4->rc->y1 == 12);
|
EXPECT_EQ(0, w2->rc->y1);
|
||||||
|
EXPECT_EQ(0, w3->rc->x1);
|
||||||
|
EXPECT_EQ(12, w3->rc->y1);
|
||||||
|
EXPECT_EQ(90, w4->rc->x1);
|
||||||
|
EXPECT_EQ(12, w4->rc->y1);
|
||||||
|
|
||||||
ASSERT(jrect_w(w1->rc) == 10 && jrect_h(w1->rc) == 10);
|
EXPECT_EQ(10, jrect_w(w1->rc));
|
||||||
ASSERT(jrect_w(w2->rc) == 88 && jrect_h(w2->rc) == 10);
|
EXPECT_EQ(10, jrect_h(w1->rc));
|
||||||
ASSERT(jrect_w(w3->rc) == 88 && jrect_h(w3->rc) == 88);
|
EXPECT_EQ(88, jrect_w(w2->rc));
|
||||||
ASSERT(jrect_w(w4->rc) == 10 && jrect_h(w4->rc) == 88);
|
EXPECT_EQ(10, jrect_h(w2->rc));
|
||||||
|
EXPECT_EQ(88, jrect_w(w3->rc));
|
||||||
|
EXPECT_EQ(88, jrect_h(w3->rc));
|
||||||
|
EXPECT_EQ(10, jrect_w(w4->rc));
|
||||||
|
EXPECT_EQ(88, jrect_h(w4->rc));
|
||||||
|
|
||||||
jwidget_free(grid);
|
delete grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
JWidget manager = test_init_gui();
|
|
||||||
|
|
||||||
test_grid_2x1();
|
|
||||||
test_grid_2x1_expand2nd();
|
|
||||||
test_grid_2x1_samewidth();
|
|
||||||
test_grid_3x3_intrincate();
|
|
||||||
|
|
||||||
return test_exit_gui(manager);
|
|
||||||
}
|
|
||||||
|
|
||||||
END_OF_MAIN();
|
|
Loading…
x
Reference in New Issue
Block a user