private ValidationResult ValidateOne(string path, IMetadataDefinition definition, JValue value)
 {
     if (definition.ChoiceSet.Contains(value))
     {
         return ValidationResult.Success;
     }
     return ValidationResult.Fail(ValidationErrorCodes.WellknownMetadata.UndefinedValue, $"Bad metadata: Value {value.ToString()} is undefined for {path}.", path);
 }
Beispiel #2
0
    static int ToString(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue)))
            {
                Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1);
                string o = obj.ToString();
                LuaDLL.lua_pushstring(L, o);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(System.IFormatProvider)))
            {
                Newtonsoft.Json.Linq.JValue obj  = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1);
                System.IFormatProvider      arg0 = (System.IFormatProvider)ToLua.ToObject(L, 2);
                string o = obj.ToString(arg0);
                LuaDLL.lua_pushstring(L, o);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(string)))
            {
                Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1);
                string arg0 = ToLua.ToString(L, 2);
                string o    = obj.ToString(arg0);
                LuaDLL.lua_pushstring(L, o);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(string), typeof(System.IFormatProvider)))
            {
                Newtonsoft.Json.Linq.JValue obj = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1);
                string arg0 = ToLua.ToString(L, 2);
                System.IFormatProvider arg1 = (System.IFormatProvider)ToLua.ToObject(L, 3);
                string o = obj.ToString(arg0, arg1);
                LuaDLL.lua_pushstring(L, o);
                return(1);
            }
            else if (TypeChecker.CheckTypes(L, 1, typeof(Newtonsoft.Json.Linq.JValue), typeof(Newtonsoft.Json.Formatting)) && TypeChecker.CheckParamsType(L, typeof(Newtonsoft.Json.JsonConverter), 3, count - 2))
            {
                Newtonsoft.Json.Linq.JValue     obj  = (Newtonsoft.Json.Linq.JValue)ToLua.ToObject(L, 1);
                Newtonsoft.Json.Formatting      arg0 = (Newtonsoft.Json.Formatting)ToLua.ToObject(L, 2);
                Newtonsoft.Json.JsonConverter[] arg1 = ToLua.ToParamsObject <Newtonsoft.Json.JsonConverter>(L, 3, count - 2);
                string o = obj.ToString(arg0, arg1);
                LuaDLL.lua_pushstring(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: Newtonsoft.Json.Linq.JValue.ToString"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
        private void VisitPrimitive(Newtonsoft.Json.Linq.JValue data)
        {
            var key = _currentPath;

            if (_data.ContainsKey(key))
            {
                throw new FormatException("duplicated key");
            }
            _data[key] = data.ToString(CultureInfo.InvariantCulture);
            _entities.Add(new ConfigEntity()
            {
                Name = key, Value = _data[key]
            });
        }
        public void ToStringFormat()
        {
            JValue v = new JValue(new DateTime(2013, 02, 01, 01, 02, 03, 04));

            Assert.AreEqual("2013", v.ToString("yyyy"));
        }
        public void WriteSingle()
        {
            float f = 5.2f;
            JValue value = new JValue(f);

            string json = value.ToString(Formatting.None);

            Assert.AreEqual("5.2", json);
        }
        public void JValueToString()
        {
            JValue v;

            v = new JValue(true);
            Assert.AreEqual("True", v.ToString());

            v = new JValue(Encoding.UTF8.GetBytes("Blah"));
            Assert.AreEqual("System.Byte[]", v.ToString(null, CultureInfo.InvariantCulture));

            v = new JValue("I am a string!");
            Assert.AreEqual("I am a string!", v.ToString());

            v = new JValue(null, JTokenType.Null);
            Assert.AreEqual("", v.ToString());

            v = new JValue(null, JTokenType.Null);
            Assert.AreEqual("", v.ToString(null, CultureInfo.InvariantCulture));

            v = new JValue(new DateTime(2000, 12, 12, 20, 59, 59, DateTimeKind.Utc), JTokenType.Date);
            Assert.AreEqual("12/12/2000 20:59:59", v.ToString(null, CultureInfo.InvariantCulture));

            v = new JValue(new Uri("http://json.codeplex.com/"));
            Assert.AreEqual("http://json.codeplex.com/", v.ToString(null, CultureInfo.InvariantCulture));

            v = new JValue(TimeSpan.FromDays(1));
            Assert.AreEqual("1.00:00:00", v.ToString(null, CultureInfo.InvariantCulture));

            v = new JValue(new Guid("B282ADE7-C520-496C-A448-4084F6803DE5"));
            Assert.AreEqual("b282ade7-c520-496c-a448-4084f6803de5", v.ToString(null, CultureInfo.InvariantCulture));

#if !(NET20 || NET35 || PORTABLE || PORTABLE40)
            v = new JValue(BigInteger.Parse("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990"));
            Assert.AreEqual("123456789999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999990", v.ToString(null, CultureInfo.InvariantCulture));
#endif
        }
        public void EnumTests()
        {
            JValue v = new JValue(StringComparison.Ordinal);
            Assert.AreEqual(JTokenType.Integer, v.Type);

            string s = v.ToString();
            Assert.AreEqual("Ordinal", s);

            StringComparison e = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.Ordinal, e);

            dynamic d = new JValue(StringComparison.CurrentCultureIgnoreCase);
            StringComparison e2 = (StringComparison)d;
            Assert.AreEqual(StringComparison.CurrentCultureIgnoreCase, e2);

            string s1 = d.ToString();
            Assert.AreEqual("CurrentCultureIgnoreCase", s1);

            string s2 = (string)d;
            Assert.AreEqual("CurrentCultureIgnoreCase", s2);

            d = new JValue("OrdinalIgnoreCase");
            StringComparison e3 = (StringComparison)d;
            Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e3);

            v = new JValue("ORDINAL");
            d = v;
            StringComparison e4 = (StringComparison)d;
            Assert.AreEqual(StringComparison.Ordinal, e4);

            StringComparison e5 = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.Ordinal, e5);

            v = new JValue((int)StringComparison.OrdinalIgnoreCase);
            Assert.AreEqual(JTokenType.Integer, v.Type);
            StringComparison e6 = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e6);
        }
        public void EnumTests()
        {
            JValue v = new JValue(StringComparison.Ordinal);
            Assert.AreEqual(JTokenType.Integer, v.Type);

            string s = v.ToString();
            Assert.AreEqual("Ordinal", s);

            StringComparison e = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.Ordinal, e);

            dynamic d = new JValue(StringComparison.CurrentCultureIgnoreCase);
            StringComparison e2 = (StringComparison)d;
            Assert.AreEqual(StringComparison.CurrentCultureIgnoreCase, e2);

            string s1 = d.ToString();
            Assert.AreEqual("CurrentCultureIgnoreCase", s1);

            string s2 = (string)d;
            Assert.AreEqual("CurrentCultureIgnoreCase", s2);

            d = new JValue("OrdinalIgnoreCase");
            StringComparison e3 = (StringComparison)d;
            Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e3);

            v = new JValue("ORDINAL");
            d = v;
            StringComparison e4 = (StringComparison)d;
            Assert.AreEqual(StringComparison.Ordinal, e4);

            StringComparison e5 = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.Ordinal, e5);

            v = new JValue((int)StringComparison.OrdinalIgnoreCase);
            Assert.AreEqual(JTokenType.Integer, v.Type);
            StringComparison e6 = v.ToObject<StringComparison>();
            Assert.AreEqual(StringComparison.OrdinalIgnoreCase, e6);

            // does not support EnumMember. breaking change to add
            ExceptionAssert.Throws<ArgumentException>(() =>
            {
                d = new JValue("value_a");
                EnumA e7 = (EnumA)d;
                Assert.AreEqual(EnumA.ValueA, e7);
            }, "Requested value 'value_a' was not found.");
        }
