diff options
author | Mark Miller <erights@gmail.com> | 2011-09-25 10:40:20 -0700 |
---|---|---|
committer | Mark Miller <erights@gmail.com> | 2011-09-25 10:40:20 -0700 |
commit | e5fbfd0267d3ae4d163392c20004b470f8d6a9ee (patch) | |
tree | 7b0c5895a4faf7b56fae6278d43249ab81bf083d /test | |
parent | 173df6b498b697589a4f80ce04ff078675d08e79 (diff) | |
download | test262-e5fbfd0267d3ae4d163392c20004b470f8d6a9ee.tar.gz |
Tests for spec violation generically by enumerating properties.
Diffstat (limited to 'test')
-rw-r--r-- | test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js b/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js index 0685fcc87..b7faa6fdf 100644 --- a/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js +++ b/test/suite/sputnik/Conformance/11_Expressions/11.4_Unary_Operators/11.4.1_The_delete_Operator/S11.4.1_A5.js @@ -11,12 +11,22 @@ * @onlyStrict
*/
"use strict";
-var deleted = 'unassigned';
-try {
- deleted = delete RegExp.leftContext;
-} catch (err) {
-}
-if (deleted === false) {
- $ERROR('Strict delete returned false');
+var reNames = Object.getOwnPropertyNames(RegExp);
+for (var i = 0, len = reNames.length; i < len; i++) {
+ var reName = reNames[i];
+ if (reName !== 'prototype') {
+ var deleted = 'unassigned';
+ try {
+ deleted = delete RegExp[reName];
+ } catch (err) {
+ if (!(err instanceof TypeError)) {
+ $ERROR('#1: strict delete threw a non-TypeError: ' + err);
+ }
+ // fall through
+ }
+ if (deleted === false) {
+ $ERROR('#2: Strict delete returned false');
+ }
+ }
}
|