glib/tests/bookmarkfile-test1.c
author hgs
Thu, 05 Aug 2010 23:23:13 +0530
changeset 50 79045913e4e9
child 72 403e7f6ed6c5
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
hgs
parents:
diff changeset
     1
// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     2
// All rights reserved.
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     7
//
hgs
parents:
diff changeset
     8
// Initial Contributors:
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    10
//
hgs
parents:
diff changeset
    11
// Contributors:
hgs
parents:
diff changeset
    12
//
hgs
parents:
diff changeset
    13
// Description:
hgs
parents:
diff changeset
    14
//
hgs
parents:
diff changeset
    15
hgs
parents:
diff changeset
    16
hgs
parents:
diff changeset
    17
#include<stdio.h>
hgs
parents:
diff changeset
    18
#include <glib.h>
hgs
parents:
diff changeset
    19
#define LOG_FILE "c:\\logs\\bookmark_test1_log.txt"
hgs
parents:
diff changeset
    20
#include "std_log_result.h"
hgs
parents:
diff changeset
    21
#define LOG_FILENAME_LINE __FILE__, __LINE__
hgs
parents:
diff changeset
    22
#define in_FILE "file.xbel"
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
void create_xml(int result)
hgs
parents:
diff changeset
    26
{
hgs
parents:
diff changeset
    27
    if(result)
hgs
parents:
diff changeset
    28
        assert_failed = 1;
hgs
parents:
diff changeset
    29
    
hgs
parents:
diff changeset
    30
    testResultXml("bookmark-test1");
hgs
parents:
diff changeset
    31
    close_log_file();
hgs
parents:
diff changeset
    32
}
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
int
hgs
parents:
diff changeset
    35
main (int   argc,
hgs
parents:
diff changeset
    36
      char *argv[])
