Fix tests, fix doc build, fix one bug

Not all test cases would be possible to bring in sync with current implementation with just a reasonable effort - see uses of QEXPECT_FAIL
They are commented out because they cannot be evaluated unless the list is not empty (which is checked by the first QCOMPARE). This is needed for the "Continue" behavior of QEXPECT_FAIL to work here. The two commented out together with the first not-commented out all form single condition which just cannot be expressed with single QCOMPARE easily.