resetproperty.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function testcase1() {
  6. var arrObj = [];
  7. Object.defineProperty(arrObj, "length", {
  8. writable: false
  9. });
  10. try {
  11. Object.defineProperty(arrObj, "length", {
  12. value: 0
  13. });
  14. return true;
  15. } catch (e) {
  16. return false;
  17. }
  18. }
  19. function testcase2() {
  20. var arr = [];
  21. Object.defineProperty(arr, "length", {
  22. writable: false
  23. });
  24. try {
  25. Object.defineProperties(arr, {
  26. length: {
  27. value: 0
  28. }
  29. });
  30. return true && arr.length === 0;
  31. } catch (e) {
  32. return false;
  33. }
  34. }
  35. if (testcase1() && testcase2()) {
  36. WScript.Echo('PASSED');
  37. }
  38. else {
  39. WScript.Echo('FAILED');
  40. }