Ejemplo n.º 1
0
        public void JavaScriptModuleRegistry_InvalidModule_Throws()
        {
            var registry      = new JavaScriptModuleRegistry.Builder().Build();
            var reactInstance = new MockReactInstance();

            AssertEx.Throws <InvalidOperationException>(() => registry.GetJavaScriptModule <TestJavaScriptModule>(reactInstance));
        }
Ejemplo n.º 2
0
        public void JavaScriptModuleRegistry_Invoke()
        {
            var registry = new JavaScriptModuleRegistry.Builder()
                           .Add <RCTEventEmitter>()
                           .Add <AppRegistry>()
                           .Add <TestJavaScriptModule>()
                           .Build();

            var are           = new AutoResetEvent(false);
            var modules       = new List <string>();
            var methods       = new List <string>();
            var argsList      = new List <JArray>();
            var reactInstance = new MockReactInstance((mod, met, args, tracingName) =>
            {
                modules.Add(mod);
                methods.Add(met);
                argsList.Add(args);
                are.Set();
            });

            var module = registry.GetJavaScriptModule <TestJavaScriptModule>(reactInstance);

            module.Foo(42);

            are.WaitOne();

            Assert.AreEqual(1, modules.Count);
            Assert.AreEqual(1, methods.Count);
            Assert.AreEqual(1, modules.Count);

            Assert.AreEqual("TestJavaScriptModule", modules[0]);
            Assert.AreEqual("Foo", methods[0]);
            Assert.AreEqual(
                JArray.FromObject(new[] { 42 }).ToString(Formatting.None),
                argsList[0].ToString(Formatting.None));
        }