Some further refactoring and test corrections

dev-ui
Piotr Dziwinski 2013-12-20 20:18:30 +01:00
parent 8deb130572
commit 95661918ce
5 changed files with 41 additions and 20 deletions

View File

@ -23,6 +23,7 @@
#include "common/iman.h" #include "common/iman.h"
#include "common/misc.h" #include "common/misc.h"
#include "common/restext.h" #include "common/restext.h"
#include "common/stringutils.h"
#include "graphics/core/light.h" #include "graphics/core/light.h"
#include "graphics/engine/engine.h" #include "graphics/engine/engine.h"
@ -971,32 +972,41 @@ void ObjectAdd(ObjectList list[], ObjectType type)
void ObjectWrite(FILE* file, ObjectList list[], int i) void ObjectWrite(FILE* file, ObjectList list[], int i)
{ {
char line[100]; std::string line;
char* p;
if ( list[i].total < 10 ) if ( list[i].total < 10 )
{ {
sprintf(line, "\\c; %dx \\n;\\l;", list[i].total); line = StrUtils::Format("\\c; %dx \\n;\\l;", list[i].total);
} }
else else
{ {
sprintf(line, "\\c;%dx \\n;\\l;", list[i].total); line = StrUtils::Format("\\c;%dx \\n;\\l;", list[i].total);
} }
std::string res; std::string res;
GetResource(RES_OBJECT, list[i].type, res); GetResource(RES_OBJECT, list[i].type, res);
if (res.empty()) return; if (res.empty())
strcat(line, res.c_str()); return;
line += res;
line += "\\u ";
strcat(line, "\\u ");
std::string helpFilename = GetHelpFilename(list[i].type); std::string helpFilename = GetHelpFilename(list[i].type);
p = const_cast<char*>(helpFilename.c_str()); if (helpFilename.empty())
if ( p[0] == 0 ) return; return;
strcat(line, p+7); // skip "help\?\"
p = strstr(line, ".txt"); line += helpFilename.substr(7); // skip "help\?\"
if ( p != 0 ) *p = 0;
strcat(line, ";\n"); auto pos = line.find(".txt");
fputs(line, file); if (pos != std::string::npos)
{
line = line.substr(0, pos);
}
line += ";\n";
fputs(line.c_str(), file);
} }
// Creates the file containing the list of objects. // Creates the file containing the list of objects.

View File

@ -1497,7 +1497,7 @@ void CStudio::UpdateDialogPublic()
pl = static_cast< CLabel* >(pw->SearchControl(EVENT_DIALOG_LABEL1)); pl = static_cast< CLabel* >(pw->SearchControl(EVENT_DIALOG_LABEL1));
if ( pl != 0 ) if ( pl != 0 )
{ {
//? GetResource(RES_TEXT, RT_IO_LIST, name); // GetResource(RES_TEXT, RT_IO_LIST, name); // TODO: unused?
pl->SetName(SearchDirectory(false).c_str(), false); pl->SetName(SearchDirectory(false).c_str(), false);
} }
} }

View File

@ -51,6 +51,7 @@ protected:
}; };
using ::testing::_; using ::testing::_;
using ::testing::An;
using ::testing::Return; using ::testing::Return;
TEST_F(CEditTest, WriteTest) TEST_F(CEditTest, WriteTest)
@ -58,7 +59,7 @@ TEST_F(CEditTest, WriteTest)
ASSERT_TRUE(true); ASSERT_TRUE(true);
CTextMock * text = dynamic_cast<CTextMock *>(m_engine->GetText()); CTextMock * text = dynamic_cast<CTextMock *>(m_engine->GetText());
EXPECT_CALL(*text, GetCharWidth(_, _, _, _)).WillRepeatedly(Return(1.0f)); EXPECT_CALL(*text, GetCharWidth(_, _, _, _)).WillRepeatedly(Return(1.0f));
EXPECT_CALL(*text, GetStringWidth(_, _, _, _)).WillOnce(Return(1.0f)); EXPECT_CALL(*text, GetStringWidth(An<const std::string&>(), _, _, _)).WillOnce(Return(1.0f));
std::string filename = "test.file"; std::string filename = "test.file";
m_edit->SetMaxChar(Ui::EDITSTUDIOMAX); m_edit->SetMaxChar(Ui::EDITSTUDIOMAX);
m_edit->SetAutoIndent(true); m_edit->SetAutoIndent(true);

View File

@ -15,11 +15,21 @@ public:
{ {
}; };
MOCK_METHOD4(GetCharWidth, float(Gfx::UTF8Char, Gfx::FontType, float, float)); MOCK_METHOD4(GetCharWidth, float(Gfx::UTF8Char ch,
Gfx::FontType type,
float size,
float offset));
MOCK_METHOD4(GetStringWidth, float(const std::string &text, MOCK_METHOD4(GetStringWidth, float(const std::string &text,
std::vector<Gfx::FontMetaChar>::iterator format, std::vector<Gfx::FontMetaChar>::iterator format,
std::vector<Gfx::FontMetaChar>::iterator end, float size)); std::vector<Gfx::FontMetaChar>::iterator end,
MOCK_METHOD3(GetStringWidth, float(const std::string &, Gfx::FontType, float)); float size));
MOCK_METHOD3(GetStringWidth, float(std::string text,
Gfx::FontType font,
float size));
MOCK_METHOD4(GetStringWidth, float(Gfx::UTF8Char ch,
Gfx::FontType font,
float size,
float offset));
}; };

View File

@ -1,6 +1,6 @@
#include "common/restext.h" #include "common/restext.h"
bool GetResource(ResType /* type */, int /* num */, char* /* text */) bool GetResource(ResType /* type */, int /* num */, std::string& /* text */)
{ {
return true; return true;
} }