mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-14 06:12:47 -06:00
upptst: Xmlize test
git-svn-id: svn://ultimatepp.org/upp/trunk@2154 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
c7a1a490f6
commit
ebb53afdff
2 changed files with 91 additions and 0 deletions
82
upptst/Xmlize/Xmlize.cpp
Normal file
82
upptst/Xmlize/Xmlize.cpp
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
#include <Core/Core.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
template <class T>
|
||||
struct Data {
|
||||
T val;
|
||||
|
||||
void Xmlize(XmlIO xml) {
|
||||
xml("value", val);
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
void Test(const T& x) {
|
||||
LOG("----------------------------------------");
|
||||
LOG("Xmlize: " << x << " [" << typeid(T).name() << "]");
|
||||
Data<T> data;
|
||||
data.val = x;
|
||||
String xml = StoreAsXML(data, "XmlizeTest");
|
||||
LOG("Xml: ");
|
||||
LOG(xml);
|
||||
Data<T> data2;
|
||||
ASSERT(LoadFromXML(data2, xml));
|
||||
LOG("Loaded: " << data2.val);
|
||||
ASSERT(data2.val == x);
|
||||
}
|
||||
|
||||
struct DataV {
|
||||
Value val;
|
||||
|
||||
void Xmlize(XmlIO xml) {
|
||||
xml("Value", val);
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
void TestV(const T& x) {
|
||||
Test(x);
|
||||
LOG("-----");
|
||||
DataV data;
|
||||
data.val = x;
|
||||
String xml = StoreAsXML(data, "XmlizeValue");
|
||||
LOG("Value Xml: ");
|
||||
LOG(xml);
|
||||
DataV data2;
|
||||
ASSERT(LoadFromXML(data2, xml));
|
||||
LOG("Loaded: " << data2.val);
|
||||
ASSERT(data2.val == data.val);
|
||||
}
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
TestV(String("Just a test!"));
|
||||
TestV(WString("Just a test!"));
|
||||
TestV((int) 123);
|
||||
Test((dword) 0xffff0000);
|
||||
TestV(12.3456789);
|
||||
Test((int16)20000);
|
||||
TestV((int64)I64(0xffff000025689));
|
||||
Test((int16)123);
|
||||
|
||||
TestV(GetSysTime());
|
||||
TestV(GetSysDate());
|
||||
|
||||
TestV(Point(1, 2));
|
||||
Test(Point16(1, 2));
|
||||
TestV(Point64(1, 2));
|
||||
TestV(Pointf(1, 2));
|
||||
|
||||
TestV(Size(3, 4));
|
||||
Test(Size16(3, 4));
|
||||
TestV(Size64(3, 4));
|
||||
TestV(Sizef(3, 4));
|
||||
|
||||
TestV(Rect(23, 12, 56, 88));
|
||||
Test(Rect16(23, 12, 56, 88));
|
||||
TestV(Rect64(23, 12, 56, 88));
|
||||
TestV(Rectf(23, 12, 56, 88));
|
||||
|
||||
TestV(Magenta());
|
||||
}
|
||||
9
upptst/Xmlize/Xmlize.upp
Normal file
9
upptst/Xmlize/Xmlize.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
Core;
|
||||
|
||||
file
|
||||
Xmlize.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "";
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue