/* $NetBSD: opt_cli.c,v 1.7 2023/06/10 17:35:41 rillig Exp $ */ /* * Tests for the option '-cli' ("case label indentation"), which sets the * amount of indentation of a 'case' relative to the surrounding 'switch', * measured in indentation levels. * * See also: * lsym_case_label.c */ //indent input void classify(int n) { switch (n) { case 0: print("zero"); break; case 1: print("one"); break; case 2: case 3: print("prime"); break; case 4: print("square"); break; default: print("large"); break; } } //indent end //indent run -cli0.5 void classify(int n) { switch (n) { case 0: print("zero"); break; case 1: print("one"); break; case 2: case 3: print("prime"); break; case 4: print("square"); break; default: print("large"); break; } } //indent end //indent run -cli1.5 void classify(int n) { switch (n) { case 0: print("zero"); break; case 1: print("one"); break; case 2: case 3: print("prime"); break; case 4: print("square"); break; default: print("large"); break; } } //indent end //indent run -cli3.25 void classify(int n) { switch (n) { case 0: print("zero"); break; case 1: print("one"); break; case 2: case 3: print("prime"); break; case 4: print("square"); break; default: print("large"); break; } } //indent end /* * Test the combination of left-aligned braces and a deep case indentation. * * When the 'case' labels are that deeply indented, the distance between the * braces and the 'case' is between 1 and 2 indentation levels. */ //indent input { switch (expr) { case 1: } } //indent end //indent run -br -cli3.25 { switch (expr) { case 1: } } //indent end //indent run -bl -cli3.25 { switch (expr) { case 1: } } //indent end //indent run -bl -cli2.75 { switch (expr) { case 1: } } //indent end //indent run -bl -cli1.25 { switch (expr) { case 1: } } //indent end