Line |
Branch |
Exec |
Source |
1 |
|
|
#include "test.h" |
2 |
|
|
#include "editor.h" |
3 |
|
|
#include "frame.h" |
4 |
|
|
#include "window.h" |
5 |
|
|
|
6 |
|
1 |
static void test_frame_resize(TestContext *ctx) |
7 |
|
|
{ |
8 |
|
1 |
EditorState e = {.window = new_window(&e)}; |
9 |
|
1 |
ASSERT_NONNULL(e.window); |
10 |
|
1 |
e.root_frame = new_root_frame(e.window); |
11 |
|
1 |
ASSERT_NONNULL(e.root_frame); |
12 |
|
|
|
13 |
|
1 |
Frame *root = e.root_frame; |
14 |
|
1 |
frame_set_size(root, 80, 23); |
15 |
|
|
//update_window_coordinates(root); |
16 |
|
|
// TODO: also check window dimensions |
17 |
|
1 |
EXPECT_EQ(root->w, 80); |
18 |
|
1 |
EXPECT_EQ(root->h, 23); |
19 |
|
|
|
20 |
|
1 |
Frame *frame = frame_split_root(&e, false, false); |
21 |
|
1 |
root = e.root_frame; |
22 |
|
1 |
ASSERT_NONNULL(frame); |
23 |
|
1 |
ASSERT_NONNULL(frame->window); |
24 |
|
1 |
ASSERT_NONNULL(root); |
25 |
|
1 |
ASSERT_PTREQ(frame->parent, root); |
26 |
|
1 |
EXPECT_EQ(frame->w, 40); |
27 |
|
1 |
EXPECT_EQ(frame->h, 23); |
28 |
|
1 |
EXPECT_EQ(frame->frames.count, 0); |
29 |
|
1 |
EXPECT_FALSE(frame->vertical); |
30 |
|
1 |
EXPECT_TRUE(frame->equal_size); |
31 |
|
1 |
EXPECT_TRUE(root->equal_size); |
32 |
|
|
|
33 |
|
1 |
frame_add_to_size(frame, RESIZE_DIRECTION_AUTO, 1); |
34 |
|
1 |
EXPECT_EQ(frame->w, 41); |
35 |
|
1 |
EXPECT_EQ(frame->h, 23); |
36 |
|
1 |
EXPECT_TRUE(frame->equal_size); |
37 |
|
1 |
EXPECT_FALSE(root->equal_size); |
38 |
|
|
|
39 |
|
1 |
frame_add_to_size(frame, RESIZE_DIRECTION_AUTO, 900); |
40 |
|
1 |
EXPECT_EQ(frame->w, 72); |
41 |
|
1 |
EXPECT_EQ(frame->h, 23); |
42 |
|
|
|
43 |
|
1 |
frame_add_to_size(frame, RESIZE_DIRECTION_AUTO, -900); |
44 |
|
1 |
EXPECT_EQ(frame->w, 8); |
45 |
|
1 |
EXPECT_EQ(frame->h, 23); |
46 |
|
|
|
47 |
|
1 |
frame_resize(frame, RESIZE_DIRECTION_AUTO, 63); |
48 |
|
1 |
EXPECT_EQ(frame->w, 63); |
49 |
|
1 |
EXPECT_EQ(frame->h, 23); |
50 |
|
|
|
51 |
|
1 |
frame_resize(frame, RESIZE_DIRECTION_HORIZONTAL, 10); |
52 |
|
1 |
EXPECT_EQ(frame->w, 10); |
53 |
|
1 |
EXPECT_EQ(frame->h, 23); |
54 |
|
|
|
55 |
|
1 |
frame_resize(frame, RESIZE_DIRECTION_VERTICAL, 55); |
56 |
|
1 |
EXPECT_EQ(frame->w, 10); |
57 |
|
1 |
EXPECT_EQ(frame->h, 23); |
58 |
|
|
|
59 |
|
1 |
EXPECT_FALSE(root->equal_size); |
60 |
|
1 |
frame_equalize_sizes(root); |
61 |
|
1 |
EXPECT_TRUE(root->equal_size); |
62 |
|
1 |
EXPECT_EQ(frame->w, 40); |
63 |
|
1 |
EXPECT_EQ(frame->h, 23); |
64 |
|
|
|
65 |
|
1 |
EXPECT_PTREQ(root, e.root_frame); |
66 |
|
1 |
EXPECT_PTREQ(root, frame->parent); |
67 |
|
1 |
frame_remove(&e, e.root_frame); |
68 |
|
1 |
} |
69 |
|
|
|
70 |
|
|
static const TestEntry tests[] = { |
71 |
|
|
TEST(test_frame_resize), |
72 |
|
|
}; |
73 |
|
|
|
74 |
|
|
const TestGroup frame_tests = TEST_GROUP(tests); |
75 |
|
|
|