From 924c130eca0c626d7da8c38788137ab6fac475e8 Mon Sep 17 00:00:00 2001 From: Seungkeun Lee Date: Tue, 27 Sep 2016 08:59:45 +0900 Subject: [PATCH] Add BoxLayout TC Change-Id: I83ca9c8a12e4cd4fc0e714ee68e4f8f4aeac977d --- test/ElmSharp.Test/ElmSharp.Test.csproj | 1 + test/ElmSharp.Test/TC/BoxLayoutTest1.cs | 96 +++++++++++++++++++++++++++++++++ test/ElmSharp.Test/TC/IndexTest1.cs | 5 ++ 3 files changed, 102 insertions(+) create mode 100644 test/ElmSharp.Test/TC/BoxLayoutTest1.cs diff --git a/test/ElmSharp.Test/ElmSharp.Test.csproj b/test/ElmSharp.Test/ElmSharp.Test.csproj index 4dbd9e0..02c92a5 100644 --- a/test/ElmSharp.Test/ElmSharp.Test.csproj +++ b/test/ElmSharp.Test/ElmSharp.Test.csproj @@ -43,6 +43,7 @@ + diff --git a/test/ElmSharp.Test/TC/BoxLayoutTest1.cs b/test/ElmSharp.Test/TC/BoxLayoutTest1.cs new file mode 100644 index 0000000..e08df62 --- /dev/null +++ b/test/ElmSharp.Test/TC/BoxLayoutTest1.cs @@ -0,0 +1,96 @@ +using System; +using System.Linq; + +namespace ElmSharp.Test +{ + public class BoxLayoutTest1 : TestCaseBase + { + public override string TestName => "BoxLayoutTest1"; + public override string TestDescription => "Box Layout callback test"; + + Naviframe _navi; + int _sequence = 0; + + public override void Run(Window window) + { + Conformant conformant = new Conformant(window); + conformant.Show(); + + Naviframe navi = new Naviframe(window) + { + PreserveContentOnPop = true, + DefaultBackButtonEnabled = true + }; + _navi = navi; + + navi.Popped += (s, e) => + { + Console.WriteLine("----- Naviframe was popped {0:x} ", (int)(IntPtr)e.Content); + }; + + navi.Push(CreatePage(window), "0 Page"); + navi.Show(); + conformant.SetContent(navi); + } + + EvasObject CreatePage(Window parent) + { + Box box = new Box(parent); + box.Show(); + + Label label = new Label(parent) + { + Text = string.Format("{0} Page", _sequence++), + WeightX = 1, + AlignmentX = -1, + }; + Button push = new Button(parent) + { + Text = "Push", + WeightX = 1, + AlignmentX = -1, + }; + Button pop = new Button(parent) + { + Text = "pop", + WeightX = 1, + AlignmentX = -1, + }; + + label.Show(); + push.Show(); + pop.Show(); + + push.Clicked += (s, e) => + { + _navi.Push(CreatePage(parent), string.Format("{0} Page", _sequence - 1)); + }; + + pop.Clicked += (s, e) => + { + var item = _navi.NavigationStack.LastOrDefault(); + int nativePointer = (int)(IntPtr)(item.Content); + Console.WriteLine("----- Before Call _navi.Pop() {0:x} ", nativePointer); + _navi.Pop(); + Console.WriteLine("----- After Call _navi.Pop() {0:x} ", nativePointer); + }; + + push.Resize(500, 100); + pop.Resize(500, 100); + label.Resize(500, 100); + box.SetLayoutCallback(() => + { + Console.WriteLine("Layout callback with : {0}", box.Geometry); + var rect = box.Geometry; + label.Move(rect.X, rect.Y); + push.Move(rect.X, rect.Y + 100); + pop.Move(rect.X, rect.Y + 200); + }); + + box.PackEnd(label); + box.PackEnd(push); + box.PackEnd(pop); + return box; + } + } +} diff --git a/test/ElmSharp.Test/TC/IndexTest1.cs b/test/ElmSharp.Test/TC/IndexTest1.cs index 71883f6..fcceb74 100644 --- a/test/ElmSharp.Test/TC/IndexTest1.cs +++ b/test/ElmSharp.Test/TC/IndexTest1.cs @@ -84,6 +84,11 @@ namespace ElmSharp.Test index.Update(0); box.PackEnd(list); box.PackEnd(index); + box.SetLayoutCallback(() => + { + list.Geometry = box.Geometry; + index.Geometry = box.Geometry; + }); conformant.SetContent(box); } -- 2.7.4