#!/bin/sh
#
# Test main view display of index changes and interaction with the stage view.

. libtest.sh
. libgit.sh
. "$source_dir/util.sh"

export LINES=16

steps '
	:view-main
	:save-display main-with-unstaged.screen
	:enter
	:save-display main-with-unstaged-split.screen

	:status-update
	:save-display main-with-staged.screen

	:enter
	:save-display main-with-staged-split.screen

	:view-close
	<F1>
	:refresh
	:save-display main-with-staged-and-unstaged.screen

	<F2>
	:refresh
	:save-display main-with-conflict.screen
'

tigrc <<EOF
set vertical-split = no
bind generic <F1> @sh -c 'git reset a b.c'
bind generic <F2> @setup-conflict.sh
EOF

in_work_dir create_dirty_workdir

test_tig

main_replace_index_changes_date

assert_equals 'main-with-unstaged.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Unstaged changes                                  
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
[main] Unstaged changes                                                     100%
EOF

assert_equals 'main-with-unstaged-split.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Unstaged changes                                  
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
[main] Unstaged changes                                                     100%
 .j  | 6 ++----                                                                 
 a   | 6 ++----                                                                 
 b.c | 6 ++----                                                                 
 e/f | 6 ++----                                                                 
 g h | 6 ++----                                                                 
 5 files changed, 10 insertions(+), 20 deletions(-)                             
                                                                                
diff --git a/.j b/.j                                                            
index e697dfd..9d8ef3d 100644                                                   
[stage] Unstaged changes - line 1 of 107                                      8%
EOF

assert_equals 'main-with-staged.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Staged changes                                    
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
[main] Staged changes                                                       100%
EOF

assert_equals 'main-with-staged-split.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Staged changes                                    
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
[main] Staged changes                                                       100%
 .j  | 6 ++----                                                                 
 a   | 6 ++----                                                                 
 b.c | 6 ++----                                                                 
 e/f | 6 ++----                                                                 
 g h | 6 ++----                                                                 
 5 files changed, 10 insertions(+), 20 deletions(-)                             
                                                                                
diff --git a/.j b/.j                                                            
index e697dfd..9d8ef3d 100644                                                   
[stage] Staged changes - line 1 of 107                                        8%
EOF

assert_equals 'main-with-staged-and-unstaged.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Staged changes                                    
$YYY_MM_DD_HH_MM Unknown    o Unstaged changes                                  
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
[main] Staged changes                                                       100%
EOF

assert_equals 'main-with-conflict.screen' <<EOF
$YYY_MM_DD_HH_MM Unknown    o Unstaged changes                                  
2009-03-03 00:15 Committer  o [conflict-master] Change: c                       
2009-02-13 23:31 Committer  o Change: a                                         
2009-02-13 23:31 A. U. Thor I [master] Initial commit                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
[main] Unstaged changes                                                     100%
EOF
