Пример #1
0
        public async void AddRemoveHandlerRegistry()
        {
            CreateMessageContext();

            var document = DomOperationsTesting.CreateDocument();
            var x        = new MessageRegistry(document);
            var counter  = 0;

            Task Handler(MessageEventArgs args)
            {
                counter++;
                return(Task.CompletedTask);
            }

            x.Add("a", Handler);
            await document.Head.NotifyEvent("_a");

            Assert.Equal(1, counter);

            x.Remove("b", Handler);
            await document.Head.NotifyEvent("_a");

            Assert.Equal(2, counter);

            x.Remove("a", Handler);
            await document.Head.NotifyEvent("_a");

            Assert.Equal(2, counter);
        }
Пример #2
0
        public void TooManyPops()
        {
            var root    = Element.Create("div");
            var builder = new LaraBuilder(root);

            builder.Push("button", "red").Pop();
            DomOperationsTesting.Throws <InvalidOperationException>(() => builder.Pop());
        }
Пример #3
0
        public void DocumentOnMessageRuns()
        {
            CreateMessageContext();
            var doc     = DomOperationsTesting.CreateDocument();
            var counter = 0;

            Task Handler()
            {
                counter++;
                return(Task.CompletedTask);
            }

            doc.OnMessage("a", Handler);
            doc.Head.NotifyEvent("_a");
            Assert.Equal(1, counter);
        }
Пример #4
0
        public void DocumentProcessesMessageListeners()
        {
            CreateMessageContext();
            var doc     = DomOperationsTesting.CreateDocument();
            var counter = 0;

            Task Handler(MessageEventArgs args)
            {
                counter++;
                return(Task.CompletedTask);
            }

            doc.AddMessageListener("a", Handler);
            doc.Head.NotifyEvent("_a");
            Assert.Equal(1, counter);
            doc.RemoveMessageListener("a", Handler);
            doc.Head.NotifyEvent("_a");
            Assert.Equal(1, counter);
        }
Пример #5
0
 public void ElementNeedsTag()
 {
     DomOperationsTesting.Throws <ArgumentException>(() => Element.Create(""));
 }