Skip to content

Commit

Permalink
Tests: Add a stub for ReceivedMessage::DeliveryDetails
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaffeine committed Sep 24, 2020
1 parent a91e6bb commit 800ea2f
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 0 deletions.
84 changes: 84 additions & 0 deletions tests/stubs/TelepathyQt/message.cpp
Expand Up @@ -326,6 +326,79 @@ MessagePart& Message::ut_part(uint index)
* available on received messages.
*/

/**
* \class ReceivedMessage::DeliveryDetails
* \ingroup clientchannel
* \headerfile TelepathyQt/message.h <TelepathyQt/ReceivedMessage>
*
* \brief The ReceivedMessage::DeliveryDetails class represents the details of a delivery report.
*/

struct ReceivedMessage::DeliveryDetails::Private : public QSharedData
{
Private(const MessagePartList &parts)
: parts(parts)
{
}

MessagePartList parts;
};

/**
* Default constructor.
*/
ReceivedMessage::DeliveryDetails::DeliveryDetails()
{
}

/**
* Copy constructor.
*/
ReceivedMessage::DeliveryDetails::DeliveryDetails(const DeliveryDetails &other)
: mPriv(other.mPriv)
{
}

/**
* Construct a new ReceivedMessage::DeliveryDetails object.
*
* \param The message parts.
*/
ReceivedMessage::DeliveryDetails::DeliveryDetails(const MessagePartList &parts)
: mPriv(new Private(parts))
{
}

/**
* Class destructor.
*/
ReceivedMessage::DeliveryDetails::~DeliveryDetails()
{
}

/**
* Assignment operator.
*/
ReceivedMessage::DeliveryDetails &ReceivedMessage::DeliveryDetails::operator=(
const DeliveryDetails &other)
{
this->mPriv = other.mPriv;
return *this;
}

/**
* Return the delivery status of a message.
*
* \return The delivery status as #DeliveryStatus.
*/
DeliveryStatus ReceivedMessage::DeliveryDetails::status() const
{
if (!isValid()) {
return DeliveryStatusUnknown;
}
return static_cast<DeliveryStatus>(uintOrZeroFromPart(mPriv->parts, 0, "delivery-status"));
}

/**
* Default constructor, only used internally.
*/
Expand Down Expand Up @@ -418,6 +491,17 @@ bool ReceivedMessage::isScrollback() const
return booleanFromPart(mPriv->parts, 0, "scrollback", false);
}

/**
* Return the details of a delivery report.
*
* \return The delivery report as a ReceivedMessage::DeliveryDetails object.
* \sa isDeliveryReport()
*/
ReceivedMessage::DeliveryDetails ReceivedMessage::deliveryDetails() const
{
return DeliveryDetails(parts());
}

void ReceivedMessage::ut_setSender(const ContactPtr& sender)
{
mPriv->sender = sender;
Expand Down
25 changes: 25 additions & 0 deletions tests/stubs/TelepathyQt/message.h
Expand Up @@ -86,6 +86,29 @@ class Message
class ReceivedMessage : public Message
{
public:
class DeliveryDetails
{
public:
DeliveryDetails();
DeliveryDetails(const DeliveryDetails &other);
~DeliveryDetails();

DeliveryDetails &operator=(const DeliveryDetails &other);

bool isValid() const { return mPriv.constData() != nullptr; }

DeliveryStatus status() const;

private:
friend class ReceivedMessage;

DeliveryDetails(const MessagePartList &parts);

struct Private;
friend struct Private;
QSharedDataPointer<Private> mPriv;
};

ReceivedMessage(const MessagePartList &parts);
ReceivedMessage();

Expand All @@ -97,6 +120,8 @@ class ReceivedMessage : public Message
ContactPtr sender() const;
bool isScrollback() const;

DeliveryDetails deliveryDetails() const;

public: //ut
void ut_setSender(const ContactPtr& sender);

Expand Down

0 comments on commit 800ea2f

Please sign in to comment.