Skip to content

Commit 3015ee5

Browse files
committed
Add some tests for OString
1 parent a6fcbc9 commit 3015ee5

File tree

7 files changed

+154
-21
lines changed

7 files changed

+154
-21
lines changed

client/src/cl_game.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,6 @@ bool longtics; // don't quantize yaw for classic vanilla demos
122122
bool nodrawers; // for comparative timing purposes
123123
bool noblit; // for comparative timing purposes
124124

125-
// Describes if a network game is being played
126-
bool network_game;
127-
// Describes if this is a multiplayer game or not
128-
bool multiplayer;
129-
130125
byte consoleplayer_id; // player taking events and displaying
131126
byte displayplayer_id; // view being displayed
132127
int gametic;

client/src/d_main.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ bool devparm; // started game with -devparm
112112
const char *D_DrawIcon; // [RH] Patch name of icon to draw on next refresh
113113
static bool wiping_screen = false;
114114

115-
OLumpName startmap;
116-
bool autostart;
117115
bool advancedemo;
118116
event_t events[MAXEVENTS];
119117
int eventhead;

common/doomstat.h

+3-5
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,15 @@ extern bool modifiedgame;
5757
// Selected skill type, map etc.
5858
//
5959

60-
extern OLumpName startmap; // [RH] Actual map name now
60+
inline OLumpName startmap; // [RH] Actual map name now
6161

6262
extern bool autostart;
6363

6464
// Selected by user.
6565
EXTERN_CVAR (sv_skill)
6666

67-
// Bot game? Like netgame, but doesn't involve network communication.
68-
extern bool multiplayer;
69-
70-
extern bool network_game;
67+
inline bool network_game; // Describes if a network game is being played
68+
inline bool multiplayer; // Describes if this is a multiplayer game or not
7169

7270
// Game mode
7371
EXTERN_CVAR (sv_gametype)

server/src/d_main.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ extern DThinker ThinkerCap;
9191
extern dyncolormap_t NormalLight;
9292

9393
bool devparm; // started game with -devparm
94-
OLumpName startmap;
9594
event_t events[MAXEVENTS];
9695
gamestate_t wipegamestate = GS_DEMOSCREEN; // can be -1 to force a wipe
9796

server/src/sv_game.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,6 @@ bool sendpause; // send a pause event next tic
6464

6565
bool timingdemo; // FIXME : delete this variable for odasrv ?
6666

67-
bool network_game; // Describes if a network game is being played
68-
bool multiplayer; // Describes if this is a multiplayer game or not
69-
7067
player_t nullplayer; // The null player
7168

7269
byte consoleplayer_id; // player taking events and displaying

tests/unit-tests/src/teststubs.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,8 @@ DArgs Args;
5555
bool clientside;
5656
bool isFast;
5757
bool timingdemo;
58-
OLumpName startmap;
59-
bool multiplayer;
6058
bool demoplayback;
6159
bool devparm;
62-
bool network_game;
6360
bool paused;
6461
bool menuactive;
6562
bool step_mode;

tests/unit-tests/test/ostring.cpp

