Beispiel #1
0
        public void WebBrowser_AllowNavigation_SetWithSink_GetReturnsExpected(bool value)
        {
            var parent = new Control();

            using var control = new SubWebBrowser
                  {
                      Parent = parent
                  };
            control.CreateSink();

            control.AllowNavigation = value;
            Assert.Equal(value, control.AllowNavigation);
            Assert.NotNull(control.ActiveXInstance);
            Assert.True(control.IsHandleCreated);

            // Set same.
            control.AllowNavigation = value;
            Assert.Equal(value, control.AllowNavigation);
            Assert.NotNull(control.ActiveXInstance);
            Assert.True(control.IsHandleCreated);

            // Set different.
            control.AllowNavigation = !value;
            Assert.Equal(!value, control.AllowNavigation);
            Assert.NotNull(control.ActiveXInstance);
            Assert.True(control.IsHandleCreated);
        }
Beispiel #2
0
        public void WebBrowser_AttachInterfaces_Invoke_Success()
        {
            object nativeActiveXObject = null;

            try
            {
                Type t = Type.GetTypeFromCLSID(new Guid("0002DF01-0000-0000-C000-000000000046"));
                nativeActiveXObject = Activator.CreateInstance(t);
            }
            catch (COMException)
            {
                // Windows doesn't have IE browser capability installed,
                // run 'Get-WindowsCapability -online' for more details
                //
                // xUnit doesn't support dynamic test skipping, https://github.com/xunit/xunit/issues/2073
                // just return. The test will be marked as success, but it is better than just fail.
                //
                //Skip.If(true, "Windows doesn't have IE browser capability installed");
                return;
            }

            using var control = new SubWebBrowser();
            control.AttachInterfaces(nativeActiveXObject);

            // Attach again.
            control.AttachInterfaces(nativeActiveXObject);
            control.DetachInterfaces();

            // Attach null.
            control.AttachInterfaces(null);
        }
Beispiel #3
0
        public void WebBrowserSiteBase_RunInteropTests()
        {
            var browser             = new SubWebBrowser();
            WebBrowserSiteBase site = browser.CreateWebBrowserSiteBase();

            AssertSuccess(Test_WebBrowserSiteBase(site));
        }
Beispiel #4
0
        public void WebBrowser_CreateWebBrowserSiteBase_Invoke_ReturnsExpected()
        {
            using var control = new SubWebBrowser();
            WebBrowserSiteBase siteBase = control.CreateWebBrowserSiteBase();

            Assert.NotNull(siteBase);
            Assert.NotSame(siteBase, control.CreateWebBrowserSiteBase());
        }
Beispiel #5
0
        public void WebBrowser_CreateSink_InvokeWithoutInstance_Nop(bool allowNavigation)
        {
            using var control = new SubWebBrowser
                  {
                      AllowNavigation = allowNavigation
                  };
            control.CreateSink();
            Assert.Null(control.ActiveXInstance);
            Assert.False(control.IsHandleCreated);

            control.CreateSink();
            Assert.Null(control.ActiveXInstance);
            Assert.False(control.IsHandleCreated);
        }
Beispiel #6
0
        public void WebBrowser_CreateSink_InvokeWithoutInstance_Nop(bool allowNavigation)
        {
            var browser = new SubWebBrowser
            {
                AllowNavigation = allowNavigation
            };

            browser.CreateSink();
            Assert.Null(browser.ActiveXInstance);
            Assert.False(browser.IsHandleCreated);

            browser.CreateSink();
            Assert.Null(browser.ActiveXInstance);
            Assert.False(browser.IsHandleCreated);
        }
Beispiel #7
0
        public void WebBrowser_AttachInterfaces_Invoke_Success()
        {
            Type t = Type.GetTypeFromCLSID(new Guid("0002DF01-0000-0000-C000-000000000046"));
            var  nativeActiveXObject = Activator.CreateInstance(t);

            using var control = new SubWebBrowser();
            control.AttachInterfaces(nativeActiveXObject);

            // Attach again.
            control.AttachInterfaces(nativeActiveXObject);
            control.DetachInterfaces();

            // Attach null.
            control.AttachInterfaces(null);
        }
Beispiel #8
0
        public void WebBrowser_CreateSink_InvokeWithInstance_Success(bool allowNavigation)
        {
            using var parent  = new Control();
            using var control = new SubWebBrowser
                  {
                      AllowNavigation = allowNavigation,
                      Parent          = parent
                  };
            control.CreateSink();
            Assert.NotNull(control.ActiveXInstance);
            Assert.True(control.IsHandleCreated);

            control.CreateSink();
            Assert.NotNull(control.ActiveXInstance);
            Assert.True(control.IsHandleCreated);
        }
