+ ok1(!strstr(output, "--mmm|-m"));
+ free(output);
+
+ /* NULL should use string from registered options. */
+ output = opt_usage("my name", NULL);
+ diag("%s", output);
+ ok1(strstr(output, "Usage: my name"));
+ ok1(strstr(output, "--jjj|-j|--lll|-l <arg>"));
+ ok1(strstr(output, "<MyArgs>..."));
+ ok1(strstr(output, "-a "));
+ ok1(strstr(output, " Description of a\n"));
+ ok1(strstr(output, "-b <arg>"));
+ ok1(strstr(output, " Description of b (default: b)\n"));
+ ok1(strstr(output, "--ddd "));
+ ok1(strstr(output, " Description of ddd\n"));
+ ok1(strstr(output, "--eee <filename> "));
+ ok1(strstr(output, " (default: eee)\n"));
+ ok1(strstr(output, "long table options:\n"));
+ ok1(strstr(output, "--ggg|-g "));
+ ok1(strstr(output, " Description of ggg\n"));
+ ok1(strstr(output, "-h|--hhh <arg>"));
+ ok1(strstr(output, " Description of hhh\n"));
+ ok1(strstr(output, "--kkk|-k"));
+ ok1(strstr(output, "magic kkk option"));
+ ok1(strstr(output, "--longname"));
+ ok1(strstr(output, "a really long option default"));
+ ok1(strstr(output, "(default: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"...)"));
+ ok1(strstr(output, "--shortname"));
+ ok1(strstr(output, "a short option default"));
+ ok1(strstr(output, "(default: \"shortname\")"));
+ /* This entry is hidden. */
+ ok1(!strstr(output, "--mmm|-m"));
+ free(output);
+
+ reset_options();
+ /* Empty table test. */
+ output = opt_usage("nothing", NULL);
+ ok1(strstr(output, "Usage: nothing \n"));
+ free(output);