Skip to content
New issue

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

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

Already on GitHub? # 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 <info@bnoordhuis.nl>
@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.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants