From 857632bb23d8d26af589b2b1cc0bec90eb15c304 Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 24 Oct 2012 19:35:59 +0000 Subject: [PATCH] .upptst git-svn-id: svn://ultimatepp.org/upp/trunk@5473 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- upptst/BiVector/init | 4 + upptst/CParser/CParser.upp | 17 +- upptst/PcreTest/PcreTest.cpp | 54 ++--- upptst/SvoValue/SvoValue.cpp | 248 +++++++++++----------- upptst/SvoValue/SvoValue.h | 397 +++++++++++++++++------------------ upptst/SvoValue/SvoValue.upp | 5 +- upptst/SvoValue/init | 1 - 7 files changed, 364 insertions(+), 362 deletions(-) create mode 100644 upptst/BiVector/init diff --git a/upptst/BiVector/init b/upptst/BiVector/init new file mode 100644 index 000000000..935d6c7ab --- /dev/null +++ b/upptst/BiVector/init @@ -0,0 +1,4 @@ +#ifndef _BiVector_icpp_init_stub +#define _BiVector_icpp_init_stub +#include "Core/init" +#endif diff --git a/upptst/CParser/CParser.upp b/upptst/CParser/CParser.upp index a7daadaee..ee38c045f 100644 --- a/upptst/CParser/CParser.upp +++ b/upptst/CParser/CParser.upp @@ -1,8 +1,9 @@ -uses - Core; - -file - main.cpp; - -mainconfig - "" = ""; +uses + Core; + +file + main.cpp; + +mainconfig + "" = ""; + diff --git a/upptst/PcreTest/PcreTest.cpp b/upptst/PcreTest/PcreTest.cpp index 163cd891f..ac3dc84ec 100644 --- a/upptst/PcreTest/PcreTest.cpp +++ b/upptst/PcreTest/PcreTest.cpp @@ -1,27 +1,27 @@ -#include -#include - -using namespace Upp; - -CONSOLE_APP_MAIN -{ - RegExp r0("(\\w+)\\s(\\w+)\\s(\\w+)"); - if(r0.Match("one two three")) - { - for(int i = 0; i < r0.GetCount(); i++) - Cout() << r0[i] << '\n'; - } else if(r0.IsError()) - Cout() << r0.GetError() << '\n'; - - Cout() << "------------------------------\n"; - - RegExp r1("(\\w+)", RegExp::UNICODE); - int i = 0; - while(r1.GlobalMatch("hello 4 ho 55 uuu iii pp 99 baby too swistak")) - { - for(int i = 0; i < r1.GetCount(); i++) - Cout() << r1[i] << '\n'; - } - if(r1.IsError()) - Cout() << r1.GetError() << '\n'; -} +#include +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + RegExp r0("(\\w+)\\s(\\w+)\\s(\\w+)"); + if(r0.Match("one two three")) + { + for(int i = 0; i < r0.GetCount(); i++) + Cout() << r0[i] << '\n'; + } else if(r0.IsError()) + Cout() << r0.GetError() << '\n'; + + Cout() << "------------------------------\n"; + + RegExp r1("(\\w+)", RegExp::UNICODE); + int i = 0; + while(r1.GlobalMatch("hello 4 ho 55 uuu iii pp 99 baby too swistak")) + { + for(int i = 0; i < r1.GetCount(); i++) + Cout() << r1[i] << '\n'; + } + if(r1.IsError()) + Cout() << r1.GetError() << '\n'; +} diff --git a/upptst/SvoValue/SvoValue.cpp b/upptst/SvoValue/SvoValue.cpp index 12dc69665..e73d79a07 100644 --- a/upptst/SvoValue/SvoValue.cpp +++ b/upptst/SvoValue/SvoValue.cpp @@ -1,124 +1,124 @@ -#include "SvoValue.h" - -GUI_APP_MAIN -{ - StdLogSetup(LOG_COUT|LOG_FILE); - -// temporary - Value ist = Opt0(); - if(ist.Is()) - RLOG("int"); - if(IsNumber(ist)) - RLOG("number"); -// - - - Value v; - ASSERT(v.IsVoid()); - - CheckType(Value()); - CheckType(String("ahoj"), true); - CheckType(String('a', 20), true); - CheckType(String('b', 200), true); - CheckType(WString("ahoj")); - CheckType(123); - CheckType(123.0); - CheckType(true); - CheckType((int64)123, true); - CheckType(Date(2012, 1, 1)); - CheckType(Time(2012, 1, 1, 15, 30), true); - CheckType(Complex(1, 2), true); - ValueArray va; - va.Add(123); - va.Add("ahoj"); - ASSERT(va.GetCount() == 2); - ASSERT(va[0] == 123); - ASSERT(va[1] == "ahoj"); - CheckType(va, true); - ValueMap map; - map.Add("1", 1); - map.Add("2", 2); - CheckType(map, true); - CheckType(Point(20, 20), true); - CheckType(Size(20, 20), true); - CheckType(Rect(0, 0, 123, 123), true); - CheckType(Point64(20, 20), true); - CheckType(Size64(20, 20), true); - CheckType(Rect64(0, 0, 123, 123), true); - CheckType(Pointf(20, 20), true); - CheckType(Sizef(20, 20), true); - CheckType(Rectf(0, 0, 123, 123), true); - CheckType(Blue(), true); - Uuid uuid; - uuid.a = 11234; - uuid.b = 321; - uuid.c = 1111; - uuid.d = 19999; - CheckType(uuid, true); - - CheckType(Arial(50).Bold().Strikeout(), true); - - { - DrawingDraw g(100, 100); - g.DrawText(0, 0, "Hello world"); - Drawing x = g.GetResult(); - CheckType(x); - } - - { - PaintingPainter g(100, 100); - g.DrawText(0, 0, "Hello world"); - Painting x = g.GetResult(); - CheckType(x); - } - - CheckType(CtrlImg::save()); - - v = ErrorValue("error"); - CheckType(v, true); - ASSERT(v.IsVoid()); - ASSERT(v.IsError()); - ASSERT(!Value().IsError()); - RDUMP(GetErrorText(v)); - ASSERT(GetErrorText(v) == "error"); - - CheckValueMap(); - - CheckNumber(); - CheckNumber(); - CheckNumber(); - CheckNumber(); - - RLOG("------------------------------"); - RLOG("CheckString"); - CheckString(); - - RLOG("------------------------------"); - RLOG("CheckDateTime"); - CheckDateTime(); - - RLOG("------------------------------"); - RLOG("CheckValue"); - CheckRawValue(); - - RLOG("------------------------------"); - RLOG("CheckRawValue"); - CheckRawValue(); - - RLOG("------------------------------"); - RLOG("CheckRawPickValue"); - CheckRawPickValue(); - - RLOG("------------------------------"); - RLOG("CheckCreateRawValue"); - CheckCreateRawValue(); - - RLOG("------------------------------"); - RLOG("OtherChecks"); - OtherChecks(); - - RLOG("------------------------------"); - RLOG("######## Everything is OK"); - - PromptOK("OK"); -} +#include "SvoValue.h" + +CONSOLE_APP_MAIN +{ + StdLogSetup(LOG_COUT|LOG_FILE); + +// temporary + Value ist = Opt0(); + if(ist.Is()) + RLOG("int"); + if(IsNumber(ist)) + RLOG("number"); +// + + + Value v; + ASSERT(v.IsVoid()); + + CheckType(Value()); + CheckType(String("ahoj"), true); + CheckType(String('a', 20), true); + CheckType(String('b', 200), true); + CheckType(WString("ahoj")); + CheckType(123); + CheckType(123.0); + CheckType(true); + CheckType((int64)123, true); + CheckType(Date(2012, 1, 1)); + CheckType(Time(2012, 1, 1, 15, 30), true); + CheckType(Complex(1, 2), true); + ValueArray va; + va.Add(123); + va.Add("ahoj"); + ASSERT(va.GetCount() == 2); + ASSERT(va[0] == 123); + ASSERT(va[1] == "ahoj"); + CheckType(va, true); + ValueMap map; + map.Add("1", 1); + map.Add("2", 2); + CheckType(map, true); + CheckType(Point(20, 20), true); + CheckType(Size(20, 20), true); + CheckType(Rect(0, 0, 123, 123), true); + CheckType(Point64(20, 20), true); + CheckType(Size64(20, 20), true); + CheckType(Rect64(0, 0, 123, 123), true); + CheckType(Pointf(20, 20), true); + CheckType(Sizef(20, 20), true); + CheckType(Rectf(0, 0, 123, 123), true); + CheckType(Blue(), true); + Uuid uuid; + uuid.a = 11234; + uuid.b = 321; + uuid.c = 1111; + uuid.d = 19999; + CheckType(uuid, true); + + CheckType(Arial(50).Bold().Strikeout(), true); + + { + DrawingDraw g(100, 100); + g.DrawText(0, 0, "Hello world"); + Drawing x = g.GetResult(); + CheckType(x); + } + + { + PaintingPainter g(100, 100); + g.DrawText(0, 0, "Hello world"); + Painting x = g.GetResult(); + CheckType(x); + } + + { + CheckType(CreateImage(Size(20, 20), Blue)); + } + + v = ErrorValue("error"); + CheckType(v, true); + ASSERT(v.IsVoid()); + ASSERT(v.IsError()); + ASSERT(!Value().IsError()); + RDUMP(GetErrorText(v)); + ASSERT(GetErrorText(v) == "error"); + + CheckValueMap(); + + CheckNumber(); + CheckNumber(); + CheckNumber(); + CheckNumber(); + + RLOG("------------------------------"); + RLOG("CheckString"); + CheckString(); + + RLOG("------------------------------"); + RLOG("CheckDateTime"); + CheckDateTime(); + + RLOG("------------------------------"); + RLOG("CheckValue"); + CheckRawValue(); + + RLOG("------------------------------"); + RLOG("CheckRawValue"); + CheckRawValue(); + + RLOG("------------------------------"); + RLOG("CheckRawPickValue"); + CheckRawPickValue(); + + RLOG("------------------------------"); + RLOG("CheckCreateRawValue"); + CheckCreateRawValue(); + + RLOG("------------------------------"); + RLOG("OtherChecks"); + OtherChecks(); + + RLOG("------------------------------"); + RLOG("######## Everything is OK"); +} diff --git a/upptst/SvoValue/SvoValue.h b/upptst/SvoValue/SvoValue.h index 2f390dd19..c3be340e7 100644 --- a/upptst/SvoValue/SvoValue.h +++ b/upptst/SvoValue/SvoValue.h @@ -1,199 +1,198 @@ -#ifndef _SvoValue_SvoValue_h_ -#define _SvoValue_SvoValue_h_ - -#include -#include - -using namespace Upp; - -void DumpNumber(const Value& v); -Value Opt0(); -void Opt(); -void CheckString(); -void CheckDateTime(); -void CheckValueMap(); -void OtherChecks(); -void CheckRawPickValue(); -void CheckRawValue(); -void CheckCreateRawValue(); - -template -void CheckNumber() -{ - RLOG("========================================================"); - RLOG("CheckNumber " << typeid(T).name()); - Value v = (T)123; - Value v2 = (T)0; - Value vn = (T)Null; - Value dv = 123.0; - ASSERT(IsNumber(v)); - ASSERT(!IsError(v)); - ASSERT(!IsVoid(v)); - ASSERT(!IsString(v)); - ASSERT(!IsDateTime(v)); - ASSERT(vn.Is() || GetHashValue(v) == GetHashValue(dv)); - ASSERT(v != v2); - ASSERT(v != vn); - ASSERT(IsNull(vn) || vn.Is()); - DumpNumber(v); - DumpNumber(vn); - Value v1 = v; - RDUMP(v1); - RDUMP(v2); - RDUMP(v1 != v2); - ASSERT(v1 != v2); - v2 = v1; - RDUMP(v1); - RDUMP(v2); - RDUMP(v1 == v2); - ASSERT(v1 == v2); - Opt(); -} - -template -void CheckType(const T& x, bool checkhash = false) -{ - RLOG("========================================================"); - RLOG("CheckType " << typeid(T).name() << " = " << x); - String fn; - Value vf; - Value tt = x; - bool isvoid = tt.IsVoid(); - if(!isvoid) { - fn = ConfigFile(AsString(tt.GetType()) + ":" + AsString(x)); - if(FileExists(fn)) { - LoadFromFile(vf, fn); - if(IsValueMap(tt)) { - RDUMP(ValueMap(vf)); - ASSERT(ValueMap(vf) == ValueMap(x)); - } - else { - RDUMP(vf.To()); - ASSERT(vf.To() == x); - } - } - } - Value v = x; - RDUMP(v); - ASSERT((T)v == x); - ASSERT(isvoid ? v.IsVoid() : v.Is()); - if(!isvoid) { - StoreToFile(v, fn); - RDUMP(GetValueTypeNo()); - ASSERT(v.GetType() == GetValueTypeNo()); - if(!tt.Is() && !tt.Is()) - ASSERT(v.To() == x); - ASSERT((T)(v) == x); - if(!tt.Is() && !tt.Is() && !tt.Is()) { - Value hh; - for(int i = 0; i < 2; i++) { - ASSERT(IsNull(hh.Get())); - ASSERT(IsNull((T)hh)); - hh = (int)Null; - } - } - } - if(!vf.IsVoid()) - ASSERT(vf == v); - String h = StoreAsString(v); - Value vv; - LoadFromString(vv, h); - RDUMP(vv); - ASSERT(vv == v); - T xx = vv; - RDUMP(xx); - ASSERT(vv == v); - - RDUMP(GetHashValue(v)); - RDUMP(GetHashValue(xx)); - ASSERT(!checkhash || GetHashValue(v) == GetHashValue(xx)); - - Value vn = (T)Null; - ASSERT(IsNull(vn) || vn.Is()); - - DLOG("----------"); - RDUMP(v); - String xml = StoreAsXML(v, "test"); - RDUMP(xml); - vv = Null; - LoadFromXML(vv, xml); - RDUMP(vv); - ASSERT(vv == v); - - String json = StoreAsJson(v); - RDUMP(json); - vv = Null; - LoadFromJson(vv, json); - RDUMP(vv); - ASSERT(vv == v); - - if(!tt.Is()) { - DLOG("----------"); - v = Null; - - RDUMP(v); - String data = StoreAsString(v); - vv = x; - LoadFromString(vv, data); - RDUMP(vv); - ASSERT(IsNull(vv)); - - RDUMP(v); - xml = StoreAsXML(v, "test"); - RDUMP(xml); - vv = x; - LoadFromXML(vv, xml); - RDUMP(vv); - ASSERT(IsNull(vv)); - - json = StoreAsJson(v); - RDUMP(json); - vv = x; - LoadFromJson(vv, json); - RDUMP(vv); - ASSERT(IsNull(vv)); - - DLOG("----------"); - T tx = Null; - ASSERT(IsNull(tx)); - data = StoreAsString(tx); - T ty = x; - LoadFromString(ty, data); - RDUMP(ty); - ASSERT(IsNull(ty)); - - RDUMP(v); - xml = StoreAsXML(tx, "test"); - RDUMP(xml); - ty = x; - LoadFromXML(ty, xml); - RDUMP(ty); - ASSERT(IsNull(ty)); - - json = StoreAsJson(tx); - RDUMP(json); - ty = x; - LoadFromJson(ty, json); - RDUMP(ty); - ASSERT(IsNull(vv)); - - RDUMP(v); - tx = x; - xml = StoreAsXML(tx, "test"); - RDUMP(xml); - ty = Null; - LoadFromXML(ty, xml); - RDUMP(ty); - ASSERT(StoreAsXML(tx, "X") == StoreAsXML(x, "X")); - - json = StoreAsJson(tx); - RDUMP(json); - ty = Null; - LoadFromJson(ty, json); - RDUMP(ty); - ASSERT(StoreAsJson(tx) == StoreAsJson(x)); - ASSERT(IsNull(vv)); - } -} - -#endif +#ifndef _SvoValue_SvoValue_h_ +#define _SvoValue_SvoValue_h_ + +#include + +using namespace Upp; + +void DumpNumber(const Value& v); +Value Opt0(); +void Opt(); +void CheckString(); +void CheckDateTime(); +void CheckValueMap(); +void OtherChecks(); +void CheckRawPickValue(); +void CheckRawValue(); +void CheckCreateRawValue(); + +template +void CheckNumber() +{ + RLOG("========================================================"); + RLOG("CheckNumber " << typeid(T).name()); + Value v = (T)123; + Value v2 = (T)0; + Value vn = (T)Null; + Value dv = 123.0; + ASSERT(IsNumber(v)); + ASSERT(!IsError(v)); + ASSERT(!IsVoid(v)); + ASSERT(!IsString(v)); + ASSERT(!IsDateTime(v)); + ASSERT(vn.Is() || GetHashValue(v) == GetHashValue(dv)); + ASSERT(v != v2); + ASSERT(v != vn); + ASSERT(IsNull(vn) || vn.Is()); + DumpNumber(v); + DumpNumber(vn); + Value v1 = v; + RDUMP(v1); + RDUMP(v2); + RDUMP(v1 != v2); + ASSERT(v1 != v2); + v2 = v1; + RDUMP(v1); + RDUMP(v2); + RDUMP(v1 == v2); + ASSERT(v1 == v2); + Opt(); +} + +template +void CheckType(const T& x, bool checkhash = false) +{ + RLOG("========================================================"); + RLOG("CheckType " << typeid(T).name() << " = " << x); + String fn; + Value vf; + Value tt = x; + bool isvoid = tt.IsVoid(); + if(!isvoid) { + fn = ConfigFile(AsString(tt.GetType()) + ":" + AsString(x)); + if(FileExists(fn)) { + LoadFromFile(vf, fn); + if(IsValueMap(tt)) { + RDUMP(ValueMap(vf)); + ASSERT(ValueMap(vf) == ValueMap(x)); + } + else { + RDUMP(vf.To()); + ASSERT(vf.To() == x); + } + } + } + Value v = x; + RDUMP(v); + ASSERT((T)v == x); + ASSERT(isvoid ? v.IsVoid() : v.Is()); + if(!isvoid) { + StoreToFile(v, fn); + RDUMP(GetValueTypeNo()); + ASSERT(v.GetType() == GetValueTypeNo()); + if(!tt.Is() && !tt.Is()) + ASSERT(v.To() == x); + ASSERT((T)(v) == x); + if(!tt.Is() && !tt.Is() && !tt.Is()) { + Value hh; + for(int i = 0; i < 2; i++) { + ASSERT(IsNull(hh.Get())); + ASSERT(IsNull((T)hh)); + hh = (int)Null; + } + } + } + if(!vf.IsVoid()) + ASSERT(vf == v); + String h = StoreAsString(v); + Value vv; + LoadFromString(vv, h); + RDUMP(vv); + ASSERT(vv == v); + T xx = vv; + RDUMP(xx); + ASSERT(vv == v); + + RDUMP(GetHashValue(v)); + RDUMP(GetHashValue(xx)); + ASSERT(!checkhash || GetHashValue(v) == GetHashValue(xx)); + + Value vn = (T)Null; + ASSERT(IsNull(vn) || vn.Is()); + + DLOG("----------"); + RDUMP(v); + String xml = StoreAsXML(v, "test"); + RDUMP(xml); + vv = Null; + LoadFromXML(vv, xml); + RDUMP(vv); + ASSERT(vv == v); + + String json = StoreAsJson(v); + RDUMP(json); + vv = Null; + LoadFromJson(vv, json); + RDUMP(vv); + ASSERT(vv == v); + + if(!tt.Is()) { + DLOG("----------"); + v = Null; + + RDUMP(v); + String data = StoreAsString(v); + vv = x; + LoadFromString(vv, data); + RDUMP(vv); + ASSERT(IsNull(vv)); + + RDUMP(v); + xml = StoreAsXML(v, "test"); + RDUMP(xml); + vv = x; + LoadFromXML(vv, xml); + RDUMP(vv); + ASSERT(IsNull(vv)); + + json = StoreAsJson(v); + RDUMP(json); + vv = x; + LoadFromJson(vv, json); + RDUMP(vv); + ASSERT(IsNull(vv)); + + DLOG("----------"); + T tx = Null; + ASSERT(IsNull(tx)); + data = StoreAsString(tx); + T ty = x; + LoadFromString(ty, data); + RDUMP(ty); + ASSERT(IsNull(ty)); + + RDUMP(v); + xml = StoreAsXML(tx, "test"); + RDUMP(xml); + ty = x; + LoadFromXML(ty, xml); + RDUMP(ty); + ASSERT(IsNull(ty)); + + json = StoreAsJson(tx); + RDUMP(json); + ty = x; + LoadFromJson(ty, json); + RDUMP(ty); + ASSERT(IsNull(vv)); + + RDUMP(v); + tx = x; + xml = StoreAsXML(tx, "test"); + RDUMP(xml); + ty = Null; + LoadFromXML(ty, xml); + RDUMP(ty); + ASSERT(StoreAsXML(tx, "X") == StoreAsXML(x, "X")); + + json = StoreAsJson(tx); + RDUMP(json); + ty = Null; + LoadFromJson(ty, json); + RDUMP(ty); + ASSERT(StoreAsJson(tx) == StoreAsJson(x)); + ASSERT(IsNull(vv)); + } +} + +#endif diff --git a/upptst/SvoValue/SvoValue.upp b/upptst/SvoValue/SvoValue.upp index 449d09c9b..da1fb42c6 100644 --- a/upptst/SvoValue/SvoValue.upp +++ b/upptst/SvoValue/SvoValue.upp @@ -4,7 +4,7 @@ optimize_speed; uses Core, - CtrlLib, + Painter, Painter; file @@ -15,6 +15,5 @@ file SvoValue.cpp optimize_speed; mainconfig - "" = "SSE2 SVO_VALUE GUI", - "" = "SSE2 OLD_VALUE GUI"; + "" = "SSE2"; diff --git a/upptst/SvoValue/init b/upptst/SvoValue/init index d7c69a540..a9410fc04 100644 --- a/upptst/SvoValue/init +++ b/upptst/SvoValue/init @@ -1,6 +1,5 @@ #ifndef _SvoValue_icpp_init_stub #define _SvoValue_icpp_init_stub #include "Core/init" -#include "CtrlLib/init" #include "Painter/init" #endif