protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context)
        {
            string classValue = attributeBag.GetAttributeValue("class");

            if (classValue == null)
                classValue = attributeBag.GetAttributeValue("ClassName");

            if (classValue == null)
                return false;

            return _comparer.Compare(classValue);
        }
Example #2
0
        private static void VerifyComparerIsUsed(string tagname, bool expectedResult)
        {
            var INativeElementStub = new Mock <INativeElement>();
            var domContainerMock   = new Mock <DomContainer>();
            var element            = new Element(domContainerMock.Object, INativeElementStub.Object);

            INativeElementStub.Expect(native => native.TagName).Returns("testtagname");

            var elementComparerMock = new ElementComparerMock(tagname);
            var elementConstraint   = new ElementConstraint(elementComparerMock);

            ConstraintContext context = new ConstraintContext();

            Assert.That(elementConstraint.Matches(element, context) == expectedResult);
        }
Example #3
0
        public void Find_bytext_should_match_equal_innertext()
        {
            // GIVEN
            const string innerText = "textvalue";

            var mockAttributeBag = new MockAttributeBag("innertext", innerText);
            var context          = new ConstraintContext();

            // WHEN
            var value   = Find.ByText("textvalue");
            var matches = value.Matches(mockAttributeBag, context);

            // THEN
            Assert.That(matches, Is.True, "Should match");
        }
Example #4
0
        public void Find_bytext_should_match_when_text_to_find_contains_regex_char()
        {
            // GIVEN
            const string innerTextWithSpaces = "textvalue?";

            var mockAttributeBag = new MockAttributeBag("innertext", innerTextWithSpaces);
            var context          = new ConstraintContext();

            // WHEN
            var value   = Find.ByText("textvalue?");
            var matches = value.Matches(mockAttributeBag, context);

            // THEN
            Assert.That(matches, Is.True, "Should match");
        }
Example #5
0
        private IEnumerable <Element> WrapMatchingElements(IEnumerable <INativeElement> nativeElements)
        {
            var context = new ConstraintContext();

            foreach (var nativeElement in nativeElements)
            {
                var element = WrapElementIfMatch(nativeElement, context);
                if (element == null)
                {
                    continue;
                }

                yield return(element);
            }
        }
        /// <inheritdoc />
        public override IEnumerable <IE> GetComponents()
        {
            var context = new ConstraintContext();

            foreach (IE ie in internetExplorers)
            {
                if (ie.Matches(findBy, context))
                {
                    if (waitForComplete)
                    {
                        ie.WaitForComplete();
                    }
                    yield return(ie);
                }
            }
        }
        protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context)
        {
            string classValue = attributeBag.GetAttributeValue("class");

            if (classValue == null)
            {
                classValue = attributeBag.GetAttributeValue("ClassName");
            }

            if (classValue == null)
            {
                return(false);
            }

            return(_comparer.Compare(classValue));
        }
        /// <inheritdoc />
        protected override IEnumerable <HtmlDialog> GetComponents()
        {
            var context = new ConstraintContext();

            foreach (var htmlDialog in htmlDialogs)
            {
                if (!htmlDialog.Matches(findBy, context))
                {
                    continue;
                }
                if (waitForComplete)
                {
                    htmlDialog.WaitForComplete();
                }
                yield return(htmlDialog);
            }
        }
        public void TestMatchesImpl()
        {
            Mock <IAttributeBag> attributeBag      = new Mock <IAttributeBag>();
            ConstraintContext    constraintContext = new ConstraintContext();
            Mock <Constraint>    constraint        = new Mock <Constraint>();

            constraint.Expect(c => c.MatchesImpl(attributeBag.Object, constraintContext))
            .Verifiable();

            CssSelectorConstraint_allowingMockedInternal sut = new CssSelectorConstraint_allowingMockedInternal();

            sut.SetActualConstraint(constraint.Object);

            sut.MatchesImpl(attributeBag.Object, constraintContext);

            constraint.Verify();
        }