+151-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,151 @@
1-
// #include "gtest/gtest.h"
2-
// #include "m_ostring.h"
1+
#include "gtest/gtest.h"
2+
#include "m_ostring.h"
3+
4+
TEST(OString, InitEmpty) {
5+
OString str;
6+
EXPECT_TRUE(str.empty());
7+
EXPECT_EQ(str.size(), 0);
8+
EXPECT_STREQ(str.c_str(), "");
9+
}
10+
11+
TEST(OString, InitFromString) {
12+
std::string stdStr = "Hello, World!";
13+
OString str(stdStr);
14+
EXPECT_FALSE(str.empty());
15+
EXPECT_EQ(str.size(), stdStr.size());
16+
EXPECT_EQ(str, stdStr);
17+
EXPECT_STREQ(str.c_str(), stdStr.c_str());
18+
}
19+
20+
TEST(OString, InitFromCString) {
21+
const char* cStr = "Hello, World!";
22+
OString str(cStr);
23+
EXPECT_FALSE(str.empty());
24+
EXPECT_EQ(str.size(), strlen(cStr));
25+
EXPECT_EQ(str, cStr);
26+
EXPECT_STREQ(str.c_str(), cStr);
27+
}
28+
29+
TEST(OString, Assignment) {
30+
OString str1 = "Hello";
31+
OString str2;
32+
str2 = str1;
33+
EXPECT_EQ(str1, str2);
34+
EXPECT_STREQ(str1.c_str(), str2.c_str());
35+
36+
std::string stdStr = "World";
37+
str2 = stdStr;
38+
EXPECT_EQ(str2, stdStr);
39+
EXPECT_STREQ(str2.c_str(), stdStr.c_str());
40+
41+
const char* cStr = "!";
42+
str2 = cStr;
43+
EXPECT_EQ(str2, cStr);
44+
EXPECT_STREQ(str2.c_str(), cStr);
45+
}
46+
47+
TEST(OString, AssignOString) {
48+
OString str1 = "Hello";
49+
OString str2;
50+
str2.assign(str1);
51+
EXPECT_EQ(str1, str2);
52+
EXPECT_STREQ(str1.c_str(), str2.c_str());
53+
}
54+
55+
TEST(OString, AssignStdString) {
56+
std::string stdStr = "Hello";
57+
OString str;
58+
str.assign(stdStr);
59+
EXPECT_EQ(str, stdStr);
60+
EXPECT_STREQ(str.c_str(), stdStr.c_str());
61+
}
62+
63+
TEST(OString, AssignCString) {
64+
const char* cStr = "Hello";
65+
OString str;
66+
str.assign(cStr);
67+
EXPECT_EQ(str, cStr);
68+
EXPECT_STREQ(str.c_str(), cStr);
69+
}
70+
71+
TEST(OString, AssignCharAndSize) {
72+
OString str;
73+
str.assign(5, 'A');
74+
EXPECT_EQ(str, "AAAAA");
75+
EXPECT_STREQ(str.c_str(), "AAAAA");
76+
}
77+
78+
TEST(OString, AssignIterator) {
79+
std::string stdStr = "Hello";
80+
OString str;
81+
str.assign(stdStr.begin(), stdStr.end());
82+
EXPECT_EQ(str, stdStr);
83+
EXPECT_STREQ(str.c_str(), stdStr.c_str());
84+
}
85+
86+
TEST(OString, Comparison) {
87+
OString str1 = "Hello";
88+
OString str2 = "Hello";
89+
OString str3 = "World";
90+
91+
EXPECT_TRUE(str1 == str2);
92+
EXPECT_FALSE(str1 == str3);
93+
94+
EXPECT_TRUE(str1 != str3);
95+
EXPECT_FALSE(str1 != str2);
96+
97+
EXPECT_TRUE(str1 < str3);
98+
EXPECT_FALSE(str3 < str1);
99+
100+
EXPECT_TRUE(str3 > str1);
101+
EXPECT_FALSE(str1 > str3);
102+
103+
EXPECT_TRUE(str1 <= str2);
104+
EXPECT_TRUE(str1 <= str3);
105+
106+
EXPECT_TRUE(str3 >= str1);
107+
EXPECT_TRUE(str1 >= str2);
108+
}
109+
110+
TEST(OString, Substr) {
111+
OString str = "Hello, World!";
112+
OString substr = str.substr(7, 5);
113+
EXPECT_EQ(substr, "World");
114+
EXPECT_STREQ(substr.c_str(), "World");
115+
}
116+
117+
TEST(OString, Find) {
118+
OString str = "Hello, World!";
119+
EXPECT_EQ(str.find("World"), 7);
120+
EXPECT_EQ(str.find("world"), OString::npos);
121+
EXPECT_STREQ(str.substr(str.find("World"), 5).c_str(), "World");
122+
}
123+
124+
TEST(OString, RFind) {
125+
OString str = "Hello, World! Hello!";
126+
EXPECT_EQ(str.rfind("Hello"), 14);
127+
EXPECT_EQ(str.rfind("hello"), OString::npos);
128+
EXPECT_STREQ(str.substr(str.rfind("Hello"), 5).c_str(), "Hello");
129+
}
130+
131+
TEST(OString, FindFirstOf) {
132+
OString str = "Hello, World!";
133+
EXPECT_EQ(str.find_first_of("o"), 4);
134+
EXPECT_EQ(str.find_first_of("z"), OString::npos);
135+
EXPECT_STREQ(str.substr(str.find_first_of("o"), 1).c_str(), "o");
136+
}
137+
138+
TEST(OString, FindLastOf) {
139+
OString str = "Hello, World!";
140+
EXPECT_EQ(str.find_last_of("o"), 8);
141+
EXPECT_EQ(str.find_last_of("z"), OString::npos);
142+
EXPECT_STREQ(str.substr(str.find_last_of("o"), 1).c_str(), "o");
143+
}
144+
145+
TEST(OString, Clear) {
146+
OString str = "Hello, World!";
147+
str.clear();
148+
EXPECT_TRUE(str.empty());
149+
EXPECT_EQ(str.size(), 0);
150+
EXPECT_STREQ(str.c_str(), "");
151+
}

0 commit comments

Comments
 (0)