Наследование: ILoadHandler, ILifeSpanHandler, IRequestHandler
        public void BrowserHandler_OnLoadError_UrlDoesNotContainStudioHomePage_RedirectsToServerDisconnected()
        {
            var browser = new Mock<IWebBrowser>();
            browser.Setup(b => b.Load(It.Is<string>(s => s.EndsWith(StringResources.Uri_Studio_PageMissing)))).Verifiable();

            var popupController = new Mock<IBrowserPopupController>();

            var handler = new BrowserHandler(popupController.Object);
            var errorText = "Not found";
            var result = handler.OnLoadError(browser.Object, "myfake.url", 404, ref errorText);
            Assert.IsTrue(result);
            browser.Verify(b => b.Load(It.Is<string>(s => s.EndsWith(StringResources.Uri_Studio_PageMissing))), Times.Once());
        }
Пример #2
0
        public void BrowserHandlerOnBeforePopupWithControllerShowPopupReturningFalseExpectedSetsIsPoppingToTrueAndReturnsFalse()
        {
            var browser = new Mock<IWebBrowser>();
            var popupController = new Mock<IBrowserPopupController>();
            popupController.Setup(p => p.ShowPopup(It.IsAny<string>())).Returns(false).Verifiable();

            var x = int.MinValue;
            var y = int.MinValue;
            var width = int.MinValue;
            var height = int.MinValue;

            var handler = new BrowserHandler(popupController.Object);
            var result = handler.OnBeforePopup(browser.Object, "myfake.url", ref x, ref y, ref width, ref height);

            popupController.Verify(p => p.ShowPopup(It.IsAny<string>()), Times.Once());
            Assert.IsTrue(handler.IsPopping);
            Assert.IsFalse(result);
        }
Пример #3
0
        public static void LoadSafe(this WebView browser, string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                return;
            }

            // PBI 9512 - 2013.06.07 - TWR: added
            // PBI 9644 - 2013.06.21 - TWR: added
            if (browser.LoadHandler == null)
            {
                var browserHandler = new BrowserHandler();
                browser.LoadHandler     = browserHandler;
                browser.LifeSpanHandler = browserHandler;
                browser.RequestHandler  = browserHandler;
            }

            if (browser.IsBrowserInitialized)
            {
                browser.Load(url);
                return;
            }

            PropertyChangedEventHandler handler = null;

            handler = (s, e) =>
            {
                if (e.PropertyName == "IsBrowserInitialized" && browser.IsBrowserInitialized)
                {
                    browser.PropertyChanged -= handler;
                    browser.Load(url);
                }
            };

            browser.PropertyChanged += handler;
        }
Пример #4
0
        public static void LoadSafe(this WebView browser, string url)
        {
            if(string.IsNullOrEmpty(url))
            {
                return;
            }

            // PBI 9512 - 2013.06.07 - TWR: added
            // PBI 9644 - 2013.06.21 - TWR: added            
            if(browser.LoadHandler == null)
            {
                var browserHandler = new BrowserHandler();
                browser.LoadHandler = browserHandler;
                browser.LifeSpanHandler = browserHandler;
                browser.RequestHandler = browserHandler;
            }

            if(browser.IsBrowserInitialized)
            {
                browser.Load(url);
                return;
            }

            PropertyChangedEventHandler handler = null;
            handler = (s, e) =>
            {
                if(e.PropertyName == "IsBrowserInitialized" && browser.IsBrowserInitialized)
                {
                    browser.PropertyChanged -= handler;
                    browser.Load(url);
                }
            };

            browser.PropertyChanged += handler;
        }
Пример #5
0
        public void BrowserHandler_GetAuthCredentials_SchemeIsNotNtlm_False()
        {
            //------------Setup for test--------------------------
            var handler = new BrowserHandler(new Mock<IBrowserPopupController>().Object);

            //------------Execute Test---------------------------
            var password = "";
            var username = "";
            var result = handler.GetAuthCredentials(new Mock<IWebBrowser>().Object, false, "", 0, "", "Basic", ref username, ref password);

            //------------Assert Results-------------------------
            Assert.IsFalse(result);
        }
Пример #6
0
 public void BrowserHandlerConstructorWithNoArgsExpectedCreatesExternalBrowserPopupController()
 {
     var handler = new BrowserHandler();
     Assert.IsInstanceOfType(handler.PopupController, typeof(ExternalBrowserPopupController));
 }
