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

View File

@ -1497,7 +1497,7 @@ void CStudio::UpdateDialogPublic()
pl = static_cast< CLabel* >(pw->SearchControl(EVENT_DIALOG_LABEL1));
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);
}
}

View File

@ -51,6 +51,7 @@ protected:
};
using ::testing::_;
using ::testing::An;
using ::testing::Return;
TEST_F(CEditTest, WriteTest)
@ -58,7 +59,7 @@ TEST_F(CEditTest, WriteTest)
ASSERT_TRUE(true);
CTextMock * text = dynamic_cast<CTextMock *>(m_engine->GetText());
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";
m_edit->SetMaxChar(Ui::EDITSTUDIOMAX);
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,
std::vector<Gfx::FontMetaChar>::iterator format,
std::vector<Gfx::FontMetaChar>::iterator end, float size));
MOCK_METHOD3(GetStringWidth, float(const std::string &, Gfx::FontType, float));
std::vector<Gfx::FontMetaChar>::iterator end,
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"
bool GetResource(ResType /* type */, int /* num */, char* /* text */)
bool GetResource(ResType /* type */, int /* num */, std::string& /* text */)
{
return true;
}