text: //-------------------------------------------------------------------------------------------------------
  // Copyright (C) Microsoft. All rights reserved.
  // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  //-------------------------------------------------------------------------------------------------------
  
  //
  // Test calling order of parameters:
  // 1. Ensure arguments get evaluated in the correct order
  // 2. Ensure arguments are passed in the correct order
  //
  
  function a()
  {
      //
      // By displaying the function, we'll validate the correct evaluation order.
      //
  
      WScript.Echo("a()");
      return 1;
  }
  
  function b()
  {
      WScript.Echo("b()");
      return 2;
  }
  
  function c(p1, p2)
  {
      //
      // By performing a subtract, we'll validate that p1 and p2 are not mixed.
      //
  
      WScript.Echo("c(p1, p2)");
      return p1 - p2;
  }
  
  function MyClass(p1, p2) {
      //
      // By performing a subtract, we'll validate that p1 and p2 are not mixed.
      //
  
      WScript.Echo("MyClass(p1, p2)");
      this.value = p1 - p2;
  }
  
  
  //
  // Test a regular function call.
  //
  
  WScript.Echo("Regular function call");
  
  var result = c(a(), b());
  WScript.Echo(result);
  
  
  //
  // Test a constructor function call.
  //
  
  WScript.Echo("Constructor function call");
  
  var result = new MyClass(a(), b());
  WScript.Echo(result.value);
  