public void Or_Nesting_Class_Matches() { var control = new Control1 { Classes = { "foo" } }; Style nested; var parent = new Style(x => x.OfType <Control1>()) { Children = { (nested = new Style(x => Selectors.Or( x.Nesting().Class("foo"), x.Nesting().Class("bar")))), } }; var match = nested.Selector.Match(control, parent); Assert.Equal(SelectorMatchResult.Sometimes, match.Result); var sink = new ActivatorSink(match.Activator); Assert.True(sink.Active); control.Classes.Clear(); Assert.False(sink.Active); }
public void Double_Nesting_Class_Matches() { var control = new Control1 { Classes = { "foo", "bar" }, }; Style parent; Style nested; var grandparent = new Style(x => x.OfType <Control1>()) { Children = { (parent = new Style(x => x.Nesting().Class("foo")) { Children = { (nested = new Style(x => x.Nesting().Class("bar"))) } }) } }; var match = nested.Selector.Match(control, parent); Assert.Equal(SelectorMatchResult.Sometimes, match.Result); var sink = new ActivatorSink(match.Activator); Assert.True(sink.Active); control.Classes.Remove("foo"); Assert.False(sink.Active); }