8000 VectorCursor · designtestcode/immutable-js@8cb105e · GitHub
[go: up one dir, main page]

Skip to content

Commit 8cb105e

Browse files
committed
VectorCursor
1 parent d3d4158 commit 8cb105e

File tree

Expand file tree

4 files changed

+371
-208
lines changed

4 files changed

+371
-208
lines changed

__tests__/Cursor.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,24 @@ describe('Cursor', () => {
2222
expect(cursor.deref()).toBe(data);
2323

2424
var deepCursor = cursor.cursor(['a', 'b']);
25-
expect(deepCursor.deref().toJS()).toEqual(json.a.b);
26-
expect(deepCursor.deref()).toBe(data.getIn(['a', 'b']));
25+
expect(deepCursor.toJS()).toEqual(json.a.b);
26+
expect(deepCursor).toEqual(data.getIn(['a', 'b']));
2727
expect(deepCursor.get('c')).toBe(1);
2828

2929
var leafCursor = deepCursor.cursor('c');
30-
expect(leafCursor.deref()).toBe(1);
30+
expect(leafCursor).toBe(1);
3131

32-
var missCursor = leafCursor.cursor('d');
32+
var missCursor = deepCursor.cursor('d');
33+
expect(Immutable.is(missCursor, undefined)).toBe(true);
3334
expect(missCursor.deref()).toBe(undefined);
3435
});
3536

3637
it('appears to be the type it points to', () => {
37-
var data = Immutable.fromJS(json);
38+
var data = Immutable.fromJS({a:[1,2,3]});
3839
var cursor = data.cursor();
40+
var aCursor = cursor.cursor('a');
3941
expect(cursor instanceof Immutable.Map).toBe(true);
42+
expect(aCursor instanceof Immutable.Vector).toBe(true);
4043
});
4144

4245
it('gets return new cursors', () => {
@@ -55,12 +58,10 @@ describe('Cursor', () => {
5558
expect(cursor.get('c')).toBe(1);
5659
});
5760

58-
it('can be value compared to a primitive', () => {
61+
it('returns scalars directly', () => {
5962
var data = Immutable.Map({ a: 'A' });
6063
var aCursor = data.cursor('a');
61-
expect(aCursor.length).toBe(null);
62-
expect(aCursor.deref()).toBe('A');
63-
expect(Immutable.is(aCursor, 'A')).toBe(true);
64+
expect(aCursor).toBe('A');
6465
});
6566

6667
it('updates at its path', () => {
@@ -115,7 +116,7 @@ describe('Cursor', () => {
115116
var bCursor = aCursor.cursor('b');
116117
var cCursor = bCursor.cursor('c');
117118

118-
expect(bCursor.set('c', 10).deref()).toEqual(
119+
expect(bCursor.set('c', 10)).toEqual(
119120
Immutable.fromJS({ c: 10 })
120121
);
121122
expect(onChange).lastCalledWith(

0 commit comments

Comments
 (0)
0