Beispiel #9
0
    public void ToString()
    {
      JValue v;

      v = new JValue(true);
      Assert.AreEqual("True", v.ToString());

      v = new JValue(Encoding.UTF8.GetBytes("Blah"));
      Assert.AreEqual("System.Byte[]", v.ToString(null, CultureInfo.InvariantCulture));

      v = new JValue("I am a string!");
      Assert.AreEqual("I am a string!", v.ToString());

      v = new JValue(null, JTokenType.Null);
      Assert.AreEqual("", v.ToString());

      v = new JValue(null, JTokenType.Null);
      Assert.AreEqual("", v.ToString(null, CultureInfo.InvariantCulture));

      v = new JValue(new DateTime(2000, 12, 12, 20, 59, 59, DateTimeKind.Utc), JTokenType.Date);
      Assert.AreEqual("12/12/2000 20:59:59", v.ToString(null, CultureInfo.InvariantCulture));
    }
        /// <summary>
        /// Ensure that a numeric value can safely roundtrip as a double.
        /// </summary>
        /// <param name="value">The value.</param>
        /// <param name="desiredType">The desired type.</param>
        /// <returns>
        /// True if the value can roundtrip, false otherwise.
        /// </returns>
        private static bool NumericCanRoundtrip(object value, Type desiredType)
        {
            // Make sure that the value can roundtrip
            bool canRoundtrip = false;
            object original = Convert.ChangeType(value, desiredType, CultureInfo.InvariantCulture);
            double converted = Convert.ToDouble(value, CultureInfo.InvariantCulture);
            try
            {
                JValue jv = new JValue(converted);
                string jvString = jv.ToString();
                JValue reverse = JValue.Parse(jvString) as JValue;

                if (reverse != null)
                {
                    object roundtripped = Convert.ChangeType(reverse.Value, desiredType, CultureInfo.InvariantCulture);
                    canRoundtrip = original.Equals(roundtripped);
                }
            }
            catch (InvalidCastException)
            {
            }
            catch (OverflowException)
            {
            }
            return canRoundtrip;
        }
		private string getAuthToken() {
			bool needNewToken = false;
			
			if (token == null || token.Equals("")) {
				needNewToken = true;	
				Log.Info("HockeyStreams - Need to login");
			} else if (tokenCreateDate == null || tokenCreateDate.AddHours(tokenResetDurationHours) > DateTime.Now) {
				// current token is more than 12 hours old
				needNewToken = true;
				Log.Info("HockeyStreams - Token has expired, need to login again");
			} 
			
			if (needNewToken) {
				string postData = string.Format("username={0}&password={1}&key={2}", username, password, apiKey);
			
				// get the authentication token
				String jsonResponse =  GetWebData(apiUrl_login,postData,null,null,null, false, false, useragent, null, null, false);
				
				JObject jsonLogin = JObject.Parse(jsonResponse);
				JToken authToken = new JValue("");
				bool yes = jsonLogin.TryGetValue("token",out authToken);
				token = authToken.ToString();
				tokenCreateDate = DateTime.Now;
			}
			
			return token;
			
			
		}