Example #10
0
File: IE.cs Project: minskowl/MY
        private static IE FindIEPartiallyInitialized(Constraint findBy)
        {
            var allBrowsers = new ShellWindows2();

            var context = new ConstraintContext();

            foreach (IWebBrowser2 browser in allBrowsers)
            {
                var ie = new IE(browser, false);
                if (ie.Matches(findBy, context))
                {
                    return(ie);
                }
            }

            return(null);
        }
        private static void VerifyComparerIsUsed(string tagname, bool expectedResult)
        {
            var nativeElementMock = new Mock <INativeElement>();
            var domContainerMock  = new Mock <DomContainer>();

            nativeElementMock.Expect(x => x.IsElementReferenceStillValid()).Returns(true);
            var element = new Element(domContainerMock.Object, nativeElementMock.Object);

            nativeElementMock.Expect(native => native.TagName).Returns("testtagname");

            var elementComparerMock = new ElementComparerMock(tagname);
            var elementConstraint   = new ElementConstraint(elementComparerMock);

            ConstraintContext context = new ConstraintContext();

            Assert.That(elementConstraint.Matches(element, context) == expectedResult);
        }
        internal IE FindIEPartiallyInitialized(Constraint findBy)
        {
            var allBrowsers = new ShellWindows2();

            var context = new ConstraintContext();

            foreach (IWebBrowser2 browser in allBrowsers)
            {
                var ie = CreateBrowserInstance(new IEBrowser(browser));
                if (ie.Matches(findBy, context))
                {
                    return(ie);
                }
            }

            return(null);
        }
        public void IdWithRegexAndComparer()
        {
            var context          = new ConstraintContext();
            var mockAttributeBag = new MockAttributeBag("id", "idvalue");

            Constraint value = Find.ById(new Regex("lue$"));

            Assert.IsTrue(value.Matches(mockAttributeBag, context), "Regex lue$ should match.");

            // See if mocked comparer is used. VerifyAll will check this
            var comparerMock = new Mock <Comparer <string> >();

            comparerMock.Expect(comparer => comparer.Compare("MyMockComparer")).Returns(true);

            mockAttributeBag = new MockAttributeBag("id", "MyMockComparer");
            Find.ById(comparerMock.Object).Matches(mockAttributeBag, context);

            comparerMock.VerifyAll();
        }
Example #14
0
        /// <inheritdoc />
        public virtual bool Exists(Constraint findBy)
        {
            if (findBy == null)
            {
                throw new ArgumentNullException("findBy");
            }

            var context = new ConstraintContext();

            foreach (TComponent component in this)
            {
                if (component.Matches(findBy, context))
                {
                    return(true);
                }
            }

            return(false);
        }
        private static void AssertUrlValue(AttributeConstraint value)
        {
            Assert.AreEqual(Href, value.AttributeName, "Wrong attributename");
            Assert.That(value.Comparer.ToString(), Text.Contains("'" + WatiNURI.AbsoluteUri + "'"), "Wrong value");

            var mockAttributeBag = new MockAttributeBag(Href, WatiNURI.AbsoluteUri);
            var context          = new ConstraintContext();

            Assert.IsTrue(value.Matches(mockAttributeBag, context), "Should match WatiN url");

            mockAttributeBag = new MockAttributeBag(Href, "http://www.microsoft.com");
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Shouldn't match Microsoft");

            mockAttributeBag = new MockAttributeBag(Href, null);
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Null should not match");

            mockAttributeBag = new MockAttributeBag(Href, String.Empty);
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Null should not match");
        }
Example #16
0
        private Element WrapElementIfMatch(INativeElement nativeElement, ConstraintContext context)
        {
            nativeElement.WaitUntilReady();

            if (IsMatchByTag(nativeElement))
            {
                var element = WrapElement(nativeElement);
                if (element == null)
                {
                    return(null);
                }

                if (IsMatchByConstraint(element, context))
                {
                    return(element);
                }
            }

            return(null);
        }
        public void FindByID()
        {
            var value = Find.ById("idvalue");

            Assert.IsInstanceOf(typeof(Constraint), value, "Id class should inherit Attribute class");
            Assert.That(value.Comparer, Is.TypeOf(typeof(StringComparer)), "Unexpected comparer");

            const string id = "id";

            Assert.AreEqual(id, value.AttributeName, "Wrong attributename");
            Assert.That(value.Comparer.ToString(), Text.Contains("'idvalue'"), "Wrong value");

            var mockAttributeBag = new MockAttributeBag("id", "idvalue");
            var context          = new ConstraintContext();

            value = Find.ById(new StringContainsAndCaseInsensitiveComparer("Val"));
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used");

            value = Find.ById(text => text == "idvalue");
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used");
        }
        public void RecusiveCallExceptionExpected()
        {
            var mockAttributeBag = new Mock <IAttributeBag>();

            // Note: Creating a re-entrant constraint is now much more difficult than
            //       before because constraints are immutable.  Even the code findBy |= findBy
            //       will not create a re-entrant constraint, it will just be an Or constraint
            //       with two identical clauses.  Given this change in constraint construction
            //       we should consider removing the re-entrance checks in the future.  -- Jeff.
            Constraint findBy = Find.By("tag", "value");

            findBy |= new PredicateConstraint <IAttributeBag>(bag => findBy.Matches(bag, new ConstraintContext()));

            ConstraintContext context = new ConstraintContext();

            mockAttributeBag.Expect(bag => bag.GetAttributeValue("tag")).Returns("val");
            mockAttributeBag.Expect(bag => bag.GetAdapter <IAttributeBag>()).Returns(mockAttributeBag.Object);

            findBy.Matches(mockAttributeBag.Object, context);

            mockAttributeBag.VerifyAll();
        }
