GeezerVison is showing github.com — util: freeze `kEnumerableProperty` · nodejs/node@053347c
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: lib/internal/util.js +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -511,6 +511,7 @@ function structuredClone(value) { |
511 | 511 |
|
512 | 512 | const kEnumerableProperty = ObjectCreate(null); |
513 | 513 | kEnumerableProperty.enumerable = true; |
| 514 | +ObjectFreeze(kEnumerableProperty); |
514 | 515 |
|
515 | 516 | const kEmptyObject = ObjectFreeze(ObjectCreate(null)); |
516 | 517 |
|
|
Collapse file
Copy file name to clipboardExpand all lines: test/parallel/test-internal-util-objects.js +29Lines changed: 29 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -29,6 +29,35 @@ Object.prototype.blep = 'blop'; |
29 | 29 | Object.getOwnPropertyNames(kEnumerableProperty), |
30 | 30 | [ 'enumerable' ] |
31 | 31 | ); |
| 32 | + |
| 33 | + assert.throws( |
| 34 | + () => Object.setPrototypeOf(kEnumerableProperty, { value: undefined }), |
| 35 | + TypeError |
| 36 | + ); |
| 37 | + assert.throws( |
| 38 | + () => delete kEnumerableProperty.enumerable, |
| 39 | + TypeError |
| 40 | + ); |
| 41 | + assert.throws( |
| 42 | + () => kEnumerableProperty.enumerable = false, |
| 43 | + TypeError |
| 44 | + ); |
| 45 | + assert.throws( |
| 46 | + () => Object.assign(kEnumerableProperty, { enumerable: false }), |
| 47 | + TypeError |
| 48 | + ); |
| 49 | + assert.throws( |
| 50 | + () => kEnumerableProperty.value = undefined, |
| 51 | + TypeError |
| 52 | + ); |
| 53 | + assert.throws( |
| 54 | + () => Object.assign(kEnumerableProperty, { value: undefined }), |
| 55 | + TypeError |
| 56 | + ); |
| 57 | + assert.throws( |
| 58 | + () => Object.defineProperty(kEnumerableProperty, 'value', {}), |
| 59 | + TypeError |
| 60 | + ); |
32 | 61 | } |
33 | 62 |
|
34 | 63 | { |
|