1#ifndef lint 2static char *rcsid = "$Id: api-init4-1.tsy,v 1.1 2003/06/04 00:26:47 marka Exp $"; 3#endif 4 5/* 6 * Copyright (c) 2002 Japan Network Information Center. 7 * All rights reserved. 8 * 9 * By using this file, you agree to the terms and conditions set forth bellow. 10 * 11 * LICENSE TERMS AND CONDITIONS 12 * 13 * The following License Terms and Conditions apply, unless a different 14 * license is obtained from Japan Network Information Center ("JPNIC"), 15 * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda, 16 * Chiyoda-ku, Tokyo 101-0047, Japan. 17 * 18 * 1. Use, Modification and Redistribution (including distribution of any 19 * modified or derived work) in source and/or binary forms is permitted 20 * under this License Terms and Conditions. 21 * 22 * 2. Redistribution of source code must retain the copyright notices as they 23 * appear in each source code file, this License Terms and Conditions. 24 * 25 * 3. Redistribution in binary form must reproduce the Copyright Notice, 26 * this License Terms and Conditions, in the documentation and/or other 27 * materials provided with the distribution. For the purposes of binary 28 * distribution the "Copyright Notice" refers to the following language: 29 * "Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved." 30 * 31 * 4. The name of JPNIC may not be used to endorse or promote products 32 * derived from this Software without specific prior written approval of 33 * JPNIC. 34 * 35 * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC 36 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 38 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE 39 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 40 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 41 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 42 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 43 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 44 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 45 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 46 */ 47 48#include <stddef.h> 49#include <stdio.h> 50#include <stdlib.h> 51#include <idn/api.h> 52#include <idn/log.h> 53 54#include "setenv.h" 55#include "testutil.h" 56 57#define CONF_FILENAME "test.conf" 58 59//-------------------------------------------------------------------- 60// Setups and Teardowns. 61//-------------------------------------------------------------------- 62 63//# SETUP 64// group: init 65{ 66 char to[256]; 67 idn_result_t r; 68 69 setenv("IDN_LOCAL_CODESET", "UTF-8", 1); 70 unsetenv("IDN_DISABLE"); 71 create_conf_file(CONF_FILENAME, 0, 72 "idn-encoding UTF-8", 73 NULL); 74} 75 76//# TEARDOWN 77// group: init 78{ 79 remove(CONF_FILENAME); 80} 81 82//-------------------------------------------------------------------- 83// Testcases. 84//-------------------------------------------------------------------- 85 86//# TESTCASE 87// title: call encodename() without initialization 88// group: init 89{ 90 r = idn__setconffile(CONF_FILENAME); 91 ASSERT_RESULT(r, idn_success); 92 93 r = idn_encodename(IDN_ENCODE_APP, "<U+3042>", to, sizeof(to)); 94 ASSERT_RESULT(r, idn_success); 95 ASSERT_STRING(to, "xn--l8j"); 96} 97