2 * Copyright (C) 2022 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
10 #include "utils/ExecString.h"
12 #include <gtest/gtest.h>
14 TEST(TestExecString
, ctor_1
)
17 const CExecString
exec("ActivateWindow(Video, \"C:\\test\\foo\")");
18 EXPECT_EQ(exec
.IsValid(), true);
19 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
20 EXPECT_EQ(exec
.GetParams().size(), 2U);
21 EXPECT_EQ(exec
.GetParams()[0], "Video");
22 EXPECT_EQ(exec
.GetParams()[1], "C:\\test\\foo");
23 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video, \"C:\\test\\foo\")");
26 const CExecString
exec("ActivateWindow(Video, \"C:\\test\\foo\\\")");
27 EXPECT_EQ(exec
.IsValid(), true);
28 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
29 EXPECT_EQ(exec
.GetParams().size(), 2U);
30 EXPECT_EQ(exec
.GetParams()[0], "Video");
31 EXPECT_EQ(exec
.GetParams()[1], "C:\\test\\foo");
32 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video, \"C:\\test\\foo\\\")");
35 const CExecString
exec("ActivateWindow(Video, \"C:\\\\test\\\\foo\\\\\")");
36 EXPECT_EQ(exec
.IsValid(), true);
37 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
38 EXPECT_EQ(exec
.GetParams().size(), 2U);
39 EXPECT_EQ(exec
.GetParams()[0], "Video");
40 EXPECT_EQ(exec
.GetParams()[1], "C:\\test\\foo\\");
41 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video, \"C:\\\\test\\\\foo\\\\\")");
44 const CExecString
exec("ActivateWindow(Video, \"C:\\\\\\\\test\\\\\\foo\\\\\")");
45 EXPECT_EQ(exec
.IsValid(), true);
46 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
47 EXPECT_EQ(exec
.GetParams().size(), 2U);
48 EXPECT_EQ(exec
.GetParams()[0], "Video");
49 EXPECT_EQ(exec
.GetParams()[1], "C:\\\\test\\\\foo\\");
50 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video, \"C:\\\\\\\\test\\\\\\foo\\\\\")");
53 const CExecString
exec("SetProperty(Foo,\"\")");
54 EXPECT_EQ(exec
.IsValid(), true);
55 EXPECT_EQ(exec
.GetFunction(), "setproperty");
56 EXPECT_EQ(exec
.GetParams().size(), 2U);
57 EXPECT_EQ(exec
.GetParams()[0], "Foo");
58 EXPECT_EQ(exec
.GetParams()[1], "");
59 EXPECT_EQ(exec
.GetExecString(), "SetProperty(Foo,\"\")");
62 const CExecString
exec("SetProperty(foo,ba(\"ba black )\",sheep))");
63 EXPECT_EQ(exec
.IsValid(), true);
64 EXPECT_EQ(exec
.GetFunction(), "setproperty");
65 EXPECT_EQ(exec
.GetParams().size(), 2U);
66 EXPECT_EQ(exec
.GetParams()[0], "foo");
67 EXPECT_EQ(exec
.GetParams()[1], "ba(\"ba black )\",sheep)");
68 EXPECT_EQ(exec
.GetExecString(), "SetProperty(foo,ba(\"ba black )\",sheep))");
72 TEST(TestExecString
, ctor_2
)
75 const CExecString
exec("ActivateWindow", {"Video", "C:\\test\\foo"});
76 EXPECT_EQ(exec
.IsValid(), true);
77 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
78 EXPECT_EQ(exec
.GetParams().size(), 2U);
79 EXPECT_EQ(exec
.GetParams()[0], "Video");
80 EXPECT_EQ(exec
.GetParams()[1], "C:\\test\\foo");
81 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video,C:\\test\\foo)");
85 TEST(TestExecString
, ctor_3
)
88 const CFileItem
item("C:\\test\\foo", true);
89 const CExecString
exec(item
, "Video");
90 EXPECT_EQ(exec
.IsValid(), true);
91 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
92 EXPECT_EQ(exec
.GetParams().size(), 3U);
93 EXPECT_EQ(exec
.GetParams()[0], "Video");
94 EXPECT_EQ(exec
.GetParams()[1], "\"C:\\\\test\\\\foo\\\\\"");
95 EXPECT_EQ(exec
.GetParams()[2], "return");
96 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video,\"C:\\\\test\\\\foo\\\\\",return)");
99 const CFileItem
item("C:\\test\\foo\\", true);
100 const CExecString
exec(item
, "Video");
101 EXPECT_EQ(exec
.IsValid(), true);
102 EXPECT_EQ(exec
.GetFunction(), "activatewindow");
103 EXPECT_EQ(exec
.GetParams().size(), 3U);
104 EXPECT_EQ(exec
.GetParams()[0], "Video");
105 EXPECT_EQ(exec
.GetParams()[1], "\"C:\\\\test\\\\foo\\\\\"");
106 EXPECT_EQ(exec
.GetParams()[2], "return");
107 EXPECT_EQ(exec
.GetExecString(), "ActivateWindow(Video,\"C:\\\\test\\\\foo\\\\\",return)");
110 const CFileItem
item("C:\\test\\foo", false);
111 const CExecString
exec(item
, "Video");
112 EXPECT_EQ(exec
.IsValid(), true);
113 EXPECT_EQ(exec
.GetFunction(), "playmedia");
114 EXPECT_EQ(exec
.GetParams().size(), 1U);
115 EXPECT_EQ(exec
.GetParams()[0], "\"C:\\\\test\\\\foo\"");
116 EXPECT_EQ(exec
.GetExecString(), "PlayMedia(\"C:\\\\test\\\\foo\")");