void smartschoolTest::testSaveUser() { y::ldap::server Server; y::ldap::account & a = Server.getAccount(UID("unitTest")); if(!a.isNew()) { CPPUNIT_ASSERT(false); } a.role(ROLE(ROLE::NONE)); a.uid(UID("unitTest")); a.gender(GENDER(GENDER::MALE)); a.street(STREET("my street")); a.houseNumber(HOUSENUMBER(42)); a.houseNumberAdd(HOUSENUMBER_ADD("a")); a.birthDay(DATE(DAY(9), MONTH(8), YEAR(1972))); a.wisaID(WISA_ID(111111111)); a.password(PASSWORD("ABcd!eGf")); a.ssPassword("ABcd!eGf"); a.cn(CN("unit")); a.sn(SN("test")); a.birthPlace(BIRTHPLACE("brussels")); a.postalCode(POSTAL_CODE("1000")); a.city(CITY("brussels")); a.country(COUNTRY("belgie")); a.mail(MAIL("*****@*****.**")); // role is not set! if(y::Smartschool().saveUser(a)) { CPPUNIT_ASSERT(false); } a.role(ROLE(ROLE::STUDENT)); if(!y::Smartschool().saveUser(a)) { CPPUNIT_ASSERT(false); } }
static void fase(unsigned char *k,unsigned char *D) { /* Modifica 4 bytes en D con 4 bytes de clave en k*/ unsigned char l,dt; /* paso 1 */ for(l=0;l<4;++l) D[l]^=k[l]; /* paso 2 */ for(l=0;l<4;++l) D[l]=T1[D[l]]; for(l=6;l>3;--l) { D[(l+2)&3]^=D[(l+1)&3]; dt=(SN(D[(l+1)&3])+D[l&3])&0xff; D[l&3]=T2[dt]; } for(l=3;l>0;--l) { D[(l+2)&3]^=D[(l+1)&3]; D[l&3]=T1[(SN(D[(l+1)&3])+D[l&3])&0xff]; } D[2]^=D[1]; D[1]^=D[0]; }
y::ldap::account::account(y::ldap::server * server) : server(server), // var name in ldap type and init is int? _uidNumber (TYPE_UIDNUMBER , UID_NUMBER (0 )), _uid (TYPE_UID , UID ("")), _dn ("DN" , DN ("")), _cn (TYPE_CN , CN ("")), _sn ("sn" , SN ("")), _fullName ("displayName" , FULL_NAME ("")), _homeDir ("homeDirectory" , HOMEDIR ("")), _wisaID ("wisaID" , WISA_ID (0 )), _wisaName (TYPE_WISANAME , WISA_NAME ("")), _mail ("mail" , MAIL ("")), _mailAlias ("mailAlias" , MAIL_ALIAS ("")), _birthDay ("birthday" , DATE(DAY(1), MONTH(1), YEAR(1))), _password ("gMailPassword" , PASSWORD ("")), _role ("schoolRole" , ROLE(ROLE::NONE)), _groupID ("gidNumber" , GID_NUMBER (0 )), _schoolClass ("class" , SCHOOLCLASS("")), _classChange ("classChangeDate" , DATE(DAY(1), MONTH(1), YEAR(1))), _birthPlace ("placeOfBirth" , BIRTHPLACE ("")), _gender ("gender" , GENDER(GENDER::MALE) ), _adminGroup ("adminGroupID" , ADMINGROUP (0 )), _registerID ("nationalRegisterID", REGISTER_ID("")), _nationality ("nationality" , NATION ("")), _stemID ("stemID" , STEM_ID (0 )), _schoolID ("schoolID" , SCHOOL_ID (0 )), _houseNumber ("houseNumber" , HOUSENUMBER(0 )), _houseNumberAdd("houseNumberAdd" , HOUSENUMBER_ADD("") ), _city ("location" , CITY ("")), _postalCode ("postalCode" , POSTAL_CODE("")), _street ("street" , STREET ("")), _country ("co" , COUNTRY ("")), _new(true), _hasKrbName(false), _hasSchoolPersonClass(false), _importStatus(WI_NOT_ACCOUNTED), _flaggedForRemoval(false) {}
void y::ldap::account::clear() { _new = true; _hasKrbName = false; _hasSchoolPersonClass = false; _uidNumber .reset(UID_NUMBER (0 )); _uid .reset(UID ("")); _dn .reset(DN ("")); _cn .reset(CN ("")); _sn .reset(SN ("")); _fullName .reset(FULL_NAME ("")); _homeDir .reset(HOMEDIR ("")); _wisaID .reset(WISA_ID (0 )); _wisaName .reset(WISA_NAME ("")); _mail .reset(MAIL ("")); _mailAlias .reset(MAIL_ALIAS ("")); _birthDay .reset(DATE(DAY(1), MONTH(1), YEAR(1))); _password .reset(PASSWORD ("")); _role .reset(ROLE(ROLE::NONE)); _groupID .reset(GID_NUMBER (0 )); _schoolClass .reset(SCHOOLCLASS("")); _birthPlace .reset(BIRTHPLACE ("")); _gender .reset(GENDER(GENDER::MALE)); _adminGroup .reset(ADMINGROUP (0 )); _registerID .reset(REGISTER_ID("")); _nationality .reset(NATION ("")); _stemID .reset(STEM_ID (0 )); _schoolID .reset(SCHOOL_ID (0 )); _street .reset(STREET ("")); _houseNumber .reset(HOUSENUMBER(0 )); _houseNumberAdd.reset(HOUSENUMBER_ADD("")); _city .reset(CITY ("")); _postalCode .reset(POSTAL_CODE("")); _country .reset(COUNTRY ("")); _ssPassword.clear(); _flaggedForRemoval = false; }
void QDocumentSearchTest::searchAndFolding_data(){ QTest::addColumn<QString>("editorText"); QTest::addColumn<QList<int> >("foldAt"); QTest::addColumn<QList<int> >("hiddenLines"); QTest::addColumn<int>("searchFrom"); QTest::addColumn<QString>("searchText"); QTest::addColumn<int>("options"); QTest::addColumn<CM>("movement"); QTest::addColumn<QList<int> >("hiddenLinesAfterwards"); QTest::newRow("before fold") << "0\nabc\n{\nabc\n}\n" << (QList<int>() << 2) << (QList<int>() << 3 << 4) << 0 << "abc" << 0 << SN(1,0,3) << (QList<int>() << 3 << 4); QTest::newRow("simple fold") << "0\nabc\n{\nabc\n}\n" << (QList<int>() << 2) << (QList<int>() << 3 << 4) << 2 << "abc" << 0 << SN(3,0,3) << (QList<int>()); QTest::newRow("after fold") << "0\n1abc\n2{\n3abc\n4}\n5\n6abc" << (QList<int>() << 2) << (QList<int>() << 3 << 4) << 4 << "abc" << 0 << SN(6,1,4) << (QList<int>() << 3 << 4); QTest::newRow("double fold") << "0\n{\n{\nabc\n}\n}" << (QList<int>() << 1 << 2) << (QList<int>() << 2 << 3 << 4 << 5) << 0 << "abc" << 0 << SN(3,0,3) << (QList<int>()); QTest::newRow("silent double fold") //don't unfold if silent << "0\n{\n{\nabc\n}\n}" << (QList<int>() << 1 << 2) << (QList<int>() << 2 << 3 << 4 << 5) << 0 << "abc" << (int)QDocumentSearch::Silent << SN(3,0,3) << (QList<int>() << 2 << 3 << 4 << 5); QTest::newRow("triple fold, only outer") << "0\n1{\n2{\n3abx\n4}\n5{abc\n6}\n}" << (QList<int>() << 1 << 2 << 5) << (QList<int>() << 2 << 3 << 4 << 5 << 6 << 7) << 0 << "abc" << 0 << SN(5,2,5) << (QList<int>() << 3 << 4 << 6); QTest::newRow("triple fold, keep first") << "0\n1{\n2{\n3abx\n4}\n5{\nabc\n7}\n}" << (QList<int>() << 1 << 2 << 5) << (QList<int>() << 2 << 3 << 4 << 5 << 6 << 7 << 8) << 0 << "abc" << 0 << SN(6,0,3) << (QList<int>() << 3 << 4); //backward QTest::newRow("simple fold (backward)") << "0\nabc\n{\nabc\n}\n" << (QList<int>() << 2) << (QList<int>() << 3 << 4) << 4 << "abc" << 0 << SP(3,3,0) << (QList<int>()); QTest::newRow("double fold (backward)") << "0\n{\n{\nabc\n}\n}" << (QList<int>() << 1 << 2) << (QList<int>() << 2 << 3 << 4 << 5) << 5 << "abc" << 0 << SP(3,3,0) << (QList<int>()); QTest::newRow("silent double fold (backward)") //don't unfold if silent << "0\n{\n{\nabc\n}\n}" << (QList<int>() << 1 << 2) << (QList<int>() << 2 << 3 << 4 << 5) << 6 << "abc" << (int)QDocumentSearch::Silent << SP(3,3,0) << (QList<int>() << 2 << 3 << 4 << 5); QTest::newRow("triple fold, only outer (backward)") << "0\n1{\n2{\n3abx\n4}\n5{abc\n6}\n}" << (QList<int>() << 1 << 2 << 5) << (QList<int>() << 2 << 3 << 4 << 5 << 6 << 7) << 8 << "abc" << 0 << SP(5,5,2) << (QList<int>() << 3 << 4 << 6); QTest::newRow("triple fold, keep first (backward)") << "0\n1{\n2{\n3abx\n4}\n5{\nabc\n7}\n}" << (QList<int>() << 1 << 2 << 5) << (QList<int>() << 2 << 3 << 4 << 5 << 6 << 7 << 8) << 9 << "abc" << 0 << SP(6,3,0) << (QList<int>() << 3 << 4); }
void QDocumentSearchTest::next_sameText_data(){ QTest::addColumn<QString >("editorText"); QTest::addColumn<QString >("searchText"); QTest::addColumn<int>("options"); QTest::addColumn<int>("sy"); QTest::addColumn<int>("sx"); QTest::addColumn<QList<CM> >("cms"); //cursorMovements QTest::newRow("forward-backward-simple") << "wo?wo??wo?\nHello World!\nHello!\nWorld!!!!" << "wo" << 0 << 0 << 6 << (QList<CM>() << SN(0,7,9) << SP(0, 5, 3) << SN(0, 7, 9) << SN(1, 6, 8) << SN (3, 0, 2) << SN(0, 0,2)); QTest::newRow("forward-backward-case sensitive") << "aaAaaAaaA\naAaAa\naaaaaaaa" << "aa" << (int)QDocumentSearch::CaseSensitive << 0 << 2 << (QList<CM>() << SN(0, 3, 5) << SN(0, 6, 8) << SN(2, 0, 2) << SP(0, 8, 6) << SN(2, 0, 2) << SN(2, 2, 4) << SN(2, 4, 6) << SN(2, 6, 8) << SP(2, 6, 4) << SP(2, 4, 2) << SP(2, 2, 0) << SP(0, 8, 6) << SP(0, 5, 3) << SP(0, 2, 0) << SP(2, 8, 6)); QTest::newRow("forward-backward-case whole words") << "aaAaaAaaA\naA aAa\naaa aa aaa\n" << "aA" << (int)QDocumentSearch::WholeWords << 0 << 0 << (QList<CM>() << SN(1, 0, 2) << SN(2, 4, 6) << SP(1, 2, 0) << SN (2, 4, 6) << SN(1,0,2)); QTest::newRow("forward-backward-case whole words case sensitive ") << "aa Aaa Aaa A\naA aAa\naa aA aa a\n" << "aA" << (int)(QDocumentSearch::WholeWords | QDocumentSearch::CaseSensitive) << 0 << 0 << (QList<CM>() << SN(1, 0, 2) << SN(2, 4, 6) << SP(1, 2, 0) << SN (2, 4, 6) << SN(1,0,2)); QTest::newRow("forward reg exp") << "Hello42World" << "[0-9]+" << (int)QDocumentSearch::RegExp << 0 << 0 << (QList<CM>() << SN(0, 5, 7) << SN(0,5,7)); QTest::newRow("reg exp with 0 match") << "Hello423World" << "[0-9]*" << (int)QDocumentSearch::RegExp << 0 << 0 << (QList<CM>() << SN(0, 5, 8) << SN(0, 5, 8) << SN(0, 5, 8) << SN(0, 5, 8) ); QTest::newRow("replace forward") << "Hello42World17XXXX2358YYY" << "[0-9]+" << (int)QDocumentSearch::RegExp << 0 << 0 << (QList<CM>() << SN(0, 5, 7) << SN(0, 15, 17, "mouse","HellomouseWorld17XXXX2358YYY") << SN(0, 24, 28, "mouse","HellomouseWorldmouseXXXX2358YYY") << SN(-1, -1, -1, "house!","HellomouseWorldmouseXXXXhouse!YYY")); QTest::newRow("replace forward-backward") << "aa aa aa\naa aaa XXXX aa\naa YYYY aa aa YYYY" << "aa" << (int)QDocumentSearch::WholeWords << 2 << 0 << (QList<CM>() << SN(2, 0, 2, "***","aa aa aa\naa aaa XXXX aa\naa YYYY aa aa YYYY") << SN(2, 9, 11, "***","aa aa aa\naa aaa XXXX aa\n*** YYYY aa aa YYYY") << SN(3, 2, 4, "\n!","aa aa aa\naa aaa XXXX aa\n*** YYYY \n! aa YYYY") << SP(1, 14, 12, "ups", "aa aa aa\naa aaa XXXX aa\n*** YYYY \n! ups YYYY") << SP(1, 2, 0, "first","aa aa aa\naa aaa XXXX first\n*** YYYY \n! ups YYYY") << SP(0, 8, 6, "sec","aa aa aa\nsec aaa XXXX first\n*** YYYY \n! ups YYYY") << SP(0, 5, 3, "\xE4","aa aa \xE4\nsec aaa XXXX first\n*** YYYY \n! ups YYYY") << SP(0, 2, 0, "miau","aa miau \xE4\nsec aaa XXXX first\n*** YYYY \n! ups YYYY") << SP(-1, -1, -1, "^^^^","^^^^ miau \xE4\nsec aaa XXXX first\n*** YYYY \n! ups YYYY") ); //<< SP(1, 0, 0, "first","aa aa \nfirst aaa XXXX ups\n*** YYYY \n! aa YYYY") //<< SN(3, 2, 2, "","^^^^ \xE4 \nfirst aaa XXXX ups\n*** YYYY \n! YYYY") //<< SP(-1,-1,-1)); QTest::newRow("replace regexp backreferences") << "\\begin{abc} \n content \n ... \n \\end{abc}" << "\\\\(begin|end)\\{([a-zA-Z]*)\\}" << (int)QDocumentSearch::RegExp << 0 << 0 << (QList<CM>() << SN(0, 0, 11, "\\\\1{left-\\2-right}","\\begin{abc} \n content \n ... \n \\end{abc}") << SN(3, 1, 10, "\\\\1{left-\\2-right}","\\begin{left-abc-right} \n content \n ... \n \\end{abc}") << SN(-1, -1, -1, "\\\\1{left-\\2-right}","\\begin{left-abc-right} \n content \n ... \n \\end{left-abc-right}")); QTest::newRow("replace escape seq") << "hello world! hello!" << "l" << (int)QDocumentSearch::EscapeSeq << 0 << 0 << (QList<CM>() << SN(0, 2, 3, "????", "hello world! hello!") << SN(1, 0, 1, "\\n","he\nlo world! hello!") << SN(1, 6, 7, "\\\\","he\n\\o world! hello!") << SN(1, 12, 13, "\\t","he\n\\o wor\td! hello!") << SN(2, 0, 1, "\\r","he\n\\o wor\td! he\nlo!") << SN(-1, -1, -1, "\\0",QString("he\n\\o wor\td! he\n*o!").replace(QChar('*'),QChar('\0')))); QTest::newRow("touching block replace") << "xxxxxxxxxxxx" << "xx" << 0 << 0 << 4 << (QList<CM>() << SN(0, 4,6, "abc", "xxxxxxxxxxxx") << SN(0, 6,8, "**", "xxxx**xxxxxx") << SN(0, 8,10, "!!", "xxxx**!!xxxx") << SN(0, 10,12, "==", "xxxx**!!==xx") << SN(0, 0,2, "--", "xxxx**!!==--") << SN(0, 4,6, "++++", "++++xx**!!==--") << SN(-1, -1,-1, "//", "++++//**!!==--") ); QTest::newRow("loop around replace") << "aaaaaa\nggaagg\nbbaabb\n" << "aa" << 0 << 1 << 0 << (QList<CM>() << SN(1, 2,4, "**", "aaaaaa\nggaagg\nbbaabb\n") << SN(2, 2,4, "xy", "aaaaaa\nggxygg\nbbaabb\n") << SN(0, 0,2, "tz", "aaaaaa\nggxygg\nbbtzbb\n") << SN(0, 2,4, "12", "12aaaa\nggxygg\nbbtzbb\n") << SN(0, 4,6, "34", "1234aa\nggxygg\nbbtzbb\n") << SN(-1, -1,-1, "56", "123456\nggxygg\nbbtzbb\n")); QTest::newRow("loop around backward replace") << "aaaaaa\nggaagg\nbbaabb\n" << "aa" << 0 << 1 << 4 << (QList<CM>() << SP(1, 4, 2, "tsara", "aaaaaa\nggaagg\nbbaabb\n") << SP(0, 6, 4, "---", "aaaaaa\ngg---gg\nbbaabb\n") << SP(0, 4, 2, "!!!!", "aaaa!!!!\ngg---gg\nbbaabb\n") << SP(0, 2, 0, ">>", "aa>>!!!!\ngg---gg\nbbaabb\n") << SP(2, 4, 2, "<<", "<<>>!!!!\ngg---gg\nbbaabb\n") << SP(-1, -1, -1, "%", "<<>>!!!!\ngg---gg\nbb%bb\n")); QTest::newRow("replacing leading to new find occurences") << "abc\nabc\nabc" << "abc" << 0 << 0 << 0 << (QList<CM>() << SN(0,0,3) << SN(1,0,3) << SN(2, 0,3, "abc abc", "abc\nabc abc\nabc") << SN(0,0,3) << SN(1,0,3) << SN(1, 4, 7) << SN(2,0,3) << SP(1,7,4) << SP(1,3,0) << SP(0,3,0) << SN(1, 0,3, "abc+++abc", "abc+++abc\nabc abc\nabc") << SN(1, 4,7) << SP (1,3,0) << SP(0,9,6) << SP(0,3,0) << SP(2,3,0)); QTest::newRow("replacing leading to new find occurences empty lines") << "abc\n\n\nabc\n\n\nabc" << "abc" << 0 << 0 << 0 << (QList<CM>() << SN(0,0,3) << SN(3,0,3) << SN(6, 0,3, "abc abc", "abc\n\n\nabc abc\n\n\nabc") << SN(0,0,3) << SN(3,0,3) << SN(3, 4, 7) << SN(6,0,3) << SP(3,7,4) << SP(3,3,0) << SP(0,3,0) << SN(3, 0,3, "abc+++abc", "abc+++abc\n\n\nabc abc\n\n\nabc") << SN(3, 4,7) << SP (3,3,0) << SP(0,9,6) << SP(0,3,0) << SP(6,3,0)); }