Sfoglia il codice sorgente

Declaration of args in Function must be trimmed

The string declaration of the argument names for Function(), must be
trimmed
Frederic Torres 11 anni fa
parent
commit
d121cc040f
1 ha cambiato i file con 11 aggiunte e 1 eliminazioni
  1. 11 1
      Jint/Native/Function/FunctionConstructor.cs

+ 11 - 1
Jint/Native/Function/FunctionConstructor.cs

@@ -45,6 +45,16 @@ namespace Jint.Native.Function
             return Construct(arguments);
             return Construct(arguments);
         }
         }
 
 
+        private string[] TrimParameterNames(string[] values)
+        {
+            var newValues = new string[values.Length];
+            for (var i = 0; i < values.Length; i++)
+            {
+                newValues[i] = values[i].Trim();
+            }
+            return newValues;
+        }
+
         public ObjectInstance Construct(JsValue[] arguments)
         public ObjectInstance Construct(JsValue[] arguments)
         {
         {
             var argCount = arguments.Length;
             var argCount = arguments.Length;
@@ -70,7 +80,7 @@ namespace Jint.Native.Function
             body = TypeConverter.ToString(body);
             body = TypeConverter.ToString(body);
             
             
             // todo: ensure parsable as parameter list
             // todo: ensure parsable as parameter list
-            var parameters = p.Split(new [] {','}, StringSplitOptions.RemoveEmptyEntries);
+            var parameters = this.TrimParameterNames(p.Split(new [] {','}, StringSplitOptions.RemoveEmptyEntries));
             var parser = new JavaScriptParser();
             var parser = new JavaScriptParser();
             FunctionExpression function;
             FunctionExpression function;
             try
             try