]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/testppd.c
Import CUPS trunk (1.4svn) r7116.
[thirdparty/cups.git] / cups / testppd.c
index 3315d94c15d5d2179213816a9b5e82e8294c58e6..e88a125682f6bbc5294a4936a8022024e5e632d5 100644 (file)
@@ -1,25 +1,16 @@
 /*
- * "$Id: testppd.c 6159 2006-12-19 20:08:42Z mike $"
+ * "$Id: testppd.c 6936 2007-09-10 18:15:36Z mike $"
  *
  *   PPD test program for the Common UNIX Printing System (CUPS).
  *
+ *   Copyright 2007 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
- *   property of Easy Software Products and are protected by Federal
- *   copyright law.  Distribution and use rights are outlined in the file
- *   "LICENSE.txt" which should have been included with this file.  If this
- *   file is missing or damaged please contact Easy Software Products
- *   at:
- *
- *       Attn: CUPS Licensing Information
- *       Easy Software Products
- *       44141 Airport View Drive, Suite 204
- *       Hollywood, Maryland 20636 USA
- *
- *       Voice: (301) 373-9600
- *       EMail: cups-info@cups.org
- *         WWW: http://www.cups.org
+ *   property of Apple Inc. and are protected by Federal copyright
+ *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ *   which should have been included with this file.  If this file is
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
  *
  *   This file is subject to the Apple OS-Developed Software exception.
  *
@@ -70,16 +61,6 @@ static const char    *default_code =
                        "} stopped cleartomark\n";
 
 static const char      *custom_code =
-                       "[{\n"
-                       "%%BeginFeature: *CustomPageSize True\n"
-                       "400\n"
-                       "500\n"
-                       "0\n"
-                       "0\n"
-                       "0\n"
-                       "PageSize=Custom\n"
-                       "%%EndFeature\n"
-                       "} stopped cleartomark\n"
                        "[{\n"
                        "%%BeginFeature: *InputSlot Tray\n"
                        "InputSlot=Tray\n"
@@ -92,6 +73,16 @@ static const char    *custom_code =
                        "[{\n"
                        "%%BeginFeature: *StringOption None\n"
                        "%%EndFeature\n"
+                       "} stopped cleartomark\n"
+                       "[{\n"
+                       "%%BeginFeature: *CustomPageSize True\n"
+                       "400\n"
+                       "500\n"
+                       "0\n"
+                       "0\n"
+                       "0\n"
+                       "PageSize=Custom\n"
+                       "%%EndFeature\n"
                        "} stopped cleartomark\n";
 
 
@@ -107,6 +98,7 @@ main(int  argc,                              /* I - Number of command-line arguments */
   int          status;                 /* Status of tests (0 = success, 1 = fail) */
   int          conflicts;              /* Number of conflicts */
   char         *s;                     /* String */
+  char         buffer[8192];           /* String buffer */
 
 
   status = 0;
@@ -146,6 +138,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       puts("PASS");
     else
     {
+      status ++;
       printf("FAIL (%d bytes instead of %d)\n", s ? (int)strlen(s) : 0,
             (int)strlen(default_code));
 
@@ -164,6 +157,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       puts("PASS");
     else
     {
+      status ++;
       printf("FAIL (%d bytes instead of %d)\n", s ? (int)strlen(s) : 0,
             (int)strlen(custom_code));
 
@@ -174,7 +168,73 @@ main(int  argc,                            /* I - Number of command-line arguments */
     if (s)
       free(s);
 
-    ppdClose(ppd);
+   /*
+    * Test localization...
+    */
+
+    fputs("ppdLocalizeIPPReason(text): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", NULL, buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "Foo Reason"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"Foo Reason\")\n", buffer);
+    }
+
+    fputs("ppdLocalizeIPPReason(http): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", "http", buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "http://foo/bar.html"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"http://foo/bar.html\")\n", buffer);
+    }
+
+    fputs("ppdLocalizeIPPReason(help): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", "help", buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "help:anchor='foo'%20bookID=Vendor%20Help"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"help:anchor='foo'%%20bookID=Vendor%%20Help\")\n", buffer);
+    }
+
+    fputs("ppdLocalizeIPPReason(file): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", "file", buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "/help/foo/bar.html"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"/help/foo/bar.html\")\n", buffer);
+    }
+
+    putenv("LANG=fr");
+
+    fputs("ppdLocalizeIPPReason(fr text): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", NULL, buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "La Long Foo Reason"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"La Long Foo Reason\")\n", buffer);
+    }
+
+    putenv("LANG=zh_TW");
+
+    fputs("ppdLocalizeIPPReason(zh_TW text): ", stdout);
+    if (ppdLocalizeIPPReason(ppd, "foo", NULL, buffer, sizeof(buffer)) &&
+        !strcmp(buffer, "Number 1 Foo Reason"))
+      puts("PASS");
+    else
+    {
+      status ++;
+      printf("FAIL (\"%s\" instead of \"Number 1 Foo Reason\")\n", buffer);
+    }
   }
   else
   {
@@ -303,10 +363,24 @@ main(int  argc,                           /* I - Number of command-line arguments */
     }
   }
 
+#ifdef __APPLE__
+  if (getenv("MallocStackLogging") && getenv("MallocStackLoggingNoCompact"))
+  {
+    char       command[1024];          /* malloc_history command */
+
+    snprintf(command, sizeof(command), "malloc_history %d -all_by_size",
+            getpid());
+    fflush(stdout);
+    system(command);
+  }
+#endif /* __APPLE__ */
+
+  ppdClose(ppd);
+
   return (status);
 }
 
 
 /*
- * End of "$Id: testppd.c 6159 2006-12-19 20:08:42Z mike $".
+ * End of "$Id: testppd.c 6936 2007-09-10 18:15:36Z mike $".
  */