[latex3-commits] [git/LaTeX3-latex3-latex3] scan-quark: Do some tests with \__kernel_quark_test_generate:NNNn (90332b6a4)

PhelypeOleinik tex.phelype at gmail.com
Thu Mar 12 03:52:55 CET 2020


Repository : https://github.com/latex3/latex3
On branch  : scan-quark
Link       : https://github.com/latex3/latex3/commit/90332b6a47ef308eca9ac44c64318f2bd3f870ab

>---------------------------------------------------------------

commit 90332b6a47ef308eca9ac44c64318f2bd3f870ab
Author: PhelypeOleinik <tex.phelype at gmail.com>
Date:   Wed Mar 11 23:52:55 2020 -0300

    Do some tests with \__kernel_quark_test_generate:NNNn


>---------------------------------------------------------------

90332b6a47ef308eca9ac44c64318f2bd3f870ab
 l3kernel/testfiles/m3quark002.lvt | 50 +++++++++++++++++++++++++++++----
 l3kernel/testfiles/m3quark002.tlg | 59 +++++++++++++++++++++++++++++++--------
 2 files changed, 92 insertions(+), 17 deletions(-)

diff --git a/l3kernel/testfiles/m3quark002.lvt b/l3kernel/testfiles/m3quark002.lvt
index 456028d3d..382b28705 100644
--- a/l3kernel/testfiles/m3quark002.lvt
+++ b/l3kernel/testfiles/m3quark002.lvt
@@ -15,30 +15,68 @@
 \AUTHOR{Phelype Oleinik}
 \ExplSyntaxOn
 