hgs
parents:
diff changeset
    37
    {
hgs
parents:
diff changeset
    38
    GBookmarkFile* bookmark;
hgs
parents:
diff changeset
    39
    gsize uris_len;
hgs
parents:
diff changeset
    40
    gchar *bookmark_data = NULL;
hgs
parents:
diff changeset
    41
    gboolean file_written,file_load;
hgs
parents:
diff changeset
    42
    const gchar *rel_path;
hgs
parents:
diff changeset
    43
    time_t time;
hgs
parents:
diff changeset
    44
    const gchar *bookmark_filename = argv[1];
hgs
parents:
diff changeset
    45
    GError        *error = NULL;
hgs
parents:
diff changeset
    46
    gchar **bookmark_uri = NULL;
hgs
parents:
diff changeset
    47
        
hgs
parents:
diff changeset
    48
    bookmark = g_bookmark_file_new();
hgs
parents:
diff changeset
    49
    file_load= g_bookmark_file_load_from_file(bookmark, bookmark_filename, &error);
hgs
parents:
diff changeset
    50
    if(file_load != TRUE)
hgs
parents:
diff changeset
    51
        {
hgs
parents:
diff changeset
    52
        std_log(LOG_FILENAME_LINE,"g_bookmark_file_load_from_file fails with err:%s",error->message);
hgs
parents:
diff changeset
    53
        assert_failed = 1;
hgs
parents:
diff changeset
    54
        }
hgs
parents:
diff changeset
    55
    bookmark_data = g_bookmark_file_to_data(bookmark,&uris_len,&error);
hgs
parents:
diff changeset
    56
    if(bookmark_data == NULL)
hgs
parents:
diff changeset
    57
        {
hgs
parents:
diff changeset
    58
        std_log(LOG_FILENAME_LINE,"Bg_bookmark_file_to_data fails with err:%s",error->message);
hgs
parents:
diff changeset
    59
        assert_failed = 1;
hgs
parents:
diff changeset
    60
        }
hgs
parents:
diff changeset
    61
    rel_path = in_FILE; // Code changed to Hardcode the data file in the c:\ private path. 
hgs
parents:
diff changeset
    62
    file_written = g_bookmark_file_load_from_data_dirs(bookmark, rel_path,NULL, &error);
hgs
parents:
diff changeset
    63
    if(file_written == FALSE)
hgs
parents:
diff changeset
    64
           {
hgs
parents:
diff changeset
    65
           std_log(LOG_FILENAME_LINE,"g_bookmark_file_load_from_data_dirs fails with err:%s",error->message);
hgs
parents:
diff changeset
    66
           assert_failed = 1;
hgs
parents:
diff changeset
    67
           }
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    bookmark_uri = g_bookmark_file_get_uris(bookmark, NULL);
hgs
parents:
diff changeset
    70
    if(bookmark_uri == NULL)
hgs
parents:
diff changeset
    71
            {
hgs
parents:
diff changeset
    72
            std_log(LOG_FILENAME_LINE,"g_bookmark_file_get_uris fails");
hgs
parents:
diff changeset
    73
            assert_failed = 1;
hgs
parents:
diff changeset
    74
            }
hgs
parents:
diff changeset
    75
          
hgs
parents:
diff changeset
    76
    bookmark_data = g_bookmark_file_get_mime_type(bookmark,*bookmark_uri,&error);
hgs
parents:
diff changeset
    77
    if(bookmark_data == NULL)
hgs
parents:
diff changeset
    78
        {
hgs
parents:
diff changeset
    79
        std_log(LOG_FILENAME_LINE,"URI cannot be found and the error code:%s",error->message);
hgs
parents:
diff changeset
    80
        assert_failed = 1;
hgs
parents:
diff changeset
    81
        }
hgs
parents:
diff changeset
    82
    g_bookmark_file_set_is_private(bookmark,*bookmark_uri, TRUE);
hgs
parents:
diff changeset
    83
    file_written = g_bookmark_file_get_is_private(bookmark,*bookmark_uri, &error);
hgs
parents:
diff changeset
    84
    if(file_written == FALSE)
hgs
parents:
diff changeset
    85
        {
hgs
parents:
diff changeset
    86
        std_log(LOG_FILENAME_LINE,"Private flag is not set in the URI and fails with :%s",error->message);
hgs
parents:
diff changeset
    87
        assert_failed = 1;
hgs
parents:
diff changeset
    88
        }
hgs
parents:
diff changeset
    89
    
hgs
parents:
diff changeset
    90
    g_bookmark_file_set_added(bookmark,*bookmark_uri,-1);//-1, To use the current time.
hgs
parents:
diff changeset
    91
    time = g_bookmark_file_get_added(bookmark,*bookmark_uri,&error);
hgs
parents:
diff changeset
    92
    if(time == -1)
hgs
parents:
diff changeset
    93
        {
hgs
parents:
diff changeset
    94
        std_log(LOG_FILENAME_LINE,"URI cannot be found and fails with :%s",error->message);
hgs
parents:
diff changeset
    95
        assert_failed = 1;
hgs
parents:
diff changeset
    96
        } 
hgs
parents:
diff changeset
    97
    g_strfreev(bookmark_uri);  
hgs
parents:
diff changeset
    98
    g_bookmark_file_free(bookmark);
hgs
parents:
diff changeset
    99
    
hgs
parents:
diff changeset
   100
    if(assert_failed)
hgs
parents:
diff changeset
   101
        std_log(LOG_FILENAME_LINE,"Test Fail");
hgs
parents:
diff changeset
   102
    else
hgs
parents:
diff changeset
   103
        std_log(LOG_FILENAME_LINE,"Test Successful");
hgs
parents:
diff changeset
   104
         
hgs
parents:
diff changeset
   105
   
hgs
parents:
diff changeset
   106
    create_xml(assert_failed);
hgs
parents:
diff changeset
   107
    return 0;
hgs
parents:
diff changeset
   108
    }