mod: roadmap; details for testing

2025-05-28 14:44:51 +02:00
parent 6a342ba26b
commit 2ac2c05e5b
2 changed files with 19 additions and 11 deletions

@@ -4,9 +4,13 @@ The following list contains goals for certain features the library supports or i
- [ ] Input handling - [ ] Input handling
- [x] basic input handling - [x] basic input handling
- [ ] support modifiers with other control characters (i.e. `SHIFT + TAB`, `SHIFT + ENTER`) - [x] support modifiers with other control characters (i.e. `SHIFT + TAB`)
- [ ] support input's (i.e. `Esc x`, `Esc 0 x` or SS3, `Esc [ ..` or Csi, Osc, Dcs) see [src/vt.rs:156] and [src/input.rs:324] for the actual parsing implementation - [ ] support input's (i.e. `Esc x`, `Esc 0 x` or SS3, `Esc [ ..` or Csi, Osc, Dcs) see [src/vt.rs:156] and [src/input.rs:324] for the actual parsing implementation
- [ ] Clipboard support (reading and writing) - [x] SS3
- [-] CSI (not everything yet - i.e. clipboard support)
- [ ] OSC
- [ ] DCS
- [ ] Clipboard support (reading and writing) (**later**)
- [ ] Container rendering - [ ] Container rendering
- [x] Layout - [x] Layout
@@ -53,6 +57,7 @@ The following list contains goals for certain features the library supports or i
- [x] grid - [x] grid
- [x] mixed (some sort of form) - [x] mixed (some sort of form)
- [ ] Elements - [ ] Elements
- [x] `Container` Alignment
- [x] Button - [x] Button
- [x] Text Input field - [x] Text Input field
- [ ] overflow handling, i.e. where to draw the elipse `..` - left, center or right (**later**) - [ ] overflow handling, i.e. where to draw the elipse `..` - left, center or right (**later**)
@@ -90,13 +95,16 @@ The following list contains goals for certain features the library supports or i
- [x] try to integrate them into the library itself such that they also serve as examples on how to test - [x] try to integrate them into the library itself such that they also serve as examples on how to test
- [x] `Layout`, `Border` and `Rectangle` contain the test cases for rendering of `Container`s - [x] `Layout`, `Border` and `Rectangle` contain the test cases for rendering of `Container`s
- [x] `Scrollable` test cases containing inclusion of test creation containing user interaction (i.e. mouse scrolling) - [x] `Scrollable` test cases containing inclusion of test creation containing user interaction (i.e. mouse scrolling)
- [ ] Debugging - [x] Debugging
- [ ] render correpsonding contents with debug information (the following points are just brain dump of potential information the developer want to see): - [x] render correpsonding contents with debug information (the following points are just brain dump of potential information the developer want to see):
- *origin* of `Container`s
- *size* of `Container` (i.e. the four corners?) Top left corner indicates type of contents (if any) while general information is located in the three remaining corners:
- *padding* of `Container` - [x] *anchor* of `Container`s (top-left corner -> meaning that is the actual `Cell` used for displaying the debug information)
- *gap* of `Container` - [x] *size* of `Container`
- *separator* of `Container` - [x] *element* of `Container`
- [x] *separator* of `Container`
- [ ] *padding* of `Container` (i.e. by coloring the background? **later**)
- [ ] *gap* of `Container` (i.e. by coloring the background? **later**)
- [ ] `Element` extensions: - [ ] `Element` extensions:
- provide a reference to the parent `Container` of a given `Element` - provide a reference to the parent `Container` of a given `Element`

@@ -61,8 +61,8 @@ test "test container against zon file" {
defer container.deinit(); defer container.deinit();
try testing.expectContainerScreen(.{ try testing.expectContainerScreen(.{
.rows = 20, .x = 30,
.cols = 30, .y = 20,
}, &container, @import("test/<path>.zon")); }, &container, @import("test/<path>.zon"));
} }
``` ```