dte test coverage


Directory: ./
File: test/frame.c
Date: 2025-02-14 16:55:22
Exec Total Coverage
Lines: 50 50 100.0%
Functions: 1 1 100.0%
Branches: 0 0 -%

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