public void Render_StringValueWithLineBreak_RendersEscapedString()
 {
     var subj = new ConfigurationObject(new Dictionary<string, object> {{"mykey", @"my
     val"}});
     var rendered = subj.Render();
     Assert.That(rendered, Is.StringContaining(@"{'mykey': 'my\r\nval'}"));
 }
Example #2
0
        public string Render()
        {
            var sb = new StringBuilder();

            sb.AppendLine("<script>");
            sb.AppendLine(@"(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');");

            sb.AppendFormat("ga('create', '{0}', {1});", _account, _trackerConfiguration.Render("'auto'"));
            sb.AppendLine();

            RenderPrePageView(sb);

            if (TrackDefaultPageview)
            {
                sb.AppendLine(new PageViewCommand().RenderCommand());
            }

            RenderPostPageView(sb);

            sb.AppendLine("</script>");
            return(sb.ToString());
        }
        public void Render_ArrayValue_RendersArray()
        {
            var value = new[] { "val1", "val2" };

            var subj = new ConfigurationObject(new Dictionary<string, object> { { "mykey", value } });
            var rendered = subj.Render();
            Assert.That(rendered, Is.StringContaining("{'mykey': ['val1','val2']}"));
        }
 public void Render_DictionaryValue_RendersObject()
 {
     var value = new Dictionary<string, object>
     {
         {"dicKey1", "myValue"},
         {"dicKey2", 1}
     };
     var subj = new ConfigurationObject(new Dictionary<string, object> { { "mykey", value } });
     var rendered = subj.Render();
     Assert.That(rendered, Is.StringContaining("{'mykey': {'dicKey1': 'myValue','dicKey2': 1}}"));
 }
        public void Render_ArrayOfDictionaries_RendersArrayOfObjects()
        {
            var value = new[]
            {
                new Dictionary<string, object> {{"mykey1","val1"},{"mykey2",1234}},
                new Dictionary<string, object> {{"mykey1","val2"},{"mykey2",2345}}
            };

            var subj = new ConfigurationObject(new Dictionary<string, object> { { "mykey", value } });
            var rendered = subj.Render();
            Assert.That(rendered, Is.StringContaining("{'mykey': [{'mykey1': 'val1','mykey2': 1234},{'mykey1': 'val2','mykey2': 2345}]}"));
        }
Example #6
0
        private void RenderFields(StringBuilder sb, Dictionary <string, object> fields)
        {
            if (!fields.Any())
            {
                return;
            }

            var cfg = new ConfigurationObject(fields);

            sb.AppendFormat("ga('set', {0});", cfg.Render());
            sb.AppendLine();
        }
 public void Render_StringValue_RendersString()
 {
     var subj = new ConfigurationObject(new Dictionary<string, object> { { "mykey", "myval" } });
     var rendered = subj.Render();
     Assert.That(rendered, Is.StringContaining("{'mykey': 'myval'}"));
 }
 public void Render_IntValue_RendersInt()
 {
     var subj = new ConfigurationObject(new Dictionary<string, object> { { "mykey", 1234 } });
     var rendered = subj.Render();
     Assert.That(rendered, Is.StringContaining("{'mykey': 1234}"));
 }
        private void RenderFields(StringBuilder sb, Dictionary<string, object> fields)
        {
            if (!fields.Any()) return;

            var cfg = new ConfigurationObject(fields);
            sb.AppendFormat("ga('set', {0});", cfg.Render());
            sb.AppendLine();
        }