Example #19
0
        public void FindBy()
        {
            const string id    = "id";
            var          value = Find.By(id, "idvalue");

            Assert.That(value.Comparer, Is.TypeOf(typeof(StringComparer)), "Unexpected comparer");

            Assert.AreEqual(id, value.AttributeName, "Wrong attributename");
            Assert.That(value.Comparer.ToString(), Text.Contains("'idvalue'"), "Wrong value");

            var mockAttributeBag = new MockAttributeBag(id, "idvalue");
            var context          = new ConstraintContext();

            Assert.IsTrue(value.Matches(mockAttributeBag, context), "Compare should match");

            mockAttributeBag = new MockAttributeBag(id, "id");
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match id");

            mockAttributeBag = new MockAttributeBag(id, "val");
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match val");

            mockAttributeBag = new MockAttributeBag(id, "value");
            Assert.IsFalse(value.Matches(mockAttributeBag, context), "Compare should not partial match value");

            var regex = new Regex("lue$");

            value            = Find.By(id, regex);
            mockAttributeBag = new MockAttributeBag(id, "idvalue");

            Assert.IsTrue(value.Matches(mockAttributeBag, context), "Regex lue$ should match");

            value = Find.By(id, new StringContainsAndCaseInsensitiveComparer("dVal"));
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used");

            _expectedPredicateCompareValue = "idvalue";
            value = Find.By(id, TestPredicateCompareMethod);
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used");
        }
        public void FindByUrl()
        {
            var url   = WatiNURI.AbsoluteUri;
            var value = Find.ByUrl(url);

            Assert.IsInstanceOf(typeof(Constraint), value, "Url class should inherit AttributeConstraint class");
            Assert.That(value.Comparer, Is.TypeOf(typeof(UriComparer)), "Unexpected comparer");
            AssertUrlValue(value);

            // make sure overload also works
            value = Find.ByUrl(url, true);

            Assert.IsInstanceOf(typeof(Constraint), value, "Url class should inherit AttributeConstraint class");
            AssertUrlValue(value);

            var mockAttributeBag = new MockAttributeBag("href", url);
            var context          = new ConstraintContext();

            value = Find.ByUrl(new StringContainsAndCaseInsensitiveComparer("/watin.Sour"));
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "Comparer not used");

            value = Find.ByUrl(text => text == url);
            Assert.That(value.Matches(mockAttributeBag, context), Is.True, "PredicateComparer not used");
        }
Example #21
0
 void ICheckConstraint <Library> .ExecuteConstraint(Library mel, ConstraintContext ctx)
 {
 }
Example #22
0
 private bool IsMatchByConstraint(Component element, ConstraintContext context)
 {
     return(element.Matches(Constraint, context));
 }
Example #23
0
        protected override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context)
        {
            var element = attributeBag.GetAdapter <Element>();

            return(element != null && Comparer.Compare(IsVisible(element).ToString()));
        }
Example #24
0
        protected override bool MatchesImpl(WatiN.Core.Interfaces.IAttributeBag attributeBag, ConstraintContext context)
        {
            var element = attributeBag as Element;

            if (element == null)
            {
                var frame = attributeBag as Frame;
                if (frame != null)
                {
                    element = frame.FrameElement;
                }
            }
            var nativeElement = element.NativeElement as IEElement;

            mshtml.IHTMLElement el = nativeElement.AsHtmlElement;
            return(XPathCompare((IHTMLDOMNode)el));
        }
Example #25
0
 public override bool MatchesImpl(IAttributeBag attributeBag, ConstraintContext context)
 {
     return(ActualConstraint.MatchesImpl(attributeBag, context));
 }
Example #26
0
 public override bool Allow(MySub message, ConstraintContext context, dynamic constraint)
 {
     called[GetType()] = true;
     return(results[GetType()]);
 }
Example #27
0
 public override bool Allow(IOuterGeneric <EntityBase> message, ConstraintContext context, dynamic constraint)
 {
     Called = true;
     return(true);
 }
Example #28
0
 public void OnGui(Rect position, bool addSearchField, Action <Type> onSelect, Type activeType, Type parentType)
 {
     ConstraintContext.ApplyTarget(parentType);
     OnGui(position, addSearchField, onSelect, activeType);
 }
 /// <summary>
 /// Returns true if the component matches the specified constraint.
 /// </summary>
 /// <param name="constraint">The constraint to match, not null</param>
 /// <param name="context">The constraint context, not null</param>
 /// <returns>True if the component matches the constraint</returns>
 public bool MatchesImpl(Constraint constraint, ConstraintContext context)
 {
     return(constraint.Matches(this, context));
 }
Example #30
0
 public override bool Allow(ConstrainedEvent message, ConstraintContext context, ConstrainedEventConstraint constraint)
 {
     return(message.Message == constraint.Message);
 }
Example #31
0
 public override bool Allow(MySub message, ConstraintContext context, dynamic constraint)
 {
     return(true);
 }