예제 #1
0
        private static string RenderValue(object value)
        {
            string renderedValue;

            if (value is bool)
            {
                renderedValue = value.ToString().ToLowerInvariant();
            }
            else if (value is int || value is uint)
            {
                renderedValue = value.ToString();
            }
            else if (value is decimal)
            {
                renderedValue = ((decimal)value).ToString("0.######", CultureInfo.InvariantCulture);
            }
            else if (value is Dictionary <string, object> )
            {
                renderedValue = new ConfigurationObject((Dictionary <string, object>)value).Render();
            }
            else
            {
                renderedValue = string.Format("'{0}'", HttpUtility.JavaScriptStringEncode(value.ToString()));
            }
            return(renderedValue);
        }
 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'}"));
 }
 private static string RenderValue(object value)
 {
     string renderedValue;
     if (value is bool)
     {
         renderedValue = value.ToString().ToLowerInvariant();
     }
     else if (value is int || value is uint)
     {
         renderedValue = value.ToString();
     }
     else if (value is decimal)
     {
         renderedValue = ((decimal) value).ToString("0.######", CultureInfo.InvariantCulture);
     }
     else if (value is Dictionary<string, object>)
     {
         renderedValue = new ConfigurationObject((Dictionary<string, object>) value).Render();
     }
     else
     {
         renderedValue = string.Format("'{0}'", HttpUtility.JavaScriptStringEncode(value.ToString()));
     }
     return renderedValue;
 }
        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}]}"));
        }
예제 #7
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}"));
 }
예제 #10
0
 public void SetTrackerConfiguration(Dictionary<string, object> trackerConfiguration)
 {
     _trackerConfiguration = new ConfigurationObject(trackerConfiguration);
 }
예제 #11
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();
        }
예제 #12
0
 public void SetTrackerConfiguration(Dictionary <string, object> trackerConfiguration)
 {
     _trackerConfiguration = new ConfigurationObject(trackerConfiguration);
 }