-\TEST{New~private~quark~functions}{
-  \quark_new:N \q__test_recursion_tail
-  \quark_new:N \q__test_recursion_stop
-  \__kernel_quark_new_recursion_tail_stop:n { __test }
+\quark_new:N \q__test_recursion_tail
+\quark_new:N \q__test_recursion_stop
+
+\TEST{New~private~quark~functions~(:n)}{
+  \__kernel_quark_test_generate:NNNn
+    \__test_quark_if_recursion_tail_stop:n
+    \q__test_recursion_tail \q__test_recursion_stop { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop:n
-  \__kernel_quark_new_recursion_tail_stop_do:n { __test }
+  \cs_log:N \__test_if_test_recursion_tail:w
+  \cs_log:N \__test_use_none_delimit_by_q_test_recursion_stop:w
+}
+
+\TEST{New~private~quark~functions~(:nn)}{
+  \__kernel_quark_test_generate:NNNn
+    \__test_quark_if_recursion_tail_stop_do:nn
+    \q__test_recursion_tail \q__test_recursion_stop { __test }
   \cs_log:N \__test_quark_if_recursion_tail_stop_do:nn
+  \cs_log:N \__test_if_test_recursion_tail:w
+  \cs_log:N \__test_use_i_delimit_by_q_test_recursion_stop:nw
+}
+
+\TEST{New~private~quark~functions~(:N)}{
+  \__kernel_quark_test_generate:NNNn
+    \__test_quark_if_recursion_tail_stop:N
+    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \cs_log:N \__test_quark_if_recursion_tail_stop:N
+  \cs_log:N \__test_if_test_recursion_tail:w
+  \cs_log:N \__test_use_none_delimit_by_q_test_recursion_stop:w
+}
+
+\TEST{New~private~quark~functions~(:Nn)}{
+  \__kernel_quark_test_generate:NNNn
+    \__test_quark_if_recursion_tail_stop_do:Nn
+    \q__test_recursion_tail \q__test_recursion_stop { __test }
+  \cs_log:N \__test_quark_if_recursion_tail_stop_do:Nn
+  \cs_log:N \__test_if_test_recursion_tail:w
+  \cs_log:N \__test_use_i_delimit_by_q_test_recursion_stop:nw
 }
 
 \TESTEXP{Inside~recursions~(expect~nothing)}{
   \__test_quark_if_recursion_tail_stop:n
     {\q__test_recursion_tail} \ERROR \q__test_recursion_stop
+  \__test_quark_if_recursion_tail_stop:N
+    \q__test_recursion_tail \ERROR \q__test_recursion_stop
 }
 
-\TESTEXP{Inside~recursions~(expect~`YESYES')}{
+\TESTEXP{Inside~recursions~(expect~`YESYESYESYES')}{
   \__test_quark_if_recursion_tail_stop_do:nn
     {\q__test_recursion_tail}\YES\q__test_recursion_stop
   \__test_quark_if_recursion_tail_stop_do:nn
     {\q__test_recursion_tail}\YES\NO\q__test_recursion_stop
+  \__test_quark_if_recursion_tail_stop_do:Nn
+    \q__test_recursion_tail\YES\q__test_recursion_stop
+  \__test_quark_if_recursion_tail_stop_do:Nn
+    \q__test_recursion_tail\YES\NO\q__test_recursion_stop
 }
 
 \TESTEXP{Recursion~edge~cases~(expect~nothing)}{
   \__test_quark_if_recursion_tail_stop:n {{{{a}}}}
   \__test_quark_if_recursion_tail_stop:n {{ab\iffalse}\fi}
+  \__test_quark_if_recursion_tail_stop_do:nn {{{{a}}}}{ \ERROR }
+  \__test_quark_if_recursion_tail_stop_do:nn {{ab\iffalse}\fi}{ \ERROR }
 }
 
 \END
diff --git a/l3kernel/testfiles/m3quark002.tlg b/l3kernel/testfiles/m3quark002.tlg
index 002a8d95d..3d6b42885 100644
--- a/l3kernel/testfiles/m3quark002.tlg
+++ b/l3kernel/testfiles/m3quark002.tlg
@@ -1,30 +1,67 @@
 This is a generated file for the LaTeX (2e + expl3) validation system.
 Don't change this file in any respect.
 Author: Phelype Oleinik
-============================================================
-TEST 1: New private quark functions
-============================================================
 Defining \q__test_recursion_tail on line ...
 Defining \q__test_recursion_stop on line ...
+============================================================
+TEST 1: New private quark functions (:n)
+============================================================
 Defining \__test_quark_if_recursion_tail_stop:n on line ...
 > \__test_quark_if_recursion_tail_stop:n=\long macro:#1->\tl_if_empty:oTF
-{\__test_quark_if_recursion_tail:w {}#1{}?!\q__test_recursion_tail
-??!}{\__test_use_none_delimit_by_q_recursion_stop:w }{}.
+{\__test_if_test_recursion_tail:w {}#1{}?!\q__test_recursion_tail
+??!}{\__test_use_none_delimit_by_q_test_recursion_stop:w }{}.
+> \__test_if_test_recursion_tail:w=\long macro:#1\q__test_recursion_tail
+#2?#3?!->#1#2.
+> \__test_use_none_delimit_by_q_test_recursion_stop:w=\long
+macro:#1\q__test_recursion_stop ->.
+============================================================
+============================================================
+TEST 2: New private quark functions (:nn)
+============================================================
 Defining \__test_quark_if_recursion_tail_stop_do:nn on line ...
 > \__test_quark_if_recursion_tail_stop_do:nn=\long macro:#1->\tl_if_empty:oTF
-{\__test_quark_if_recursion_tail:w {}#1{}?!\q__test_recursion_tail
-??!}{\__test_use_i_delimit_by_q_recursion_stop:nw }{\use_none:n }.
+{\__test_if_test_recursion_tail:w {}#1{}?!\q__test_recursion_tail
+??!}{\__test_use_i_delimit_by_q_test_recursion_stop:nw }{\use_none:n }.
+> \__test_if_test_recursion_tail:w=\long macro:#1\q__test_recursion_tail
+#2?#3?!->#1#2.
+> \__test_use_i_delimit_by_q_test_recursion_stop:nw=\long
+macro:#1#2\q__test_recursion_stop ->#1.
+============================================================
+============================================================
+TEST 3: New private quark functions (:N)
+============================================================
+Defining \__test_quark_if_recursion_tail_stop:N on line ...
+> \__test_quark_if_recursion_tail_stop:N=\long macro:#1->\if_meaning:w
+\q__test_recursion_tail #1\exp_after:wN
+\__test_use_none_delimit_by_q_test_recursion_stop:w \fi: .
+> \__test_if_test_recursion_tail:w=\long macro:#1\q__test_recursion_tail
+#2?#3?!->#1#2.
+> \__test_use_none_delimit_by_q_test_recursion_stop:w=\long
+macro:#1\q__test_recursion_stop ->.
+============================================================
+============================================================
+TEST 4: New private quark functions (:Nn)
+============================================================
+Defining \__test_quark_if_recursion_tail_stop_do:Nn on line ...
+> \__test_quark_if_recursion_tail_stop_do:Nn=\long macro:#1->\if_meaning:w
+\q__test_recursion_tail #1\exp_after:wN
+\__test_use_i_delimit_by_q_test_recursion_stop:nw \else: \exp_after:wN
+\use_none:n \fi: .
+> \__test_if_test_recursion_tail:w=\long macro:#1\q__test_recursion_tail
+#2?#3?!->#1#2.
+> \__test_use_i_delimit_by_q_test_recursion_stop:nw=\long
+macro:#1#2\q__test_recursion_stop ->#1.
 ============================================================
 ============================================================
-TEST 2: Inside recursions (expect nothing)
+TEST 5: Inside recursions (expect nothing)
 ============================================================
 ============================================================
 ============================================================
-TEST 3: Inside recursions (expect `YESYES')
+TEST 6: Inside recursions (expect `YESYESYESYES')
 ============================================================
-YESYES
+YESYESYESYES
 ============================================================
 ============================================================
-TEST 4: Recursion edge cases (expect nothing)
+TEST 7: Recursion edge cases (expect nothing)
 ============================================================
 ============================================================





More information about the latex3-commits mailing list.