Пример #7
0
        void Verify_OnResourceResponse_RedirectsToPageUnauthorized(HttpStatusCode statusCode, bool redirects)
        {
            var hitCount = redirects ? 1 : 0;

            //------------Setup for test--------------------------
            var browser = new Mock<IWebBrowser>();
            browser.Setup(b => b.Load(It.Is<string>(s => s.EndsWith(StringResources.Uri_Studio_PageRestrictedAccess)))).Verifiable();

            var handler = new BrowserHandler(new Mock<IBrowserPopupController>().Object);

            //------------Execute Test---------------------------
            handler.OnResourceResponse(browser.Object, string.Empty, (int)statusCode, statusCode.ToString(), string.Empty, new WebHeaderCollection());

            //------------Assert Results-------------------------
            browser.Verify(b => b.Load(It.Is<string>(s => s.EndsWith(StringResources.Uri_Studio_PageRestrictedAccess))), Times.Exactly(hitCount));
        }
Пример #8
0
        public void BrowserHandler_OnResourceResponse_IsPoppingTrue_InvokesConfigurePopupAndResetsIsPopping()
        {
            var browser = new Mock<IWebBrowser>();
            var popupController = new Mock<IBrowserPopupController>();
            popupController.Setup(p => p.ShowPopup(It.IsAny<string>())).Returns(false);
            popupController.Setup(c => c.ConfigurePopup()).Verifiable();

            var x = int.MinValue;
            var y = int.MinValue;
            var width = int.MinValue;
            var height = int.MinValue;

            var handler = new BrowserHandler(popupController.Object);
            handler.OnBeforePopup(browser.Object, "myfake.url", ref x, ref y, ref width, ref height);

            Assert.IsTrue(handler.IsPopping);
            handler.OnResourceResponse(browser.Object, string.Empty, 0, string.Empty, string.Empty, new WebHeaderCollection());

            Assert.IsFalse(handler.IsPopping);
            popupController.Verify(c => c.ConfigurePopup(), Times.Once());
        }
Пример #9
0
        public void BrowserHandler_OnResourceResponse_IsPoppingFalse_DoesNotInvokeConfigurePopup()
        {
            var browser = new Mock<IWebBrowser>();
            var popupController = new Mock<IBrowserPopupController>();
            popupController.Setup(c => c.ConfigurePopup()).Verifiable();

            var handler = new BrowserHandler(popupController.Object);

            Assert.IsFalse(handler.IsPopping);

            handler.OnResourceResponse(browser.Object, string.Empty, 0, string.Empty, string.Empty, new WebHeaderCollection());

            Assert.IsFalse(handler.IsPopping);
            popupController.Verify(c => c.ConfigurePopup(), Times.Never());
        }
Пример #10
0
        public void BrowserHandler_OnBeforeResourceLoad_False()
        {
            //------------Setup for test--------------------------
            var handler = new BrowserHandler(new Mock<IBrowserPopupController>().Object);

            //------------Execute Test---------------------------
            var result = handler.OnBeforeResourceLoad(new Mock<IWebBrowser>().Object, new Mock<IRequestResponse>().Object);

            //------------Assert Results-------------------------
            Assert.IsFalse(result);
        }
Пример #11
0
        public void BrowserHandler_OnBeforeBrowse_False()
        {
            //------------Setup for test--------------------------
            var handler = new BrowserHandler(new Mock<IBrowserPopupController>().Object);

            //------------Execute Test---------------------------
            var result = handler.OnBeforeBrowse(new Mock<IWebBrowser>().Object, new Mock<IRequest>().Object, new NavigationType(), false);

            //------------Assert Results-------------------------
            Assert.IsFalse(result);
        }
Пример #12
0
        public void BrowserHandler_GetDownloadHandler_False()
        {
            //------------Setup for test--------------------------
            var handler = new BrowserHandler(new Mock<IBrowserPopupController>().Object);
            var downloadHandler = new Mock<IDownloadHandler>().Object;

            //------------Execute Test---------------------------
            var result = handler.GetDownloadHandler(new Mock<IWebBrowser>().Object, "", "", 0, ref downloadHandler);

            //------------Assert Results-------------------------
            Assert.IsFalse(result);
        }