コード例 #1
0
        internal Task SelectAsync(BlazorClient client, string value)
        {
            if (!Events.TryGetValue("change", out var changeEventDescriptor))
            {
                throw new InvalidOperationException("Element does not have a change event.");
            }

            var args = new TestChangeEventArgs
            {
                Value = value
            };

            var webEventDescriptor = new WebEventDescriptor
            {
                EventHandlerId = changeEventDescriptor.EventId,
                EventName      = "change",
                EventFieldInfo = new EventFieldInfo
                {
                    ComponentId = 0,
                    FieldValue  = value
                }
            };

            return(DispatchEventCore(client, webEventDescriptor, args));
        }
コード例 #2
0
        public Task ClickAsync(BlazorClient client)
        {
            if (!Events.TryGetValue("click", out var clickEventDescriptor))
            {
                throw new InvalidOperationException("Element does not have a click event.");
            }

            var mouseEventArgs = new TestMouseEventArgs
            {
                Type   = clickEventDescriptor.EventName,
                Detail = 1
            };
            var webEventDescriptor = new WebEventDescriptor
            {
                EventHandlerId = clickEventDescriptor.EventId,
                EventName      = "click",
            };

            return(DispatchEventCore(client, webEventDescriptor, mouseEventArgs));
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: Higourang/AspNetCor
        public static async Task <int> Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("a uri is required");
                return(1);
            }

            Console.WriteLine("Press the ANY key to begin.");
            Console.ReadLine();

            var uri = new Uri(args[0]);

            var client = new BlazorClient();

            client.JSInterop       += OnJSInterop;
            Console.CancelKeyPress += (sender, e) => client.Cancel();

            var done = new TaskCompletionSource <bool>(TaskCreationOptions.RunContinuationsAsynchronously);

            // Click the counter button 1000 times
            client.RenderBatchReceived += (int batchId, byte[] data) =>
            {
                if (batchId < 1000)
                {
                    var _ = client.ClickAsync("thecounter");
                }
                else
                {
                    done.TrySetResult(true);
                }
            };

            await client.ConnectAsync(uri, prerendered : true);

            await done.Task;

            return(0);
        }
コード例 #4
0
 private static Task DispatchEventCore(BlazorClient client, WebEventDescriptor descriptor, EventArgs eventArgs) =>
 client.DispatchEventAsync(descriptor, eventArgs);