LINUX.ORG.RU

QtTest и utf-8


0

1

У кого-нибудь получалось подружить тестовый фреймворк Qt с utf-8?
В main примерно так:

int main(int argc, char **argv)
{
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
    DataTest tst;

    return QTest::qExec(&tst, argc, argv);
}

В тесте (исходник utf-8)

QCOMPARE("мама", "папа");

В результате теста в консоли вместо русских символов вопросики

Actual ("????????"): ????????
Expected ("????????"): ????????

Ответ на: комментарий от Olegymous

Учи кресты. В куске кода «QTextCodec::codecForName(„utf8“)» ты обращаешься через оператор "::" к статическому методу «codecForName(...)» класса «QTextCodec» (возвращает екземпляр или указатель на объект точно не помню, класса «QTextCodec»). Я тебе дал ссылку на описание сабжевого класса. Где черным по белому расписан список строковых значений принимаемых сабжевым методом, одно из которых «UTF-8».

erfea ★★★★★ ()
Ответ на: комментарий от erfea

Не понимаю ход твоих мыслей. Если смущает «utf8» у меня в примере, так это алиас UTF-8 и работает корректно вне тестов.

Olegymous ★★ ()
Ответ на: комментарий от Olegymous

Уверен? Сам даже не пробовал, привык делать как в доках написано, да и написание utf-8 куда привычней.

erfea ★★★★★ ()
Ответ на: комментарий от erfea

Нет, аргументы дальше первого это параметры командной строки, т.е. совсем не при делах.

Olegymous ★★ ()
Ответ на: комментарий от erfea

Уф блин совсем уже там же «QCOMPARE(„мама“, „папа“);»... попробовал ему явно кутёвые строки пихать? QString(«мама»)?

erfea ★★★★★ ()
Ответ на: комментарий от gogi

Ох, это всю testlib нужно пересобирать. Буду иметь ввиду, спасибо.

Olegymous ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.