Beispiel #9
0
        public void WebBrowser_CreateSink_InvokeWithInstance_Success(bool allowNavigation)
        {
            var parent  = new Control();
            var browser = new SubWebBrowser
            {
                AllowNavigation = allowNavigation,
                Parent          = parent
            };

            browser.CreateSink();
            Assert.NotNull(browser.ActiveXInstance);
            Assert.True(browser.IsHandleCreated);

            browser.CreateSink();
            Assert.NotNull(browser.ActiveXInstance);
            Assert.True(browser.IsHandleCreated);
        }
Beispiel #10
0
 public void WebBrowser_AttachInterfaces_InvalidNativeActiveXObject_ThrowsInvalidCastException()
 {
     using var control = new SubWebBrowser();
     Assert.Throws <InvalidCastException>(() => control.AttachInterfaces(new object()));
 }
Beispiel #11
0
        public void WebBrowser_Ctor()
        {
            using var control = new SubWebBrowser();
            Assert.Null(control.ActiveXInstance);
            Assert.False(control.AllowDrop);
            Assert.True(control.AllowNavigation);
            Assert.Equal(AnchorStyles.Top | AnchorStyles.Left, control.Anchor);
            Assert.False(control.AutoSize);
            Assert.Equal(Control.DefaultBackColor, control.BackColor);
            Assert.Null(control.BackgroundImage);
            Assert.Equal(ImageLayout.Tile, control.BackgroundImageLayout);
            Assert.Null(control.BindingContext);
            Assert.Equal(250, control.Bottom);
            Assert.Equal(new Rectangle(0, 0, 250, 250), control.Bounds);
            Assert.True(control.CanEnableIme);
            Assert.True(control.CanRaiseEvents);
            Assert.False(control.CanSelect);
            Assert.True(control.CausesValidation);
            Assert.Equal(new Size(250, 250), control.ClientSize);
            Assert.Equal(new Rectangle(0, 0, 250, 250), control.ClientRectangle);
            Assert.Null(control.Container);
            Assert.Null(control.ContextMenuStrip);
            Assert.Empty(control.Controls);
            Assert.Same(control.Controls, control.Controls);
            Assert.False(control.Created);
            Assert.Same(Cursors.Default, control.Cursor);
            Assert.Same(Cursors.Default, control.DefaultCursor);
            Assert.Equal(ImeMode.Inherit, control.DefaultImeMode);
            Assert.Equal(new Padding(3), control.DefaultMargin);
            Assert.Equal(Size.Empty, control.DefaultMaximumSize);
            Assert.Equal(Size.Empty, control.DefaultMinimumSize);
            Assert.Equal(Padding.Empty, control.DefaultPadding);
            Assert.Equal(new Size(250, 250), control.DefaultSize);
            Assert.False(control.DesignMode);
            Assert.Equal(new Rectangle(0, 0, 250, 250), control.DisplayRectangle);
            Assert.Equal(DockStyle.None, control.Dock);
            Assert.False(control.DoubleBuffered);
            Assert.True(control.Enabled);
            Assert.NotNull(control.Events);
            Assert.Same(control.Events, control.Events);
            Assert.Equal(Control.DefaultFont, control.Font);
            Assert.Equal(control.Font.Height, control.FontHeight);
            Assert.Equal(Control.DefaultForeColor, control.ForeColor);
            Assert.False(control.HasChildren);
            Assert.Equal(250, control.Height);
            Assert.Equal(ImeMode.NoControl, control.ImeMode);
            Assert.Equal(ImeMode.NoControl, control.ImeModeBase);
            Assert.NotNull(control.LayoutEngine);
            Assert.Same(control.LayoutEngine, control.LayoutEngine);
            Assert.Equal(0, control.Left);
            Assert.Equal(Point.Empty, control.Location);
            Assert.Equal(new Padding(3), control.Margin);
            Assert.Equal(Size.Empty, control.MaximumSize);
            Assert.Equal(Size.Empty, control.MinimumSize);
            Assert.Equal(Padding.Empty, control.Padding);
            Assert.Null(control.Parent);
            Assert.Equal("Microsoft\u00AE .NET", control.ProductName);
            Assert.Equal(new Size(250, 250), control.PreferredSize);
            Assert.False(control.RecreatingHandle);
            Assert.Null(control.Region);
            Assert.False(control.ResizeRedraw);
            Assert.Equal(250, control.Right);
            Assert.Equal(RightToLeft.No, control.RightToLeft);
            Assert.Null(control.Site);
            Assert.Equal(new Size(250, 250), control.Size);
            Assert.Equal(0, control.TabIndex);
            Assert.True(control.TabStop);
            Assert.Empty(control.Text);
            Assert.Equal(0, control.Top);
            Assert.Null(control.TopLevelControl);
            Assert.True(control.Visible);
            Assert.Equal(250, control.Width);

            Assert.False(control.IsHandleCreated);
        }