mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-03 07:45:30 +08:00
qt 6.5.1 original
This commit is contained in:
23
tests/auto/corelib/text/qbytearray/CMakeLists.txt
Normal file
23
tests/auto/corelib/text/qbytearray/CMakeLists.txt
Normal file
@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#####################################################################
|
||||
## tst_qbytearray Test:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_add_test(tst_qbytearray
|
||||
SOURCES
|
||||
tst_qbytearray.cpp
|
||||
LIBRARIES
|
||||
Qt::CorePrivate
|
||||
)
|
||||
|
||||
## Scopes:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_extend_target(tst_qbytearray CONDITION APPLE
|
||||
SOURCES
|
||||
tst_qbytearray_mac.mm
|
||||
LIBRARIES
|
||||
${FWFoundation}
|
||||
)
|
2558
tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
Normal file
2558
tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
Normal file
File diff suppressed because it is too large
Load Diff
74
tests/auto/corelib/text/qbytearray/tst_qbytearray_mac.mm
Normal file
74
tests/auto/corelib/text/qbytearray/tst_qbytearray_mac.mm
Normal file
@ -0,0 +1,74 @@
|
||||
// Copyright (C) 2014 Samuel Gaist <samuel.gaist@edeltech.ch>
|
||||
// Copyright (C) 2016 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
|
||||
#include <QtCore/QByteArray>
|
||||
#include <QTest>
|
||||
|
||||
#include <QtCore/private/qcore_mac_p.h>
|
||||
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#include <Foundation/Foundation.h>
|
||||
|
||||
void tst_QByteArray_macTypes()
|
||||
{
|
||||
// QByteArray <-> CFData
|
||||
{
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const CFDataRef cfData = qtByteArray.toCFData();
|
||||
QCOMPARE(QByteArray::fromCFData(cfData), qtByteArray);
|
||||
CFRelease(cfData);
|
||||
}
|
||||
{
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const CFDataRef cfData = qtByteArray.toCFData();
|
||||
QByteArray qtByteArrayCopy(qtByteArray);
|
||||
qtByteArray = qtByteArray.toUpper(); // modify
|
||||
QCOMPARE(QByteArray::fromCFData(cfData), qtByteArrayCopy);
|
||||
}
|
||||
// QByteArray <-> CFData Raw
|
||||
{
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const CFDataRef cfData = qtByteArray.toRawCFData();
|
||||
const UInt8 * cfDataPtr = CFDataGetBytePtr(cfData);
|
||||
QCOMPARE(reinterpret_cast<const UInt8*>(qtByteArray.constData()), cfDataPtr);
|
||||
CFRelease(cfData);
|
||||
}
|
||||
{
|
||||
const UInt8 data[] = "cfdata test";
|
||||
const CFDataRef cfData = CFDataCreate(kCFAllocatorDefault, data, sizeof(data));
|
||||
const UInt8 * cfDataPtr = CFDataGetBytePtr(cfData);
|
||||
QByteArray qtByteArray = QByteArray::fromRawCFData(cfData);
|
||||
QCOMPARE(reinterpret_cast<const UInt8*>(qtByteArray.constData()), cfDataPtr);
|
||||
CFRelease(cfData);
|
||||
}
|
||||
// QByteArray <-> NSData
|
||||
{
|
||||
QMacAutoReleasePool pool;
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const NSData *nsData = qtByteArray.toNSData();
|
||||
QCOMPARE(QByteArray::fromNSData(nsData), qtByteArray);
|
||||
}
|
||||
{
|
||||
QMacAutoReleasePool pool;
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const NSData *nsData = qtByteArray.toNSData();
|
||||
QByteArray qtByteArrayCopy(qtByteArray);
|
||||
qtByteArray = qtByteArray.toUpper(); // modify
|
||||
QCOMPARE(QByteArray::fromNSData(nsData), qtByteArrayCopy);
|
||||
}
|
||||
// QByteArray <-> NSData Raw
|
||||
{
|
||||
QMacAutoReleasePool pool;
|
||||
QByteArray qtByteArray("test bytearray");
|
||||
const NSData *nsData = qtByteArray.toRawNSData();
|
||||
QCOMPARE([nsData bytes], qtByteArray.constData());
|
||||
}
|
||||
{
|
||||
QMacAutoReleasePool pool;
|
||||
const char data[] = "nsdata test";
|
||||
const NSData *nsData = [NSData dataWithBytes:data length:sizeof(data)];
|
||||
QByteArray qtByteArray = QByteArray::fromRawNSData(nsData);
|
||||
QCOMPARE(qtByteArray.constData(), [nsData bytes]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user