Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

assert: fix deepEqual regression #193

Closed
wants to merge 1 commit into from

Conversation

teppeis
Copy link
Contributor

@teppeis teppeis commented Dec 21, 2014

Change of Object.keys in ES6 breaks assert.deepEqual about primitive values.
V8: https://code.google.com/p/v8/issues/detail?id=3443
Previously deepEqual depends on Object.key that throws an error for a primitive value, but now it does not throw.

Following tests should not pass, but pass currently.

assert.deepEqual('a', ['a']);
assert.deepEqual('a', {0: 'a'});
assert.deepEqual(1, {});
assert.deepEqual(true, {});

This patch fix them.

Change of Object.keys in ES6 breaks assert.deepEqual about primitive
values.

V8: https://code.google.com/p/v8/issues/detail?id=3443

Previously deepEqual depends on Object.key that throws an error for
a primitive value, but now Object.key does not throw.
bnoordhuis pushed a commit that referenced this pull request Dec 22, 2014
Change of Object.keys in ES6 breaks assert.deepEqual about primitive
values.

V8: https://code.google.com/p/v8/issues/detail?id=3443

Previously deepEqual depends on Object.key that throws an error for
a primitive value, but now Object.key does not throw.

PR-URL: #193
Reviewed-By: Ben Noordhuis <[email protected]>
@bnoordhuis
Copy link
Member

Thanks, landed in 00a7456. Just a nit: could you sign your patches with your real name next time? Thanks!

@bnoordhuis bnoordhuis closed this Dec 22, 2014
@teppeis teppeis deleted the es6-object-keys-breaks-assert branch December 23, 2014 16:32
@teppeis
Copy link
Contributor Author

teppeis commented Dec 23, 2014

thanks!

jasongin pushed a commit to jasongin/nodejs that referenced this pull request Mar 23, 2017
* Convert all locals and parameter names to snake_case

Standardize some parameter names across the N-API surface such as ```napi_env env``` and ```size_t length```. Make all the parameter names in the header match the cc file and expand some parameter names from single characters into meaningful words.

Also addresses a couple of minor PR feedback items:
 - Rename ```napi_reference_addref``` and ```napi_reference_release``` to ```napi_reference_ref``` and ```napi_reference_unref``` (respectively)
 - Rename ```Reference::AddRef``` and ```Reference::Release``` to ```Reference::Ref``` and ```Reference::Unref``` (respectively)
 - Remove ```napi_create_boolean```, ```napi_get_true```, and ```napi_get_false``` and replace them with ```napi_get_boolean```
 - Rename ```napi_get_type_of_value``` to ```napi_typeof```
 - Add a ```result_data``` out parameter to ```napi_create_buffer_copy``` which returns the data pointer of the new buffer
 - Change ```napi_get_value_string_utf8``` and ```napi_get_value_string_utf16``` to accept a null output buffer and return the length of the source string in that case via the ```result``` parameter
 - Remove ```napi_get_value_string_utf8_length``` and ```napi_get_value_string_utf16_length``` due to the above
 - Change ```Reference``` ctor and dtor to be protected and added public ```static Reference* Reference::New``` and ```static void Reference::Delete``` methods to make it more clear how the ```Reference``` objects are allocated and cleaned-up
 - Add a type check to ``napi_get_array_length``` which returns an error if the argument is not an array object
 - Change ```napi_create_symbol``` to take a ```napi_value``` instead of a ```const char*``` for the symbol description string. The API now throws if description is not a string but NULL is allowed.

* Remove UTF-8 BOM characters and other non-ANSI whitespace

* Change parameter names for create string APIs and address other feedback

* Fixes for unit tests

* Fix lint errors found via CI
boingoing added a commit to boingoing/node that referenced this pull request Apr 6, 2017
* Convert all locals and parameter names to snake_case

Standardize some parameter names across the N-API surface such as ```napi_env env``` and ```size_t length```. Make all the parameter names in the header match the cc file and expand some parameter names from single characters into meaningful words.

Also addresses a couple of minor PR feedback items:
 - Rename ```napi_reference_addref``` and ```napi_reference_release``` to ```napi_reference_ref``` and ```napi_reference_unref``` (respectively)
 - Rename ```Reference::AddRef``` and ```Reference::Release``` to ```Reference::Ref``` and ```Reference::Unref``` (respectively)
 - Remove ```napi_create_boolean```, ```napi_get_true```, and ```napi_get_false``` and replace them with ```napi_get_boolean```
 - Rename ```napi_get_type_of_value``` to ```napi_typeof```
 - Add a ```result_data``` out parameter to ```napi_create_buffer_copy``` which returns the data pointer of the new buffer
 - Change ```napi_get_value_string_utf8``` and ```napi_get_value_string_utf16``` to accept a null output buffer and return the length of the source string in that case via the ```result``` parameter
 - Remove ```napi_get_value_string_utf8_length``` and ```napi_get_value_string_utf16_length``` due to the above
 - Change ```Reference``` ctor and dtor to be protected and added public ```static Reference* Reference::New``` and ```static void Reference::Delete``` methods to make it more clear how the ```Reference``` objects are allocated and cleaned-up
 - Add a type check to ``napi_get_array_length``` which returns an error if the argument is not an array object
 - Change ```napi_create_symbol``` to take a ```napi_value``` instead of a ```const char*``` for the symbol description string. The API now throws if description is not a string but NULL is allowed.

* Remove UTF-8 BOM characters and other non-ANSI whitespace

* Change parameter names for create string APIs and address other feedback

* Fixes for unit tests

* Fix lint errors found via CI
eti-p-doray pushed a commit to eti-p-doray/node that referenced this pull request Aug 28, 2024
* [wasi] Stop using V8 fast API

* Revert "[wasi] Stop using V8 fast API"

This reverts commit 0d5d171.

* Revert "[v8] Stop using deprecated fields of v8::FastApiCallbackOptions (nodejs#192)"

This reverts commit 286ed38.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants