public void Test_DoubleRegister_Shoul_Generate_Error()
        {
            _NavigationBuilder.Register <object>("javascript\\index.html");

            Action Failed = () => _NavigationBuilder.Register <object>("javascript\\index.html");

            Failed.ShouldThrow <ArgumentException>();
        }
Example #2
0
        public async Task NavigateAsync_ShouldWaitForAnimationEnd()
        {
            await Test(async (wpfnav, _) =>
            {
                var vm = new VM();
                wpfnav.Should().NotBeNull();

                _NavigationBuilder.Register <VM>(GetRelativePath(TestContext.AnimatedNavigation));

                wpfnav.UseINavigable = true;

                DateTime?opened   = null;
                DisplayEvent de   = null;
                wpfnav.OnDisplay += (o, e) => { opened = DateTime.Now; de = e; };

                await wpfnav.NavigateAsync(vm);
                var nav = DateTime.Now;

                await Task.Delay(3000);

                de.Should().NotBeNull();
                de.DisplayedViewModel.Should().Be(vm);
                opened.HasValue.Should().BeTrue();
                opened.Value.Subtract(nav).Should().BeCloseTo(TimeSpan.FromSeconds(2), 100);
            });
        }
Example #3
0
        public void Test_WPFBrowserNavigator_Simple()
        {
            var vm = new VM();

            TestNavigation((wpfnav, WindowTest)
                           =>
            {
                wpfnav.Should().NotBeNull();
                _INavigationBuilder.Register <VM>("Navigation data\\index.html");
                wpfnav.UseINavigable = true;

                var mre         = new ManualResetEvent(false);
                DateTime?nav    = null;
                DateTime?Opened = null;
                DisplayEvent de = null;

                wpfnav.OnDisplay += (o, e) => { Opened = DateTime.Now; de = e; };

                WindowTest.RunOnUIThread(
                    () =>
                {
                    wpfnav.NavigateAsync(vm).ContinueWith
                    (
                        t =>
                    {
                        vm.Navigation.Should().Be(wpfnav);
                        nav = DateTime.Now;
                        mre.Set();
                    });
                });

                mre.WaitOne();
                mre = new ManualResetEvent(false);
                Thread.Sleep(4500);

                de.Should().NotBeNull();
                de.DisplayedViewModel.Should().Be(vm);
                Opened.HasValue.Should().BeTrue();
                Opened.Value.Subtract(nav.Value).Should().BeGreaterThan(TimeSpan.FromSeconds(2)).
                And.BeLessOrEqualTo(TimeSpan.FromSeconds(3));

                WindowTest.RunOnUIThread(
                    () =>
                {
                    wpfnav.NavigateAsync(vm).ContinueWith
                    (
                        t =>
                    {
                        mre.Set();
                    });
                });

                mre.WaitOne();
                Thread.Sleep(500);
                vm.Navigation.Should().Be(wpfnav);
            });
        }
Example #4
0
        public void Test_WPFBrowserNavigator_Register_ShouldNotAceptBadPath()
        {
            _INavigationBuilder.Should().NotBeNull();
            Action wf = () =>
            {
                _INavigationBuilder.Register <A1>("javascript\\navigationk_1.html");
            };

            wf.ShouldThrow <Exception>();

            wf = () =>
            {
                _INavigationBuilder.RegisterAbsolute <A1>("C:\\javascript\\navigationk_1.html");
            };
            wf.ShouldThrow <Exception>();

            wf = () =>
            {
                _INavigationBuilder.Register <A1>(new Uri("C:\\navigationk_1.html"));
            };
            wf.ShouldThrow <Exception>();
        }