@@ -304,100 +304,3 @@ fn set_panic_handlers() -> Result<()> {
304
304
305
305
Ok ( ( ) )
306
306
}
307
-
308
- #[ cfg( test) ]
309
- mod tests {
310
- use std:: {
311
- cell:: RefCell , path:: PathBuf , thread:: sleep, time:: Duration ,
312
- } ;
313
-
314
- use asyncgit:: { sync:: RepoPath , AsyncGitNotification } ;
315
- use crossbeam_channel:: unbounded;
316
- use git2_testing:: repo_init;
317
- use insta:: assert_snapshot;
318
- use ratatui:: { backend:: TestBackend , Terminal } ;
319
-
320
- use crate :: {
321
- app:: App , draw, input:: Input , keys:: KeyConfig ,
322
- ui:: style:: Theme , AsyncNotification ,
323
- } ;
324
-
325
- // Macro adapted from: https://insta.rs/docs/cmd/
326
- macro_rules! apply_common_filters {
327
- { } => {
328
- let mut settings = insta:: Settings :: clone_current( ) ;
329
- // MacOS Temp Folder
330
- settings. add_filter( r" *\[…\]\S+?/T/\S+" , "[TEMP_FILE]" ) ;
331
- // Linux Temp Folder
332
- settings. add_filter( r" */tmp/\.tmp\S+" , "[TEMP_FILE]" ) ;
333
- // Windows Temp folder
334
- settings. add_filter( r" *\[…\].*/Local/Temp/\S+" , "[TEMP_FILE]" ) ;
335
- // Commit ids that follow a vertical bar
336
- settings. add_filter( r"│[a-z0-9]{7} " , "│[AAAAA] " ) ;
337
- let _bound = settings. bind_to_scope( ) ;
338
- }
339
- }
340
-
341
- #[ test]
342
- fn app_starts ( ) {
343
- apply_common_filters ! ( ) ;
344
-
345
- let ( temp_dir, _repo) = repo_init ( ) ;
346
- let path: RepoPath = temp_dir. path ( ) . to_str ( ) . unwrap ( ) . into ( ) ;
347
-
348
- let ( tx_git, _rx_git) = unbounded ( ) ;
349
- let ( tx_app, _rx_app) = unbounded ( ) ;
350
-
351
- let input = Input :: new ( ) ;
352
-
353
- let theme = Theme :: init ( & PathBuf :: new ( ) ) ;
354
- let key_config = KeyConfig :: default ( ) ;
355
-
356
- let mut app = App :: new (
357
- RefCell :: new ( path) ,
358
- tx_git,
359
- tx_app,
360
- input. clone ( ) ,
361
- theme,
362
- key_config. clone ( ) ,
363
- )
364
- . unwrap ( ) ;
365
-
366
- let mut terminal =
367
- Terminal :: new ( TestBackend :: new ( 120 , 40 ) ) . unwrap ( ) ;
368
-
369
- draw ( & mut terminal, & app) . unwrap ( ) ;
370
-
371
- assert_snapshot ! ( "app_loading" , terminal. backend( ) ) ;
372
-
373
- let event =
374
- AsyncNotification :: Git ( AsyncGitNotification :: Status ) ;
375
- app. update_async ( event) . unwrap ( ) ;
376
-
377
- sleep ( Duration :: from_millis ( 500 ) ) ;
378
-
379
- draw ( & mut terminal, & app) . unwrap ( ) ;
380
-
381
- assert_snapshot ! ( "app_loading_finished" , terminal. backend( ) ) ;
382
-
383
- let event = crossterm:: event:: KeyEvent :: new (
384
- key_config. keys . tab_log . code ,
385
- key_config. keys . tab_log . modifiers ,
386
- ) ;
387
- app. event ( crate :: input:: InputEvent :: Input (
388
- crossterm:: event:: Event :: Key ( event) ,
389
- ) )
390
- . unwrap ( ) ;
391
-
392
- sleep ( Duration :: from_millis ( 500 ) ) ;
393
-
394
- app. update ( ) . unwrap ( ) ;
395
-
396
- draw ( & mut terminal, & app) . unwrap ( ) ;
397
-
398
- assert_snapshot ! (
399
- "app_log_tab_showing_one_commit" ,
400
- terminal. backend( )
401
- ) ;
402
- }
403
- }
0 commit comments