#include <gtest/gtest.h>
#include <gtest/gtest-death-test.h>
#include "../../registeredSession/plugins/default/defaultinterface.h"

class DefaultInterfaceTest : public testing::Test
{
protected:
    static void SetUpTestSuite()
    {
       m_pDefaultInterface = new DefaultInterface();
    }

    static void TearDownTestSuite()
    {
       if (m_pDefaultInterface) {
           delete m_pDefaultInterface;
           m_pDefaultInterface = nullptr;
       }
    }

    static DefaultInterface* m_pDefaultInterface;
};

DefaultInterface *DefaultInterfaceTest::m_pDefaultInterface = nullptr;

TEST_F(DefaultInterfaceTest, getDefaultApp)
{
    QVariantList ret = m_pDefaultInterface->getDefaultApp("x-scheme-handler/http");
    ASSERT_GT(ret.size(), 0);
}

TEST_F(DefaultInterfaceTest, getAppList)
{
    QVariantList ret = m_pDefaultInterface->getAppList("x-scheme-handler/http");
    ASSERT_GT(ret.size(), 0);
}

TEST_F(DefaultInterfaceTest, setDefaultApp)
{
    bool ret = m_pDefaultInterface->setDefaultApp("kylin-music.desktop", "audio/x-vorbis+ogg");
    ASSERT_EQ(ret, true);
}

TEST_F(DefaultInterfaceTest, getSystemDefaultAppList)
{
    QMap<QString, QVariant> ret = m_pDefaultInterface->getSystemDefaultAppList();
    ASSERT_GT(ret.size(), 0);
}
