Beispiel #1
0
        public async Task Test_Circular_Reference_Simple()
        {
            await TestAsync(async() =>
            {
                var cacher   = new SessionCacher();
                _ConverTOJSO = GetCircularBreakerConverter(cacher);

                var res = (await Map(_CircularSimple, cacher)).JsValue;

                DoSafe(() =>
                {
                    res.Should().NotBeNull();
                    var res1 = res.GetValue("Reference");
                    res1.Should().NotBeNull();
                    res1.IsObject.Should().BeTrue();

                    var res2 = res1.GetValue("Reference");
                    res2.Should().NotBeNull();
                    res2.IsObject.Should().BeTrue();

                    var res3 = res1.GetValue("Reference");
                    res3.Should().NotBeNull();
                    res3.IsObject.Should().BeTrue();
                });
            });
        }
Beispiel #2
0
        public async Task Test_Circular_Reference_In_List()
        {
            await TestAsync(async() =>
            {
                var cacher   = new SessionCacher();
                _ConverTOJSO = GetCircularBreakerConverter(cacher);

                var res = (await Map(_CircularComplex, cacher)).JsValue;

                DoSafe(() =>
                {
                    res.Should().NotBeNull();

                    var res0 = res.GetValue("List");
                    res0.IsArray.Should().BeTrue();

                    var res1 = res0.GetArrayElements()[0];
                    res1.Should().NotBeNull();
                    res1.IsObject.Should().BeTrue();

                    var res2 = res1.GetValue("Reference");
                    res2.Should().NotBeNull();
                    res2.IsObject.Should().BeTrue();
                });
            });
        }
        protected override void Init()
        {
            _ICSharpMapper    = Substitute.For <IJavascriptSessionCache>();
            _JSCommandFactory = Substitute.For <IJSCommandFactory>();
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HTMLViewContext            = new HTMLViewContext(_WebView, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger);
            _ConverTOJSO = new CSharpToJavascriptConverter(_HTMLViewContext, _ICSharpMapper, _JSCommandFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);
        }
Beispiel #4
0
        /// <summary>
        /// Instanciate a new CJsonConverter
        /// </summary>
        public CJsonConverter()
        {
            var cache   = new SessionCacher();
            var factory = new GlueFactory(null, cache, null, null);

            _Converter = new CSharpToJavascriptConverter(cache, factory, new NullLogger());
        }
Beispiel #5
0
 public CSharpToJavascriptConverterTests(ITestOutputHelper testOutputHelper)
 {
     _TestOutputHelper = testOutputHelper;
     _Cacher           = Substitute.For <IJavascriptSessionCache>();
     _Cacher.When(c => c.CacheFromCSharpValue(Arg.Any <object>(), Arg.Any <IJsCsGlue>()))
     .Do(callInfo => _Cache.Add(callInfo[0], (IJsCsGlue)callInfo[1]));
     _Cacher.GetCached(Arg.Any <object>()).Returns(callInfo => _Cache.GetOrDefault(callInfo[0]));
     _ObjectChangesListener = new ObjectChangesListener(_ => { }, _ => { }, _ => { });
     _GlueFactory           = new GlueFactory(null, _Cacher, null, _ObjectChangesListener);
     _Logger = Substitute.For <IWebSessionLogger>();
     _CSharpToJavascriptConverter = new CSharpToJavascriptConverter(_Cacher, _GlueFactory, _Logger);
 }
Beispiel #6
0
 public CSharpToJavascriptConverterTests()
 {
     _Cacher = Substitute.For <IJavascriptSessionCache>();
     _Cacher.When(c => c.CacheFromCSharpValue(Arg.Any <object>(), Arg.Any <IJSCSGlue>()))
     .Do(callInfo => _Cache.Add(callInfo[0], (IJSCSGlue)callInfo[1]));
     _Cacher.GetCached(Arg.Any <object>()).Returns(callInfo => _Cache.GetOrDefault(callInfo[0]));
     _GlueFactory       = new GlueFactory(null, null);
     _Logger            = Substitute.For <IWebSessionLogger>();
     _IWebBrowserWindow = Substitute.For <IWebBrowserWindow>();
     _IWebBrowserWindow.IsTypeBasic(typeof(string)).Returns(true);
     _CSharpToJavascriptConverter = new CSharpToJavascriptConverter(_IWebBrowserWindow, _Cacher, _GlueFactory, _Logger);
 }
Beispiel #7
0
        protected override void Init()
        {
            _CSharpMapper          = Substitute.For <IJavascriptSessionCache>();
            _ObjectChangesListener = new ObjectChangesListener(_ => { }, _ => { }, _ => { });
            _GlueFactory           = new GlueFactory(null, _CSharpMapper, null, _ObjectChangesListener);
            _CSharpMapper.GetCached(Arg.Any <object>()).Returns((IJsCsGlue)null);
            _JavascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HtmlViewContext            = new HtmlViewContext(WebBrowserWindow, GetTestUIDispacther(), _JavascriptFrameworkManager, null, _Logger);
            _ConverTOJSO = new CSharpToJavascriptConverter(_CSharpMapper, _GlueFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _TestsNg = new ArrayList
            {
                _Tests[0],
                _Tests[0]
            };

            _CircularSimple           = new Circular1();
            _CircularSimple.Reference = _CircularSimple;

            _CircularComplex = new Circular2();
            var circularChild = new Circular2
            {
                Reference = _CircularComplex
            };

            _CircularComplex.List.Add(circularChild);
        }
        protected override void Init()
        {
            _ICSharpMapper    = Substitute.For <IJavascriptSessionCache>();
            _JSCommandFactory = Substitute.For <IJSCommandFactory>();
            _ICSharpMapper.GetCached(Arg.Any <object>()).Returns((IJSCSGlue)null);
            _javascriptFrameworkManager = Substitute.For <IJavascriptFrameworkManager>();
            _HTMLViewContext            = new HTMLViewContext(WebBrowserWindow, GetTestUIDispacther(), _javascriptFrameworkManager, null, _Logger);
            _ConverTOJSO = new CSharpToJavascriptConverter(WebBrowserWindow, _ICSharpMapper, _JSCommandFactory, _Logger);
            _Test        = new TestClass {
                S1 = "string", I1 = 25
            };
            _Tests = new List <TestClass>
            {
                new TestClass()
                {
                    S1 = "string1", I1 = 1
                },
                new TestClass()
                {
                    S1 = "string2", I1 = 2
                }
            };
            _Test2 = new Test2()
            {
                T1 = _Test, T2 = _Test
            };

            _Tests_NG = new ArrayList();
            _Tests_NG.Add(_Tests[0]);
            _Tests_NG.Add(_Tests[0]);

            _CircularSimple           = new Circular1();
            _CircularSimple.Reference = _CircularSimple;

            _CircularComplex = new Circular2();
            var circularChild = new Circular2
            {
                Reference = _CircularComplex
            };

            _CircularComplex.List.Add(circularChild);
        }