Module Name:    src
Committed By:   rillig
Date:           Sat Apr 23 09:01:03 UTC 2022

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/tests/usr.bin/indent: Makefile psym_if_expr.c psym_if_expr_stmt.c
            psym_if_expr_stmt_else.c
Removed Files:
        src/tests/usr.bin/indent: token_if_expr.c token_if_expr_stmt.c
            token_if_expr_stmt_else.c

Log Message:
tests/indent: migrate a few token tests to psym tests


To generate a diff of this commit:
cvs rdiff -u -r1.1194 -r1.1195 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.40 -r1.41 src/tests/usr.bin/indent/Makefile
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/indent/psym_if_expr.c \
    src/tests/usr.bin/indent/psym_if_expr_stmt.c \
    src/tests/usr.bin/indent/psym_if_expr_stmt_else.c
cvs rdiff -u -r1.2 -r0 src/tests/usr.bin/indent/token_if_expr.c \
    src/tests/usr.bin/indent/token_if_expr_stmt.c \
    src/tests/usr.bin/indent/token_if_expr_stmt_else.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.1194 src/distrib/sets/lists/tests/mi:1.1195
--- src/distrib/sets/lists/tests/mi:1.1194	Wed Apr 20 07:41:04 2022
+++ src/distrib/sets/lists/tests/mi	Sat Apr 23 09:01:03 2022
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1194 2022/04/20 07:41:04 blymn Exp $
+# $NetBSD: mi,v 1.1195 2022/04/23 09:01:03 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -5265,9 +5265,9 @@
 ./usr/tests/usr.bin/indent/token_form_feed.c				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/token_funcname.c				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/token_ident.c				tests-usr.bin-tests	compattestfile,atf
-./usr/tests/usr.bin/indent/token_if_expr.c				tests-usr.bin-tests	compattestfile,atf
-./usr/tests/usr.bin/indent/token_if_expr_stmt.c				tests-usr.bin-tests	compattestfile,atf
-./usr/tests/usr.bin/indent/token_if_expr_stmt_else.c			tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/indent/token_if_expr.c				tests-obsolete		obsolete,atf
+./usr/tests/usr.bin/indent/token_if_expr_stmt.c				tests-obsolete		obsolete,atf
+./usr/tests/usr.bin/indent/token_if_expr_stmt_else.c			tests-obsolete		obsolete,atf
 ./usr/tests/usr.bin/indent/token_keyword_do.c				tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/token_keyword_do_else.c			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/indent/token_keyword_else.c				tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/indent/Makefile
diff -u src/tests/usr.bin/indent/Makefile:1.40 src/tests/usr.bin/indent/Makefile:1.41
--- src/tests/usr.bin/indent/Makefile:1.40	Fri Apr 22 21:21:20 2022
+++ src/tests/usr.bin/indent/Makefile	Sat Apr 23 09:01:03 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.40 2022/04/22 21:21:20 rillig Exp $
+#	$NetBSD: Makefile,v 1.41 2022/04/23 09:01:03 rillig Exp $
 
 .include <bsd.own.mk>
 
@@ -119,9 +119,6 @@ FILES+=		token_for_exprs.c
 FILES+=		token_form_feed.c
 FILES+=		token_funcname.c
 FILES+=		token_ident.c
-FILES+=		token_if_expr.c
-FILES+=		token_if_expr_stmt.c
-FILES+=		token_if_expr_stmt_else.c
 FILES+=		token_keyword_do.c
 FILES+=		token_keyword_do_else.c
 FILES+=		token_keyword_else.c

Index: src/tests/usr.bin/indent/psym_if_expr.c
diff -u src/tests/usr.bin/indent/psym_if_expr.c:1.2 src/tests/usr.bin/indent/psym_if_expr.c:1.3
--- src/tests/usr.bin/indent/psym_if_expr.c:1.2	Fri Apr 22 21:21:20 2022
+++ src/tests/usr.bin/indent/psym_if_expr.c	Sat Apr 23 09:01:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: psym_if_expr.c,v 1.2 2022/04/22 21:21:20 rillig Exp $ */
+/* $NetBSD: psym_if_expr.c,v 1.3 2022/04/23 09:01:03 rillig Exp $ */
 
 /*
  * Tests for the parser symbol psym_if_expr, representing the parser state
@@ -7,7 +7,16 @@
  */
 
 #indent input
-// TODO: add input
+void function(void) {
+	if(cond) stmt();
+}
 #indent end
 