Beispiel #12
0
        JToken VisitValue(JValue jValue)
        {
            if (jValue.Type == JTokenType.Boolean)
            {
                sb.Append(jValue.ToString().ToLower());
            }
            else if (jValue.Type == JTokenType.String)
            {
                string s = (string)jValue.Value;
                bool needsQuotes =
                    (s.Length == 0 ||
                    s.IndexOfAny(new char[] { '"', '\\', '/', '\b', '\f', '\n', '\r', '\t', '#', ':', ',', '[', ']', '{', '}' }) != -1);

                // NOTE: The order is important here; \\ should get replaced last
                s = s
                    .Replace("\\", "\\\\")
                    .Replace("\"", "\\\"")
                    .Replace("/", "\\/")
                    .Replace("\b", "\\b")
                    .Replace("\f", "\\f")
                    .Replace("\n", "\\n")
                    .Replace("\r", "\\r")
                    .Replace("\t", "\\t");

                if (needsQuotes)
                {
                    sb.AppendFormat("\"{0}\"", s);
                }
                else
                {
                    sb.Append(s);
                }
            }
            else if (jValue.Type == JTokenType.Array || jValue.Type == JTokenType.Object)
            {
                Visit(jValue);
            }
            else
            {
                sb.Append(jValue.Value.ToString());
            }

            return jValue;
        }