Browse Source

Declaration of args in Function must be trimmed

The string declaration of the argument names for Function(), must be
trimmed
Frederic Torres 11 years ago
parent
commit
d121cc040f
1 changed files with 11 additions and 1 deletions
  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);
         }
 
+        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)
         {
             var argCount = arguments.Length;
@@ -70,7 +80,7 @@ namespace Jint.Native.Function
             body = TypeConverter.ToString(body);
             
             // 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();
             FunctionExpression function;
             try