-#indent run-equals-input
+#indent run
+void
+function(void)
+{
+	if (cond)
+		stmt();
+}
+#indent end
Index: src/tests/usr.bin/indent/psym_if_expr_stmt.c
diff -u src/tests/usr.bin/indent/psym_if_expr_stmt.c:1.2 src/tests/usr.bin/indent/psym_if_expr_stmt.c:1.3
--- src/tests/usr.bin/indent/psym_if_expr_stmt.c:1.2	Fri Apr 22 21:21:20 2022
+++ src/tests/usr.bin/indent/psym_if_expr_stmt.c	Sat Apr 23 09:01:03 2022
@@ -1,14 +1,27 @@
-/* $NetBSD: psym_if_expr_stmt.c,v 1.2 2022/04/22 21:21:20 rillig Exp $ */
+/* $NetBSD: psym_if_expr_stmt.c,v 1.3 2022/04/23 09:01:03 rillig Exp $ */
 
 /*
  * Tests for the parser symbol psym_if_expr_stmt, which represents the state
  * after reading the keyword 'if', the controlling expression and the
- * statement for the 'then' branch.  If the next token is 'else', another
- * statement will follow, otherwise the 'if' statement is finished already.
+ * statement for the 'then' branch.
+ *
+ * At this point, the 'if' statement is not necessarily complete, it can be
+ * completed with the keyword 'else' followed by a statement.
+ *
+ * Any token other than 'else' completes the 'if' statement.
  */
 
 #indent input
-// TODO: add input
+void
+function(void)
+{
+	if (cond)
+		stmt();
+	if (cond)
+		stmt();
+	else			/* belongs to the second 'if' */
+		stmt();
+}
 #indent end
 
 #indent run-equals-input
Index: src/tests/usr.bin/indent/psym_if_expr_stmt_else.c
diff -u src/tests/usr.bin/indent/psym_if_expr_stmt_else.c:1.2 src/tests/usr.bin/indent/psym_if_expr_stmt_else.c:1.3
--- src/tests/usr.bin/indent/psym_if_expr_stmt_else.c:1.2	Fri Apr 22 21:21:20 2022
+++ src/tests/usr.bin/indent/psym_if_expr_stmt_else.c	Sat Apr 23 09:01:03 2022
@@ -1,15 +1,96 @@
-/* $NetBSD: psym_if_expr_stmt_else.c,v 1.2 2022/04/22 21:21:20 rillig Exp $ */
+/* $NetBSD: psym_if_expr_stmt_else.c,v 1.3 2022/04/23 09:01:03 rillig Exp $ */
 
 /*
  * Tests for the parser symbol psym_if_expr_stmt_else, which represents the
  * parser state after reading the keyword 'if', the controlling expression,
- * the statement of the 'then' branch and the keyword 'else'.  If the next
- * token is an 'if', the formatting depends on the option '-ei' or '-nei'.  In
- * all other situations, the next statement will finish the 'if' statement.
+ * the statement of the 'then' branch and the keyword 'else'.
+ *
+ * If the next token is an 'if', the formatting depends on the option '-ei' or
+ * '-nei'.  Any other lookahead token completes the 'if' statement.
  */
 
 #indent input
-// TODO: add input
+void
+example(_Bool cond)
+{
+	if (cond) {}
+	else if (cond) {}
+	else if (cond) i++;
+	else {}
+}
 #indent end
 
-#indent run-equals-input
+#indent run
+void
+example(_Bool cond)
+{
+	if (cond) {
+	} else if (cond) {
+	} else if (cond)
+		i++;
+	else {
+	}
+}
+#indent end
+
+/*
+ * Combining the options '-bl' (place brace on the left margin) and '-ce'
+ * (cuddle else) looks strange, but is technically correct.
+ */
+#indent run -bl
+void
+example(_Bool cond)
+{
+	if (cond)
+	{
+	} else if (cond)
+	{
+	} else if (cond)
+		i++;
+	else
+	{
+	}
+}
+#indent end
+
+#indent run -bl -nce
+void
+example(_Bool cond)
+{
+	if (cond)
+	{
+	}
+	else if (cond)
+	{
+	}
+	else if (cond)
+		i++;
+	else
+	{
+	}
+}
+#indent end
+
+/*
+ * Adding the option '-nei' (do not join 'else if') expands the code even
+ * more.
+ */
+#indent run -bl -nce -nei
+void
+example(_Bool cond)
+{
+	if (cond)
+	{
+	}
+	else
+		if (cond)
+		{
+		}
+		else
+			if (cond)
+				i++;
+			else
+			{
+			}
+}
+#indent end

Reply via email to