Comments (4)
PS. If this is confirmed as a bug I'd be happy to give it a stab
from chai-immutable.
Hi there,
It's not your case here because you are testing on regular JS objects, and in that case Chai's .deep.equal
is used, not Chai Immutable's, but in the Chai Immutable world, the fact that .equal
and .deep.equal
act similar is normal, which is explained here in the doc. I wanted to point that out just in case.
As far as I can tell, this might be a bug indeed (or at least the outcome doesn't sound right): the value of type
is the same, and if the 2 immutable lists have the same value then the assertion should pass.
Did you make sure to run chai.use(chaiImmutable);
before? We've seen a similar case here. If not then yes, I'd be happy if you can run some more debugging :)
from chai-immutable.
Hi @sebastiancarlsson @astorije,
I also get an error... :
import {List} from 'immutable';
import chai, {expect} from 'chai';
import chaiImmutable from 'chai-immutable';
chai.use(chaiImmutable);
describe('REDUCER', () => {
it('does things', () => {
expect(
List.of({pid: 1}, {pid: 2})
).to.equal(
List.of({pid: 1}, {pid: 2})
);
});
});
results in this assertion error:
REDUCER
1) does things
1 failing
1) REDUCER does things:
AssertionError: expected 'List [ [object Object], [object Object] ]' to equal 'List [ [object Object], [object Object] ]'
+ expected - actual
from chai-immutable.
Hi @jopek,
If you look at my comment above, as well as the documentation on the README and the linked issue, you will see that this is actually the expected behavior:
Immutable data structures should only contain other immutable data structures (unlike
Array
s andObject
s) to be considered immutable and properly work against.equal()
. See this issue for more information.
from chai-immutable.
Related Issues (20)
- Add support for custom messages HOT 1
- Support reference comparison HOT 8
- [email protected]" has incorrect peer dependency "immutable@^3.0.0". HOT 4
- latest immutablejs support(Is this library even alive?) HOT 5
- Dependency Dashboard
- Publish new version! HOT 3
- Replace JSCS with ESLint
- Use ES6 in the documentation HOT 1
- `not` in assertions is ignored HOT 4
- Publish version HOT 3
- App crash if receive an REMOTE_WIDGET_DRAGGING or UPDATE_WIDGET before mural is fully loaded HOT 2
- Add `.deep.include` for deep equality comparisons
- Add support for deep flag for the keys assertion
- Drop support of Node v0.10 and v0.12
- Support Chai v4's `.deep.property`
- Write comprehensive tests for `.not.property` HOT 2
- Feature request: comparison of Maps via include HOT 3
- npm WARN [email protected] requires a peer of chai@>= 2.0.0 < 4 but none was installed. HOT 9
- Investigate potential remaining items for Chai v4 support HOT 8
- Cannot find module 'immutable' HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chai-immutable.