~libqtelegram-team/consoletelegram/trunk

« back to all changes in this revision

Viewing changes to splitbrancheventstester.cpp

  • Committer: Roberto Mier Escandón
  • Date: 2014-05-20 10:58:50 UTC
  • Revision ID: rmescandon@gmail.com-20140520105850-76yl7j5ufc4fejrl
ADDED tests for search messages operation

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
    connect(&m_telegram, SIGNAL(messagesGetMessagesAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)), this, SLOT(onMessagesGetMessagesAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)));
42
42
    connect(&m_telegram, SIGNAL(messagesGetDialogsAnswer(long long,int,QList<Dialog>,QList<Message>,QList<Chat>,QList<User>)), this, SLOT(onMessagesGetDialogsAnswer(long long,int,QList<Dialog>,QList<Message>,QList<Chat>,QList<User>)));
43
43
    connect(&m_telegram, SIGNAL(messagesGetHistoryAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)), this, SLOT(onMessagesGetHistoryAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)));
 
44
    connect(&m_telegram, SIGNAL(messagesSearchAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)), this, SLOT(onMessagesSearchAnswer(long long,int,QList<Message>,QList<Chat>,QList<User>)));
44
45
}
45
46
 
46
47
SplitBranchEventsTester::~SplitBranchEventsTester() {
349
350
        mentionedChats.insert(chats.at(i).id(), &(chats.at(i)));
350
351
    }
351
352
 
352
 
    for (int i = messages.size() - 1; i >= 0; i--) {
353
 
        const Message m = messages.at(i);
 
353
    Q_FOREACH (Message m, messages) {
354
354
        const User *u = mentionedUsers.value(m.fromId());
355
355
        QString from = u->firstName() + " " + u->lastName();
356
356
        QString to;
442
442
    optionSelector();
443
443
}
444
444
 
 
445
void SplitBranchEventsTester::onMessagesSearchAnswer(long long id, int count, const QList<Message> &messages, const QList<Chat> &chats, const QList<User> &users) {
 
446
    qDebug() << "messagesSearchAnswer SIGNAL received, id:" << id;
 
447
    qDebug() << "count:" << count;
 
448
    qDebug() << "messages:" << messages.size();
 
449
    qDebug() << "chats mentioned in messages:" << chats.size();
 
450
    qDebug() << "users mentioned in messages and chats:" << users.size();
 
451
    qDebug() << "-----";
 
452
    QMap<int, const User *> mentionedUsers;
 
453
    for (int i=0; i<users.size(); i++) {
 
454
        mentionedUsers.insert(users.at(i).id(), &(users.at(i)));
 
455
    }
 
456
    QMap<int, const Chat *> mentionedChats;
 
457
    for (int i=0; i<chats.size(); i++) {
 
458
        mentionedChats.insert(chats.at(i).id(), &(chats.at(i)));
 
459
    }
 
460
 
 
461
    Q_FOREACH (Message m, messages) {
 
462
        const User *u = mentionedUsers.value(m.fromId());
 
463
        QString from = u->firstName() + " " + u->lastName();
 
464
        QString to;
 
465
        if (m.toId().classType() == Peer::typePeerUser) {
 
466
            const User *u = mentionedUsers.value(m.toId().userId());
 
467
            to = u->firstName() + " " + u->lastName();
 
468
        } else {
 
469
            const Chat *c = mentionedChats.value(m.toId().chatId());
 
470
            to = c->title();
 
471
        }
 
472
        qDebug() << from << " -> " << to << ":" << m.message();
 
473
    }
 
474
    optionSelector();
 
475
}
 
476
 
445
477
 
446
478
InputPeer SplitBranchEventsTester::askForInputPeer() {
447
479
    bool valid = false;
604
636
    qDebug() << "504.- get messages by messageID";
605
637
    qDebug() << "505.- get dialogs";
606
638
    qDebug() << "506.- get dialog detail";
 
639
    qDebug() << "507.- search";
607
640
    qDebug() << endl << "enter option...";
608
641
    QTextStream cin(stdin);
609
642
    QString option = cin.readLine();
655
688
    } else if (option == "506") {
656
689
        InputPeer peer = askForInputPeer();
657
690
        m_telegram.messagesGetHistory(peer);
 
691
    } else if (option == "507") {
 
692
        qDebug() << "First of all, the peer where search";
 
693
        InputPeer peer = askForInputPeer();
 
694
        qDebug() << "Enter query string to search";
 
695
        QTextStream in(stdin);
 
696
        QString query = in.readLine();
 
697
        bool valid = false;
 
698
        MessagesFilter f(MessagesFilter::typeInputMessagesFilterEmpty);
 
699
        while (!valid) {
 
700
            qDebug() << "Enter filter (return for no filter): 'photos', 'video', 'photo and video', 'document'";
 
701
            QString filter = in.readLine();
 
702
            if (filter.length() > 0) {
 
703
                if (filter == "photos") {
 
704
                    f.setClassType(MessagesFilter::typeInputMessagesFilterPhotos); valid = true;
 
705
                } else if (filter == "video") {
 
706
                    f.setClassType(MessagesFilter::typeInputMessagesFilterVideo); valid = true;
 
707
                } else if (filter == "photo and video") {
 
708
                    f.setClassType(MessagesFilter::typeInputMessagesFilterPhotoVideo); valid = true;
 
709
                } else if (filter == "document") {
 
710
                    f.setClassType(MessagesFilter::typeInputMessagesFilterDocument); valid = true;
 
711
                }
 
712
            } else {
 
713
                valid = true;
 
714
            }
 
715
        }
 
716
        m_telegram.messagesSearch(peer, query, f);
658
717
    } else {
659
718
        optionSelector();
660
719
    }