[1050] | 1 | /*
|
---|
| 2 | Copyright (C) 2005-2014 Sergey A. Tachenov
|
---|
| 3 |
|
---|
| 4 | This file is part of QuaZIP test suite.
|
---|
| 5 |
|
---|
| 6 | QuaZIP is free software: you can redistribute it and/or modify
|
---|
| 7 | it under the terms of the GNU Lesser General Public License as published by
|
---|
| 8 | the Free Software Foundation, either version 2.1 of the License, or
|
---|
| 9 | (at your option) any later version.
|
---|
| 10 |
|
---|
| 11 | QuaZIP is distributed in the hope that it will be useful,
|
---|
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
| 14 | GNU Lesser General Public License for more details.
|
---|
| 15 |
|
---|
| 16 | You should have received a copy of the GNU Lesser General Public License
|
---|
| 17 | along with QuaZIP. If not, see <http://www.gnu.org/licenses/>.
|
---|
| 18 |
|
---|
| 19 | See COPYING file for the full LGPL text.
|
---|
| 20 |
|
---|
| 21 | Original ZIP package is copyrighted by Gilles Vollant and contributors,
|
---|
| 22 | see quazip/(un)zip.h files for details. Basically it's the zlib license.
|
---|
| 23 | */
|
---|
| 24 |
|
---|
| 25 | #include "testquagzipfile.h"
|
---|
| 26 | #include <zlib.h>
|
---|
| 27 | #include <QDir>
|
---|
| 28 | #include <quazip/quagzipfile.h>
|
---|
| 29 | #include <QtTest/QtTest>
|
---|
| 30 |
|
---|
| 31 | void TestQuaGzipFile::read()
|
---|
| 32 | {
|
---|
| 33 | QDir curDir;
|
---|
| 34 | curDir.mkpath("tmp");
|
---|
| 35 | gzFile file = gzopen("tmp/test.gz", "wb");
|
---|
| 36 | gzwrite(file, "test", 4);
|
---|
| 37 | gzclose(file);
|
---|
| 38 | QuaGzipFile testFile("tmp/test.gz");
|
---|
| 39 | QVERIFY(testFile.open(QIODevice::ReadOnly));
|
---|
| 40 | char buf[5];
|
---|
| 41 | buf[4] = '\0';
|
---|
| 42 | QCOMPARE(testFile.read(buf, 5), static_cast<qint64>(4));
|
---|
| 43 | testFile.close();
|
---|
| 44 | QVERIFY(!testFile.isOpen());
|
---|
| 45 | QCOMPARE(static_cast<const char*>(buf), "test");
|
---|
| 46 | curDir.remove("tmp/test.gz");
|
---|
| 47 | curDir.rmdir("tmp");
|
---|
| 48 | }
|
---|
| 49 |
|
---|
| 50 | void TestQuaGzipFile::write()
|
---|
| 51 | {
|
---|
| 52 | QDir curDir;
|
---|
| 53 | curDir.mkpath("tmp");
|
---|
| 54 | QuaGzipFile testFile;
|
---|
| 55 | testFile.setFileName("tmp/test.gz");
|
---|
| 56 | QCOMPARE(testFile.getFileName(), QString::fromLatin1("tmp/test.gz"));
|
---|
| 57 | QVERIFY(testFile.open(QIODevice::WriteOnly));
|
---|
| 58 | QCOMPARE(testFile.write("test", 4), static_cast<qint64>(4));
|
---|
| 59 | QVERIFY(testFile.flush());
|
---|
| 60 | testFile.close();
|
---|
| 61 | QVERIFY(!testFile.isOpen());
|
---|
| 62 | gzFile file = gzopen("tmp/test.gz", "rb");
|
---|
| 63 | char buf[5];
|
---|
| 64 | buf[4] = '\0';
|
---|
| 65 | QCOMPARE(gzread(file, buf, 5), 4);
|
---|
| 66 | gzclose(file);
|
---|
| 67 | QCOMPARE(static_cast<const char*>(buf), "test");
|
---|
| 68 | curDir.remove("tmp/test.gz");
|
---|
| 69 | curDir.rmdir("tmp");
|
---|
| 70 | }
|
---|
| 71 |
|
---|
| 72 | void TestQuaGzipFile::constructorDestructor()
|
---|
| 73 | {
|
---|
| 74 | QuaGzipFile *f1 = new QuaGzipFile();
|
---|
| 75 | delete f1; // D0 destructor
|
---|
| 76 | QObject parent;
|
---|
| 77 | QuaGzipFile f2(&parent);
|
---|
| 78 | QuaGzipFile f3("test.gz", &parent);
|
---|
| 79 | }
|
---|