388 lines
18 KiB
C
388 lines
18 KiB
C
/*
|
|
* Unit test for util.h
|
|
*
|
|
* This test utiliy functions
|
|
*
|
|
*/
|
|
#include <time.h>
|
|
#include <locale.h>
|
|
|
|
#include "test.h"
|
|
#include "util.h"
|
|
|
|
static void test_div_up()
|
|
{
|
|
CU_ASSERT_EQUAL( div_up(1, 2), 1 );
|
|
CU_ASSERT_EQUAL( div_up(2, 2), 1 );
|
|
CU_ASSERT_EQUAL( div_up(0, 2), 0 );
|
|
CU_ASSERT_EQUAL( div_up(-1, 2), 0 );
|
|
CU_ASSERT_EQUAL( div_up(3, 2), 2 );
|
|
}
|
|
|
|
static void test_round_up()
|
|
{
|
|
CU_ASSERT_EQUAL( round_up(1, 2), 2 );
|
|
CU_ASSERT_EQUAL( round_up(2, 2), 2 );
|
|
CU_ASSERT_EQUAL( round_up(0, 2), 0 );
|
|
CU_ASSERT_EQUAL( round_up(-1, 2), 0 );
|
|
CU_ASSERT_EQUAL( round_up(3, 2), 4 );
|
|
CU_ASSERT_EQUAL( round_up(15, 7), 21 );
|
|
CU_ASSERT_EQUAL( round_up(13, 7), 14 );
|
|
CU_ASSERT_EQUAL( round_up(14, 7), 14 );
|
|
}
|
|
|
|
static void test_iso_lsb_msb()
|
|
{
|
|
uint8_t buf[4];
|
|
uint32_t num;
|
|
|
|
num = 0x01020304;
|
|
iso_lsb(buf, num, 4);
|
|
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[2], 0x02 );
|
|
CU_ASSERT_EQUAL( buf[3], 0x01 );
|
|
|
|
iso_msb(buf, num, 4);
|
|
CU_ASSERT_EQUAL( buf[0], 0x01 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x02 );
|
|
CU_ASSERT_EQUAL( buf[2], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[3], 0x04 );
|
|
|
|
iso_lsb(buf, num, 2);
|
|
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
|
|
|
iso_msb(buf, num, 2);
|
|
CU_ASSERT_EQUAL( buf[0], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x04 );
|
|
}
|
|
|
|
static void test_iso_read_lsb_msb()
|
|
{
|
|
uint8_t buf[4];
|
|
uint32_t num;
|
|
|
|
buf[0] = 0x04;
|
|
buf[1] = 0x03;
|
|
buf[2] = 0x02;
|
|
buf[3] = 0x01;
|
|
|
|
num = iso_read_lsb(buf, 4);
|
|
CU_ASSERT_EQUAL(num, 0x01020304);
|
|
|
|
num = iso_read_msb(buf, 4);
|
|
CU_ASSERT_EQUAL(num, 0x04030201);
|
|
|
|
num = iso_read_lsb(buf, 2);
|
|
CU_ASSERT_EQUAL(num, 0x0304);
|
|
|
|
num = iso_read_msb(buf, 2);
|
|
CU_ASSERT_EQUAL(num, 0x0403);
|
|
}
|
|
|
|
static void test_iso_bb()
|
|
{
|
|
uint8_t buf[8];
|
|
uint32_t num;
|
|
|
|
num = 0x01020304;
|
|
iso_bb(buf, num, 4);
|
|
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[2], 0x02 );
|
|
CU_ASSERT_EQUAL( buf[3], 0x01 );
|
|
CU_ASSERT_EQUAL( buf[4], 0x01 );
|
|
CU_ASSERT_EQUAL( buf[5], 0x02 );
|
|
CU_ASSERT_EQUAL( buf[6], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[7], 0x04 );
|
|
|
|
iso_bb(buf, num, 2);
|
|
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
|
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[2], 0x03 );
|
|
CU_ASSERT_EQUAL( buf[3], 0x04 );
|
|
}
|
|
|
|
static void test_iso_read_bb()
|
|
{
|
|
uint8_t buf[8];
|
|
uint32_t num;
|
|
int error = 0;
|
|
|
|
buf[0] = 0x04;
|
|
buf[1] = 0x03;
|
|
buf[2] = 0x02;
|
|
buf[3] = 0x01;
|
|
buf[4] = 0x01;
|
|
buf[5] = 0x02;
|
|
buf[6] = 0x03;
|
|
buf[7] = 0x04;
|
|
|
|
num = iso_read_bb(buf, 4, &error);
|
|
CU_ASSERT_EQUAL( num, 0x01020304 );
|
|
CU_ASSERT_FALSE(error);
|
|
|
|
num = iso_read_bb(buf, 4, NULL);
|
|
CU_ASSERT_EQUAL( num, 0x01020304 );
|
|
|
|
buf[2] = 3;
|
|
num = iso_read_bb(buf, 4, &error);
|
|
/* return the LSB */
|
|
CU_ASSERT_EQUAL( num, 0x01030304 );
|
|
CU_ASSERT_TRUE(error);
|
|
|
|
num = iso_read_bb(buf, 4, NULL);
|
|
/* return the LSB */
|
|
CU_ASSERT_EQUAL( num, 0x01030304 );
|
|
|
|
error = 0;
|
|
buf[3] = 0x04;
|
|
|
|
num = iso_read_bb(buf, 2, &error);
|
|
CU_ASSERT_EQUAL( num, 0x0304 );
|
|
CU_ASSERT_FALSE(error);
|
|
|
|
num = iso_read_bb(buf, 2, NULL);
|
|
CU_ASSERT_EQUAL( num, 0x0304 );
|
|
}
|
|
|
|
static void test_iso_datetime_7()
|
|
{
|
|
uint8_t buf[7];
|
|
time_t t, t2;
|
|
struct tm tp;
|
|
|
|
strptime("01-03-1976 13:27:45", "%d-%m-%Y %T", &tp);
|
|
t = mktime(&tp);
|
|
|
|
iso_datetime_7(buf, t);
|
|
CU_ASSERT_EQUAL( buf[0], 76 ); /* year since 1900 */
|
|
CU_ASSERT_EQUAL( buf[1], 3 ); /* month */
|
|
CU_ASSERT_EQUAL( buf[2], 1 ); /* day */
|
|
CU_ASSERT_EQUAL( buf[3], 13 ); /* hour */
|
|
CU_ASSERT_EQUAL( buf[4], 27 ); /* minute */
|
|
CU_ASSERT_EQUAL( buf[5], 45 ); /* second */
|
|
/* the offset depends on current timezone and it's not easy to test */
|
|
//CU_ASSERT_EQUAL( buf[6], 4 ); /* 15 min offset */
|
|
|
|
/* check that reading returns the same time */
|
|
t2 = iso_datetime_read_7(buf);
|
|
CU_ASSERT_EQUAL(t2, t);
|
|
|
|
//TODO check with differnt timezones for reading and writting
|
|
|
|
}
|
|
|
|
static void test_iso_1_dirid()
|
|
{
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dir1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dIR1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("DIR1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dirwithbigname", "UTF-8"), "DIRWITHB");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dirwith8", "UTF-8"), "DIRWITH8");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dir.1", "UTF-8"), "DIR_1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_dirid("4f<0KmM::xcvf", "UTF-8"), "4F_0KMM_");
|
|
}
|
|
|
|
static void test_iso_2_dirid()
|
|
{
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("dir1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("dIR1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("DIR1", "UTF-8"), "DIR1" );
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("dirwithbigname", "UTF-8"), "DIRWITHBIGNAME");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("dirwith8", "UTF-8"), "DIRWITH8");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("dir.1", "UTF-8"), "DIR_1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("4f<0KmM::xcvf", "UTF-8"), "4F_0KMM__XCVF");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("directory with 31 characters ok", "UTF-8"), "DIRECTORY_WITH_31_CHARACTERS_OK");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_dirid("directory with more than 31 characters", "UTF-8"), "DIRECTORY_WITH_MORE_THAN_31_CHA");
|
|
}
|
|
|
|
static void test_iso_r_dirid()
|
|
{
|
|
int flag;
|
|
|
|
/* 1. only ECMA119_37_CHAR_FILENAMES */
|
|
flag = ECMA119_37_CHAR_FILENAMES;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir1", "UTF-8", flag), "DIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dIR1", "UTF-8", flag), "DIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("DIR1", "UTF-8", flag), "DIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwithbigname", "UTF-8", flag), "DIRWITHBIGNAME");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwith8", "UTF-8", flag), "DIRWITH8");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir.1", "UTF-8", flag), "DIR_1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("4f<0KmM::xcvf", "UTF-8", flag), "4F_0KMM__XCVF");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with 31 characters ok", "UTF-8", flag), "DIRECTORY_WITH_31_CHARACTERS_OK");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with more than 37 characters", "UTF-8", flag), "DIRECTORY_WITH_MORE_THAN_37_CHARACTER");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with just 37 characters ok", "UTF-8", flag), "DIRECTORY_WITH_JUST_37_CHARACTERS__OK");
|
|
|
|
/* 2. only ECMA119_RELAXED_FILENAMES */
|
|
flag = ECMA119_RELAXED_FILENAMES;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir1", "UTF-8", flag), "dir1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dIR1", "UTF-8", flag), "dIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("DIR1", "UTF-8", flag), "DIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwithbigname", "UTF-8", flag), "dirwithbigname");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwith8", "UTF-8", flag), "dirwith8");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir.1", "UTF-8", flag), "dir.1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("4f<0KmM::xcvf", "UTF-8", flag), "4f<0KmM::xcvf");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with 31 characters ok", "UTF-8", flag), "directory with 31 characters ok");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with more than 37 characters", "UTF-8", flag), "directory with more than 37 cha");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with just 37 characters ok", "UTF-8", flag), "directory with just 37 characte");
|
|
|
|
/* 3. both ECMA119_RELAXED_FILENAMES and ECMA119_37_CHAR_FILENAMES */
|
|
flag = ECMA119_RELAXED_FILENAMES | ECMA119_37_CHAR_FILENAMES;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir1", "UTF-8", flag), "dir1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dIR1", "UTF-8", flag), "dIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("DIR1", "UTF-8", flag), "DIR1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwithbigname", "UTF-8", flag), "dirwithbigname");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dirwith8", "UTF-8", flag), "dirwith8");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("dir.1", "UTF-8", flag), "dir.1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("4f<0KmM::xcvf", "UTF-8", flag), "4f<0KmM::xcvf");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with 31 characters ok", "UTF-8", flag), "directory with 31 characters ok");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with more than 37 characters", "UTF-8", flag), "directory with more than 37 character");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_dirid("directory with just 37 characters ok", "UTF-8", flag), "directory with just 37 characters ok");
|
|
}
|
|
|
|
static void test_iso_1_fileid()
|
|
{
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("fILe1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("FILE1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid(".EXT", "UTF-8"), ".EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.ext", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("fiLE.ext", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.EXt", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("FILE.EXT", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("bigfilename", "UTF-8"), "BIGFILEN.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("bigfilename.ext", "UTF-8"), "BIGFILEN.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("bigfilename.e", "UTF-8"), "BIGFILEN.E;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.bigext", "UTF-8"), "FILE.BIG;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid(".bigext", "UTF-8"), ".BIG;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("bigfilename.bigext", "UTF-8"), "BIGFILEN.BIG;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file<:a.ext", "UTF-8"), "FILE__A.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.<:a", "UTF-8"), "FILE.__A;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file<:a.--a", "UTF-8"), "FILE__A.__A;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.ex1.ex2", "UTF-8"), "FILE_EX1.EX2;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("file.ex1.ex2.ex3", "UTF-8"), "FILE_EX1.EX3;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_1_fileid("fil.ex1.ex2.ex3", "UTF-8"), "FIL_EX1_.EX3;1");
|
|
}
|
|
|
|
static void test_iso_2_fileid()
|
|
{
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("fILe1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("FILE1", "UTF-8"), "FILE1.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid(".EXT", "UTF-8"), ".EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.ext", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("fiLE.ext", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.EXt", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("FILE.EXT", "UTF-8"), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("bigfilename", "UTF-8"), "BIGFILENAME.;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("bigfilename.ext", "UTF-8"), "BIGFILENAME.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("bigfilename.e", "UTF-8"), "BIGFILENAME.E;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("31 characters filename.extensio", "UTF-8"), "31_CHARACTERS_FILENAME.EXTENSIO;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("32 characters filename.extension", "UTF-8"), "32_CHARACTERS_FILENAME.EXTENSIO;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("more than 30 characters filename.extension", "UTF-8"), "MORE_THAN_30_CHARACTERS_FIL.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.bigext", "UTF-8"), "FILE.BIGEXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid(".bigext", "UTF-8"), ".BIGEXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("bigfilename.bigext", "UTF-8"), "BIGFILENAME.BIGEXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file<:a.ext", "UTF-8"), "FILE__A.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.<:a", "UTF-8"), "FILE.__A;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file<:a.--a", "UTF-8"), "FILE__A.__A;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.ex1.ex2", "UTF-8"), "FILE_EX1.EX2;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("file.ex1.ex2.ex3", "UTF-8"), "FILE_EX1_EX2.EX3;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid("fil.ex1.ex2.ex3", "UTF-8"), "FIL_EX1_EX2.EX3;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_2_fileid(".file.bigext", "UTF-8"), "_FILE.BIGEXT;1");
|
|
}
|
|
|
|
static void test_iso_r_fileid()
|
|
{
|
|
int flag;
|
|
|
|
/* 1. only ECMA119_OMIT_VERSION_NUMBERS */
|
|
flag = ECMA119_OMIT_VERSION_NUMBERS;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file1", "UTF-8", flag), "FILE1.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fILe1", "UTF-8", flag), "FILE1.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("31 characters filename.extensio", "UTF-8", flag), "31_CHARACTERS_FILENAME.EXTENSIO");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("it's 37 characters filename.extension", "UTF-8", flag), "IT_S_37_CHARACTERS_FILENAME.EXT");
|
|
|
|
/* 2. only ECMA119_37_CHAR_FILENAMES */
|
|
flag = ECMA119_37_CHAR_FILENAMES;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file1", "UTF-8", flag), "FILE1.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fILe1", "UTF-8", flag), "FILE1.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE1", "UTF-8", flag), "FILE1.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid(".EXT", "UTF-8", flag), ".EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.ext", "UTF-8", flag), "FILE.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fiLE.ext", "UTF-8", flag), "FILE.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.EXt", "UTF-8", flag), "FILE.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE.EXT", "UTF-8", flag), "FILE.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename", "UTF-8", flag), "BIGFILENAME.");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.ext", "UTF-8", flag), "BIGFILENAME.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.e", "UTF-8", flag), "BIGFILENAME.E");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.bigext", "UTF-8", flag), "FILE.BIGEXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("31 characters filename.extensio", "UTF-8", flag), "31_CHARACTERS_FILENAME.EXTENSIO");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("it's 37 characters filename.extension", "UTF-8", flag), "IT_S_37_CHARACTERS_FILENAME.EXTENSION");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("more than 37 characters filename.extension", "UTF-8", flag), "MORE_THAN_37_CHARACTERS_FILENAME.EXTE");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.this is a 37 chars len extension", "UTF-8", flag), "FILE.THIS_IS_A_37_CHARS_LEN_EXTENSION");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.this is a very very big extension", "UTF-8", flag), "FILE.THIS_IS_A_VERY_VERY_BIG_EXTENSIO");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fil.ex1.ex2.ex3", "UTF-8", flag), "FIL_EX1_EX2.EX3");
|
|
|
|
/* 3. only ECMA119_RELAXED_FILENAMES */
|
|
flag = ECMA119_RELAXED_FILENAMES;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file1", "UTF-8", flag), "file1;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fILe1", "UTF-8", flag), "fILe1;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE1", "UTF-8", flag), "FILE1;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid(".EXT", "UTF-8", flag), ".EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.ext", "UTF-8", flag), "file.ext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fiLE.ext", "UTF-8", flag), "fiLE.ext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.EXt", "UTF-8", flag), "file.EXt;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE.EXT", "UTF-8", flag), "FILE.EXT;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename", "UTF-8", flag), "bigfilename;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.ext", "UTF-8", flag), "bigfilename.ext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.e", "UTF-8", flag), "bigfilename.e;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.bigext", "UTF-8", flag), "file.bigext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("31 characters filename.extensio", "UTF-8", flag), "31 characters filename.extensio;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("it's 37 characters filename.extension", "UTF-8", flag), "it's 37 characters filename.ext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.this is a 37 chars len extension", "UTF-8", flag), "file.this is a 37 chars len ext;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fil.ex1.ex2.ex3", "UTF-8", flag), "fil.ex1.ex2.ex3;1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.<:a", "UTF-8", flag), "file.<:a;1");
|
|
|
|
/* 3. ECMA119_RELAXED_FILENAMES and ECMA119_OMIT_VERSION_NUMBERS*/
|
|
flag = ECMA119_RELAXED_FILENAMES | ECMA119_OMIT_VERSION_NUMBERS;
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file1", "UTF-8", flag), "file1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fILe1", "UTF-8", flag), "fILe1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE1", "UTF-8", flag), "FILE1");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid(".EXT", "UTF-8", flag), ".EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.ext", "UTF-8", flag), "file.ext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fiLE.ext", "UTF-8", flag), "fiLE.ext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.EXt", "UTF-8", flag), "file.EXt");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("FILE.EXT", "UTF-8", flag), "FILE.EXT");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename", "UTF-8", flag), "bigfilename");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.ext", "UTF-8", flag), "bigfilename.ext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("bigfilename.e", "UTF-8", flag), "bigfilename.e");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.bigext", "UTF-8", flag), "file.bigext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("31 characters filename.extensio", "UTF-8", flag), "31 characters filename.extensio");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("it's 37 characters filename.extension", "UTF-8", flag), "it's 37 characters filename.ext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.this is a 37 chars len extension", "UTF-8", flag), "file.this is a 37 chars len ext");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("fil.ex1.ex2.ex3", "UTF-8", flag), "fil.ex1.ex2.ex3");
|
|
CU_ASSERT_STRING_EQUAL( iso_r_fileid("file.<:a", "UTF-8", flag), "file.<:a");
|
|
}
|
|
|
|
void add_util_suite()
|
|
{
|
|
CU_pSuite pSuite = CU_add_suite("UtilSuite", NULL, NULL);
|
|
|
|
CU_add_test(pSuite, "div_up()", test_div_up);
|
|
CU_add_test(pSuite, "round_up()", test_round_up);
|
|
CU_add_test(pSuite, "iso_lsb() and iso_msb()", test_iso_lsb_msb);
|
|
CU_add_test(pSuite, "iso_read_lsb() and iso_read_msb()", test_iso_read_lsb_msb);
|
|
CU_add_test(pSuite, "iso_bb()", test_iso_bb);
|
|
CU_add_test(pSuite, "iso_read_bb()", test_iso_read_bb);
|
|
CU_add_test(pSuite, "iso_datetime_7()", test_iso_datetime_7);
|
|
CU_add_test(pSuite, "iso_1_dirid()", test_iso_1_dirid);
|
|
CU_add_test(pSuite, "iso_2_dirid()", test_iso_2_dirid);
|
|
CU_add_test(pSuite, "iso_r_dirid()", test_iso_r_dirid);
|
|
CU_add_test(pSuite, "iso_1_fileid()", test_iso_1_fileid);
|
|
CU_add_test(pSuite, "iso_2_fileid()", test_iso_2_fileid);
|
|
CU_add_test(pSuite, "iso_r_fileid()", test_iso_r_fileid);
|
|
}
|