]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/testppd.c
Import CUPS 1.4svn-r7908.
[thirdparty/cups.git] / cups / testppd.c
index c52309e3927558cf2793798cdaa5aae7bb85c79f..d9cbb9e2b867d6ddbd2dd19fcd05671fe61a622c 100644 (file)
@@ -222,14 +222,26 @@ main(int  argc,                           /* I - Number of command-line arguments */
       status ++;
     }
 
-    fputs("cupsResolveConflicts(): ", stdout);
+    fputs("cupsResolveConflicts(InputSlot=Envelope): ", stdout);
     num_options = 0;
     options     = NULL;
     if (cupsResolveConflicts(ppd, "InputSlot", "Envelope", &num_options,
-                             &options) &&
-        num_options == 1 && !strcasecmp(options->name, "InputSlot") &&
-       !strcasecmp(options->value, "Tray"))
-      puts("PASS");
+                             &options))
+    {
+      puts("FAIL (Resolved but shouldn't be able to!)");
+      status ++;
+    }
+    else
+      puts("PASS (Unable to resolve)");
+    cupsFreeOptions(num_options, options);
+
+    fputs("cupsResolveConflicts(No option/choice): ", stdout);
+    num_options = 0;
+    options     = NULL;
+    if (cupsResolveConflicts(ppd, NULL, NULL, &num_options, &options) &&
+        num_options == 1 && !strcasecmp(options[0].name, "InputSlot") &&
+       !strcasecmp(options[0].value, "Manual"))
+      puts("PASS (Resolved)");
     else if (num_options > 0)
     {
       printf("FAIL (%d options:", num_options);
@@ -240,7 +252,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
     else
     {
-      puts("FAIL (Unable to resolve!)");
+      puts("FAIL (Unable to resolve)");
       status ++;
     }
     cupsFreeOptions(num_options, options);
@@ -329,6 +341,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
 
     putenv("LANG=fr");
+    putenv("LC_ALL=fr");
+    putenv("LC_CTYPE=fr");
+    putenv("LC_MESSAGES=fr");
 
     fputs("ppdLocalizeIPPReason(fr text): ", stdout);
     if (ppdLocalizeIPPReason(ppd, "foo", NULL, buffer, sizeof(buffer)) &&
@@ -341,6 +356,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
 
     putenv("LANG=zh_TW");
+    putenv("LC_ALL=zh_TW");
+    putenv("LC_CTYPE=zh_TW");
+    putenv("LC_MESSAGES=zh_TW");
 
     fputs("ppdLocalizeIPPReason(zh_TW text): ", stdout);
     if (ppdLocalizeIPPReason(ppd, "foo", NULL, buffer, sizeof(buffer)) &&
@@ -357,6 +375,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     */
 
     putenv("LANG=en");
+    putenv("LC_ALL=en");
+    putenv("LC_CTYPE=en");
+    putenv("LC_MESSAGES=en");
 
     fputs("ppdLocalizeMarkerName(bogus): ", stdout);
 
@@ -381,6 +402,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
 
     putenv("LANG=fr");
+    putenv("LC_ALL=fr");
+    putenv("LC_CTYPE=fr");
+    putenv("LC_MESSAGES=fr");
 
     fputs("ppdLocalizeMarkerName(fr cyan): ", stdout);
     if ((text = ppdLocalizeMarkerName(ppd, "cyan")) != NULL &&
@@ -394,6 +418,9 @@ main(int  argc,                             /* I - Number of command-line arguments */
     }
 
     putenv("LANG=zh_TW");
+    putenv("LC_ALL=zh_TW");
+    putenv("LC_CTYPE=zh_TW");
+    putenv("LC_MESSAGES=zh_TW");
 
     fputs("ppdLocalizeMarkerName(zh_TW cyan): ", stdout);
     if ((text = ppdLocalizeMarkerName(ppd, "cyan")) != NULL &&
@@ -452,11 +479,26 @@ main(int  argc,                           /* I - Number of command-line arguments */
       status ++;
     }
 
-    fputs("cupsResolveConflicts(): ", stdout);
+    fputs("cupsResolveConflicts(Quality=Photo): ", stdout);
     num_options = 0;
     options     = NULL;
     if (cupsResolveConflicts(ppd, "Quality", "Photo", &num_options,
-                            &options) &&
+                             &options))
+    {
+      printf("FAIL (%d options:", num_options);
+      for (i = 0; i < num_options; i ++)
+        printf(" %s=%s", options[i].name, options[i].value);
+      puts(")");
+      status ++;
+    }
+    else
+      puts("PASS (Unable to resolve)");
+    cupsFreeOptions(num_options, options);
+
+    fputs("cupsResolveConflicts(No option/choice): ", stdout);
+    num_options = 0;
+    options     = NULL;
+    if (cupsResolveConflicts(ppd, NULL, NULL, &num_options, &options) &&
         num_options == 1 && !strcasecmp(options->name, "Quality") &&
        !strcasecmp(options->value, "Normal"))
       puts("PASS");
@@ -480,8 +522,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
     ppdMarkOption(ppd, "Quality", "Photo");
     num_options = 0;
     options     = NULL;
-    if (!cupsResolveConflicts(ppd, "Quality", "Photo", &num_options,
-                             &options))
+    if (!cupsResolveConflicts(ppd, NULL, NULL, &num_options, &options))
       puts("PASS");
     else if (num_options > 0)
     {
@@ -637,13 +678,22 @@ main(int  argc,                           /* I - Number of command-line arguments */
       ppd_coption_t    *coption;       /* Custom option */
       ppd_cparam_t     *cparam;        /* Custom parameter */
       ppd_const_t      *c;             /* UIConstraints */
-      char             lang[255];      /* LANG environment variable */
+      char             lang[255],      /* LANG environment variable */
+                       lc_all[255],    /* LC_ALL environment variable */
+                       lc_ctype[255],  /* LC_CTYPE environment variable */
+                       lc_messages[255];/* LC_MESSAGES environment variable */
 
 
       if (argc > 2)
       {
         snprintf(lang, sizeof(lang), "LANG=%s", argv[2]);
        putenv(lang);
+        snprintf(lc_all, sizeof(lc_all), "LC_ALL=%s", argv[2]);
+       putenv(lc_all);
+        snprintf(lc_ctype, sizeof(lc_ctype), "LC_CTYPE=%s", argv[2]);
+       putenv(lc_ctype);
+        snprintf(lc_messages, sizeof(lc_messages), "LC_MESSAGES=%s", argv[2]);
+       putenv(lc_messages);
       }
 
       ppdLocalize(ppd);