Ejemplo n.º 1
0
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);
  }
  
}
Ejemplo n.º 2
0
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]; 
}
Ejemplo n.º 3
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)
  {}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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);

}
Ejemplo n.º 6
0
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));
}