コード例 #1
0
        public static void AssemblyInitialize(TestContext testContext)
        {
            Mock <IJavaScriptExecutionHandler> javaScriptExecutionHandlerMock = new Mock <IJavaScriptExecutionHandler>();

            javaScriptExecutionHandlerMock
            .Setup(x => x.ExecuteJavaScriptWithResult(It.IsAny <string>()))
            .Returns <string>(param =>
            {
                // Mocks INTERNAL_GridHelpers isCSSGridSupported() and isMSGrid()
                // JS code example is: document.callScriptSafe("14","document.isGridSupported",9)
                if (Regex.Matches(param, @"document.callScriptSafe\(""\d+"",""document.isGridSupported"",\d+\)").Count == 1 ||
                    Regex.Matches(param, @"document.callScriptSafe\(""\d+"",""document.isMSGrid"",\d+\)").Count == 1)
                {
                    return(JsonDocument.Parse("false").RootElement);
                }
                // Mocks Simulator portion of UIElement.TransformToVisual
                // JS code example is:
                // document.callScriptSafe("154","(document.getElementByIdSafe(\"id31\").getBoundingClientRect().left -
                // document.getElementByIdSafe(\"id1\").getBoundingClientRect().left) + '|' +
                // (document.getElementByIdSafe(\"id31\").getBoundingClientRect().top -
                // document.getElementByIdSafe(\"id1\").getBoundingClientRect().top)",108)
                else if (Regex.Matches(param, @"document.callScriptSafe\(""\d+"",""\(.+getBoundingClientRect\(\).left - .+.getBoundingClientRect\(\).left\) \+ '\|' \+ \(.+getBoundingClientRect\(\).top - .+.getBoundingClientRect\(\).top\)"",\d+\)").Count == 1)
                {
                    return(JsonDocument.Parse(@"""0|0""").RootElement);
                }
                return(new JsonElement());
            });

            IJavaScriptExecutionHandler javaScriptExecutionHandler = javaScriptExecutionHandlerMock.Object;

            INTERNAL_Simulator.JavaScriptExecutionHandler = javaScriptExecutionHandler;

            // Instantiating Application because it sets itself as Application.Current
            new Application();
        }
コード例 #2
0
        public static void Initialize(IJavaScriptExecutionHandler executionHandler)
        {
            DotNetForHtml5.Core.INTERNAL_Simulator.JavaScriptExecutionHandler = executionHandler;
#if MIGRATION
            EmulatorWithoutJavascript.StaticConstructorsCaller.EnsureStaticConstructorOfCommonTypesIsCalled(typeof(System.Windows.Controls.Button).Assembly);
#else
            EmulatorWithoutJavascript.StaticConstructorsCaller.EnsureStaticConstructorOfCommonTypesIsCalled(typeof(Windows.UI.Xaml.Controls.Button).Assembly);
#endif
        }