Back to index

libcitadel  8.12
Functions
test-mime.c File Reference
#include "xdgmime.h"
#include "xdgmimeglob.h"
#include <string.h>
#include <stdio.h>

Go to the source code of this file.

Functions

static void test_individual_glob (const char *glob, XdgGlobType expected_type)
static void test_glob_type (void)
static void test_alias (const char *mime_a, const char *mime_b, int expected)
static void test_aliasing (void)
static void test_subclass (const char *mime_a, const char *mime_b, int expected)
static void test_subclassing (void)
int main (int argc, char *argv[])

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Definition at line 120 of file test-mime.c.

{
  const char *result;
  const char *file_name;
  int i;

  test_glob_type ();
  test_aliasing ();
  test_subclassing ();

  for (i = 1; i < argc; i++)
    {
      file_name = argv[i];
      result = xdg_mime_get_mime_type_for_file (file_name, NULL);
      printf ("File \"%s\" has a mime-type of %s\n", file_name, result);
    }

#if 0
  xdg_mime_dump ();
#endif
  return 0;
}

Here is the call graph for this function:

static void test_alias ( const char *  mime_a,
const char *  mime_b,
int  expected 
) [static]

Definition at line 59 of file test-mime.c.

{
  int actual;

  actual = xdg_mime_mime_type_equal (mime_a, mime_b);

  if (actual != expected)
    {
      printf ("Test Failed: %s is %s to %s\n", 
             mime_a, actual ? "equal" : "not equal", mime_b);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void test_aliasing ( void  ) [static]

Definition at line 75 of file test-mime.c.

{
  test_alias ("application/wordperfect", "application/vnd.wordperfect", 1);
  test_alias ("application/x-gnome-app-info", "application/x-desktop", 1);
  test_alias ("application/x-wordperfect", "application/vnd.wordperfect", 1);
  test_alias ("application/x-wordperfect", "audio/x-midi", 0);
  test_alias ("/", "vnd/vnd", 0);
  test_alias ("application/octet-stream", "text/plain", 0);
  test_alias ("text/plain", "text/*", 0);
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void test_glob_type ( void  ) [static]

Definition at line 48 of file test-mime.c.

Here is the call graph for this function:

Here is the caller graph for this function:

static void test_individual_glob ( const char *  glob,
XdgGlobType  expected_type 
) [static]

Definition at line 30 of file test-mime.c.

{
  XdgGlobType test_type;

  test_type = _xdg_glob_determine_type (glob);
  if (test_type != expected_type)
    {
      printf ("Test Failed: %s is of type %s, but %s is expected\n",
             glob,
             ((test_type == XDG_GLOB_LITERAL)?"XDG_GLOB_LITERAL":
              ((test_type == XDG_GLOB_SIMPLE)?"XDG_GLOB_SIMPLE":"XDG_GLOB_FULL")),
             ((expected_type == XDG_GLOB_LITERAL)?"XDG_GLOB_LITERAL":
              ((expected_type == XDG_GLOB_SIMPLE)?"XDG_GLOB_SIMPLE":"XDG_GLOB_COMPLEX")));
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void test_subclass ( const char *  mime_a,
const char *  mime_b,
int  expected 
) [static]

Definition at line 87 of file test-mime.c.

{
  int actual;

  actual = xdg_mime_mime_type_subclass (mime_a, mime_b);

  if (actual != expected)
    {
      printf ("Test Failed: %s is %s of %s\n", 
             mime_a, actual ? "subclass" : "not subclass", mime_b);
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void test_subclassing ( void  ) [static]

Definition at line 103 of file test-mime.c.

{
  test_subclass ("application/rtf", "text/plain", 1);
  test_subclass ("message/news", "text/plain", 1);
  test_subclass ("message/news", "message/*", 1);
  test_subclass ("message/news", "text/*", 1);
  test_subclass ("message/news", "application/octet-stream", 1);
  test_subclass ("application/rtf", "application/octet-stream", 1);
  test_subclass ("application/x-gnome-app-info", "text/plain", 1);
  test_subclass ("image/x-djvu", "image/vnd.djvu", 1);
  test_subclass ("image/vnd.djvu", "image/x-djvu", 1);
  test_subclass ("image/vnd.djvu", "text/plain", 0);
  test_subclass ("image/vnd.djvu", "text/*", 0);
  test_subclass ("text/*", "text/plain", 0);
}

Here is the call graph for this function:

Here is the caller graph for this function: