aboutsummaryrefslogtreecommitdiff
path: root/helix-term/tests
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/tests')
-rw-r--r--helix-term/tests/integration.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/helix-term/tests/integration.rs b/helix-term/tests/integration.rs
new file mode 100644
index 00000000..1ef618f7
--- /dev/null
+++ b/helix-term/tests/integration.rs
@@ -0,0 +1,24 @@
+use helix_term::{application::Application, args::Args, config::Config};
+use helix_view::current;
+
+use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers};
+
+#[tokio::test]
+async fn it_works() {
+ let args = Args::default();
+ let config = Config::default();
+ let mut app = Application::new(args, config).unwrap();
+
+ let inputs = &['i', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'];
+
+ for input in inputs {
+ // TODO: use input.parse::<KeyEvent>
+ app.handle_terminal_events(Ok(Event::Key(KeyEvent {
+ code: KeyCode::Char(*input),
+ modifiers: KeyModifiers::NONE,
+ })));
+ }
+
+ let (_, doc) = current!(app.editor);
+ assert_eq!(doc.text(), "hello world\n");
+}