summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/test/stubs/stubs-serverinfo.cpp
blob: f0fcaf66130a57ab2b4fc8e6f316b679de07019d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/***************************************************************************
 *             __________               __   ___.
 *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
 *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
 *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
 *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
 *                     \/            \/     \/    \/            \/
 *
 * Copyright (C) 2020 Dominik Riebeling
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 * KIND, either express or implied.
 *
 ****************************************************************************/

// Stubs for ServerInfo unit test.

#include "rbsettings.h"
#include "systeminfo.h"

QVariant SystemInfo::platformValue(SystemInfo::PlatformInfo info, QString platform)
{
    switch(info) {
        case SystemInfo::Manual:
            if (platform == "iriverh120") return "iriverh100";
            if (platform == "ipodmini2g") return "ipodmini1g";
            break;
        case SystemInfo::BuildserverModel:
            return platform.split('.').at(0);
        default:
            return QString();
    }
    return QString();
}

QVariant SystemInfo::value(SystemInfo::SystemInfos info, SystemInfo::BuildType type)
{
    (void)info;  // test is currently only using BuildUrl.
    switch(type) {
        case SystemInfo::BuildCurrent:
            return QString("https://unittest/dev/rockbox-%MODEL%.zip");
        case SystemInfo::BuildDaily:
            return QString("https://unittest/daily/rockbox-%MODEL%-%RELVERSION%.zip");
        case SystemInfo::BuildRelease:
            return QString("https://unittest/release/%RELVERSION%/rockbox-%MODEL%-%RELVERSION%.zip");
        case SystemInfo::BuildCandidate:
            return QString("https://unittest/rc/%RELVERSION%/rockbox-%MODEL%-%RELVERSION%.zip");
        default:
            break;
    }
    return QString();
}

QStringList SystemInfo::platforms(SystemInfo::PlatformType type, QString variant)
{
    // stub implementation: we have a fixed list of players, and only iaudiox5
    // has variant iaudiox5.v
    QStringList result;
    result << "iriverh100" << "iriverh120" << "iriverh300"
           << "ipodmini2g" << "archosrecorder" << "archosfmrecorder"
           << "gigabeatfx" << "iaudiom3" << "sansae200" << "iriverh10";
    switch (type)
    {
        case SystemInfo::PlatformBaseDisabled:
            // return base platforms only, i.e. return iaudiox5 for iaudiox5.v
            result << "iaudiox5";
            break;
        case SystemInfo::PlatformVariantDisabled:
            // return variants for the passed variant
            if (variant == "iaudiox5") {
                result.clear();
                result << "iaudiox5" << "iaudiox5.v";
            }
            else {
                result.clear();
                result << variant;
            }
            break;
        case SystemInfo::PlatformAllDisabled:
            // return all, both with and without variant.
            result << "iaudiox5" << "iaudiox5.v";
            break;
        default:
            break;
    }
    return result;
}


QVariant RbSettings::value(UserSettings setting)
{
    switch (setting)
    {
        case RbSettings::CurrentPlatform:
            return QString("ipodmini2g");
        default:
            return QString("");
    }
}