aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/ide
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/ide')
-rw-r--r--test-suite/ide/undo007.fake5
-rw-r--r--test-suite/ide/undo020.fake27
-rw-r--r--test-suite/ide/undo021.fake29
3 files changed, 58 insertions, 3 deletions
diff --git a/test-suite/ide/undo007.fake b/test-suite/ide/undo007.fake
index 770350fbd..7a1dc81e0 100644
--- a/test-suite/ide/undo007.fake
+++ b/test-suite/ide/undo007.fake
@@ -11,11 +11,10 @@ ADD { Definition f := O. }
# This is a bug in Stm undo, e is lost from master
EDIT_AT here
ADD { Definition f := O. }
-
ADD { assert True by trivial. }
ADD { exact (eq_refl e). }
ADD { Qed. }
-ADD { Stm PrintDag. }
-ADD { Stm Finish. }
+# QUERY { Stm PrintDag. }
+# QUERY { Stm Finish. }
QUERY { Print d. }
QUERY { Check e. }
diff --git a/test-suite/ide/undo020.fake b/test-suite/ide/undo020.fake
new file mode 100644
index 000000000..2adde908d
--- /dev/null
+++ b/test-suite/ide/undo020.fake
@@ -0,0 +1,27 @@
+# Script simulating a dialog between coqide and coqtop -ideslave
+# Run it via fake_ide
+#
+# focusing a broken proof and fixing it
+
+# first proof
+ADD { Lemma a : True. }
+ADD { Proof using. }
+ADD here { idtac. }
+ADD { exact Ix. }
+ADD { Qed. }
+# second proof
+ADD { Lemma b : False. }
+ADD { Proof using. }
+ADD { admit. }
+ADD last { Qed. }
+# We join and expect some proof to fail
+WAIT
+# Going back to the error
+EDIT_AT here
+# Fixing the proof
+ADD { exact I. }
+ADD { Qed. }
+# we are back at the end
+ASSERT TIP last
+QUERY { Check a. }
+QUERY { Check b. }
diff --git a/test-suite/ide/undo021.fake b/test-suite/ide/undo021.fake
new file mode 100644
index 000000000..0d83ad25a
--- /dev/null
+++ b/test-suite/ide/undo021.fake
@@ -0,0 +1,29 @@
+# Script simulating a dialog between coqide and coqtop -ideslave
+# Run it via fake_ide
+#
+# jumping between broken proofs
+
+# first proof
+ADD { Lemma a : True. }
+ADD { Proof using. }
+ADD here { idtac. }
+ADD { exact Ix. }
+ADD { Qed. }
+# second proof
+ADD { Lemma b : True. }
+ADD here2 { Proof using. }
+ADD { exact Ix. }
+ADD { Qed. }
+# We wait all slaves and expect both proofs to fail
+WAIT
+# Going back to the error
+EDIT_AT here2
+# this is not implemented yet, all after here is erased
+EDIT_AT here
+# Fixing the proof
+ADD { exact I. }
+ADD last { Qed. }
+ASSERT TIP last
+# we are back at the end
+QUERY { Check a. }
+QUERY { Fail Check b. }