tests/auto/qstate/tst_qstate.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
    75     void test();
    75     void test();
    76 #endif
    76 #endif
    77     void assignProperty();
    77     void assignProperty();
    78     void assignPropertyTwice();
    78     void assignPropertyTwice();
    79     void historyInitialState();
    79     void historyInitialState();
       
    80     void transitions();
    80 
    81 
    81 private:
    82 private:
    82     bool functionCalled;
    83     bool functionCalled;
    83 };
    84 };
    84 
    85 
   368     QCOMPARE(machine.configuration().size(), 2);
   369     QCOMPARE(machine.configuration().size(), 2);
   369     QVERIFY(machine.configuration().contains(s2));
   370     QVERIFY(machine.configuration().contains(s2));
   370     QVERIFY(machine.configuration().contains(s4));
   371     QVERIFY(machine.configuration().contains(s4));
   371 }
   372 }
   372 
   373 
       
   374 void tst_QState::transitions()
       
   375 {
       
   376     QState s1;
       
   377     QState s2;
       
   378 
       
   379     QVERIFY(s1.transitions().isEmpty());
       
   380 
       
   381     QAbstractTransition *t1 = s1.addTransition(this, SIGNAL(destroyed()), &s2);
       
   382     QVERIFY(t1 != 0);
       
   383     QCOMPARE(s1.transitions().count(), 1);
       
   384     QCOMPARE(s1.transitions().first(), t1);
       
   385     QVERIFY(s2.transitions().isEmpty());
       
   386 
       
   387     s1.removeTransition(t1);
       
   388     QVERIFY(s1.transitions().isEmpty());
       
   389 
       
   390     s1.addTransition(t1);
       
   391     QCOMPARE(s1.transitions().count(), 1);
       
   392     QCOMPARE(s1.transitions().first(), t1);
       
   393 
       
   394     QAbstractTransition *t2 = new QEventTransition(&s1);
       
   395     QCOMPARE(s1.transitions().count(), 2);
       
   396     QVERIFY(s1.transitions().contains(t1));
       
   397     QVERIFY(s1.transitions().contains(t2));
       
   398 
       
   399     // Transitions from child states should not be reported.
       
   400     QState *s21 = new QState(&s2);
       
   401     QAbstractTransition *t3 = s21->addTransition(this, SIGNAL(destroyed()), &s2);
       
   402     QVERIFY(s2.transitions().isEmpty());
       
   403     QCOMPARE(s21->transitions().count(), 1);
       
   404     QCOMPARE(s21->transitions().first(), t3);
       
   405 }
   373 
   406 
   374 QTEST_MAIN(tst_QState)
   407 QTEST_MAIN(tst_QState)
   375 #include "tst_qstate.moc"
   408 #include "tst_qstate.moc"