| 2637 | } |
| 2638 | |
| 2639 | void TestValidator::testValidatorFileSize_data() |
| 2640 | { |
| 2641 | QTest::addColumn<QString>("url"); |
| 2642 | QTest::addColumn<QByteArray>("body"); |
| 2643 | QTest::addColumn<QByteArray>("output"); |
| 2644 | |
| 2645 | // **** Start testing ValidatorFileSize ***** |
| 2646 | |
| 2647 | int count = 0; |
| 2648 | for (const QString &size : |
| 2649 | {u"1M"_s, u"M1"_s, u"1 G"_s, u"G 1"_s, u"1.5 G"_s, |
| 2650 | u"G 1.5"_s, u"2.345 TiB"_s, u"TiB2.345"_s, u"5B"_s, u"B5"_s, |
| 2651 | u"5 B"_s, u"B 5"_s, u" 2.0 Gi"_s, u" Gi 2.0"_s, u"2.0 Gi "_s, |
| 2652 | u"Gi 2.0 "_s, u" 2.0 Gi "_s, u" Gi 2.0 "_s, u" 2.0 Gi "_s, u" Gi 2.0 "_s, |
| 2653 | u"3.67YB"_s, u"YB3.67"_s, u"1"_s, u"1024"_s, u".5MB"_s, |
| 2654 | u"MB.5"_s}) { |
| 2655 | const QByteArray body = QByteArrayLiteral("field=") + QUrl::toPercentEncoding(size); |
| 2656 | QTest::newRow(u"valid-%1"_s.arg(count).toUtf8().constData()) |
| 2657 | << u"/fileSize"_s << body << valid; |
| 2658 | count++; |
| 2659 | } |
| 2660 | |
| 2661 | count = 0; |
| 2662 | for (const QString &size : {u"1QiB"_s, |
| 2663 | u"QiB1"_s, |
| 2664 | u" 1QiB"_s, |
| 2665 | u" QiB1"_s, |
| 2666 | u"1QiB "_s, |
| 2667 | u"QiB1 "_s, |
| 2668 | u"1 QiB"_s, |
| 2669 | u"Q iB1"_s, |
| 2670 | u"1 QiB"_s, |
| 2671 | u"Q iB1"_s, |
| 2672 | u"1..4 G"_s, |
| 2673 | u"G 1..4"_s, |
| 2674 | u"1iB"_s, |
| 2675 | u"iB1"_s, |
| 2676 | u"1Byte"_s, |
| 2677 | u"Byte1"_s, |
| 2678 | u"1024iK"_s, |
| 2679 | u"iK 2048"_s}) { |
| 2680 | const QByteArray body = QByteArrayLiteral("field=") + QUrl::toPercentEncoding(size); |
| 2681 | QTest::newRow(u"invalid-%1"_s.arg(count).toUtf8().constData()) |
| 2682 | << u"/fileSize"_s << body << invalid; |
| 2683 | count++; |
| 2684 | } |
| 2685 | |
| 2686 | QUrlQuery query; |
| 2687 | query.addQueryItem(u"field"_s, u"1,5M"_s); |
| 2688 | query.addQueryItem(u"locale"_s, u"de"_s); |
| 2689 | QTest::newRow("locale-de-valid") |
| 2690 | << u"/fileSize"_s << query.toString(QUrl::FullyEncoded).toLatin1() << valid; |
| 2691 | |
| 2692 | query.clear(); |
| 2693 | query.addQueryItem(u"field"_s, u"1.5M"_s); |
| 2694 | query.addQueryItem(u"locale"_s, u"de"_s); |
| 2695 | QTest::newRow("locale-de-invalid") |
| 2696 | << u"/fileSize"_s << query.toString(QUrl::FullyEncoded).toLatin1() << invalid; |