#!/usr/bin/expect

set timeout 5
set env(NO_COLOR) 1

source  "$env(BATS_CWD)/helper/common_expect_functions.tcl"

spawn dolt add --patch

# This is a long script, but the idea is simple. Input y,n,y,s repeatedly and ensure that the right prompts are seen

expect_with_defaults_2 {| \+ | 0  | Yellow | 255 | 255   | 0    |}  {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| - | 2  | Green | 0   | 255   | 0    |}    {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "n\r"; }

expect_with_defaults_2 {| > | 3  | SkyBlue | 0   | 128   | 255  |}  {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| - | 2  | 3.3 | 4.4 |}                     {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "s\r"; }

expect_with_defaults_2 {| - | 2  | Green | 0   | 255   | 0    |}    {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| - | 2  | 3.3 | 4.4 |}                     {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "n\r"; }

expect_with_defaults_2 {| > | 3  | 5.5 | 100.001 |}                 {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| \+ | 4  | 42.24 | 23.32 |}                {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "s\r"; }

expect_with_defaults_2 {| - | 2  | 3.3 | 4.4 |}                     {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| \+ | 4  | 42.24 | 23.32 |}                {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "n\r"; }

expect_with_defaults_2 {| > | 1  | joey |}                          {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| - | 2  | sami |}                          {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "s\r"; }

expect_with_defaults_2 {| \+ | 4  | 42.24 | 23.32 |}                {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect_with_defaults_2 {| - | 2  | sami |}                          {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "n\r"; }

expect_with_defaults_2 {| \+ | 4  | john |}                         {Stage this row \[y,n,q,a,d,s,\?\]\? } { send "y\r"; }

expect eof
exit
