libgitk_widget.c

Go to the documentation of this file.
00001 
00012 #define GITK_TESTS_WIDGET_C
00013 
00014 #include "libgitk.h"
00015 
00016 
00020 static void test_setup(void) {
00021   gitk_log("-- beg -----------------------");
00022 }
00023 
00027 static void test_teardown(void) {
00028   gitk_log("-- end -----------------------\n\n");
00029 }
00030 
00031 
00034 static gchar *dialog1_desc=\
00035 "<?xml version=\"1.0\" ?>"\
00036 "<!DOCTYPE giml SYSTEM \"http://gitk.sourceforge.net/giml.dtd\">"\
00037 "<giml xmlns=\""GITK_NS_URL"\""\
00038 " xmlns:dc=\"http://purl.org/dc/elements/1.1/\""\
00039 " xmlns:i18n=\""I18N_NS_URL"\""\
00040 " >"\
00041 "  <dialog>"\
00042 "    <meta>"\
00043 "      <dc:title><i18n:text>dialog 1</i18n:text></dc:title>"\
00044 "    </meta>"\
00045 "   <widgetgroup>"\
00046 "     <widget id=\"Name\" type=\"characterinput_alphabetic\">"\
00047 "       <label><i18n:text>name</i18n:text></label>"\
00048 "       <disabled>true</disabled>"\
00049 "     </widget>"\
00050 "   </widgetgroup>"\
00051 "  </dialog>"\
00052 "</giml>";
00053 
00057 START_TEST(test_gitk_widget_set_get_value) {
00058   GitkDialogPtr dialog1;
00059 
00060   gitk_init(&test_argc,&test_argvptr,PACKAGE,LOCALEDIR);
00061   if((dialog1=gitk_dialog_new_from_string(dialog1_desc))) {
00062 
00063     mark_point();
00064     if(gitk_dialog_show(dialog1,FALSE)) {
00065       gchar *str_in="new content",*str_out;
00066   
00067       mark_point();
00068       gitk_widget_set_value(dialog1,"Name","value",str_in);
00069       mark_point();
00070       str_out=gitk_widget_get_value(dialog1,"Name","value");
00071       fail_unless(str_out!=NULL,"empty result");
00072   
00073       snprintf(errormsg,ERROR_STR_LENGTH,"value in widget[Name].value => \"%s\" , value expected => \"%s\"",str_out,str_in);
00074       fail_unless((!strcmp(str_in,str_out)),errormsg);
00075       xmlFree(str_out);
00076       gitk_dialog_hide(dialog1);
00077     }
00078     else {
00079       snprintf(errormsg,ERROR_STR_LENGTH,"error showing dialog => %d : %s",gitk_get_error_code(),gitk_get_error_str());
00080       fail(errormsg);
00081     }
00082     gitk_dialog_free(dialog1);
00083   }
00084   else {
00085     snprintf(errormsg,ERROR_STR_LENGTH,"error parsing dialog => %d : %s",gitk_get_error_code(),gitk_get_error_str());
00086     fail(errormsg);
00087   }
00088   gitk_done();
00089 }
00090 END_TEST
00091 
00092 
00096 TCase *libgitk_widget_tcase(void) {
00097   TCase *tc = tcase_create("Control");
00098 
00099   tcase_add_test(tc,test_gitk_widget_set_get_value);
00100   tcase_add_unchecked_fixture(tc, test_setup, test_teardown);
00101   return(tc);
00102 }

Generated on Thu Oct 28 10:59:16 2004 for gitk by doxygen 1.3.6