1
- /* globals describe, it, expect */
1
+ /* globals describe, it, expect, lowerCaseO, hot, expectObservable */
2
2
var Rx = require ( '../../dist/cjs/Rx' ) ;
3
3
var Observable = Rx . Observable ;
4
4
5
5
describe ( 'Observable.forkJoin' , function ( ) {
6
- it ( 'should join the last values of the provided observables into an array' , function ( done ) {
7
- Observable . forkJoin ( Observable . of ( 1 , 2 , 3 , 'a' ) ,
8
- Observable . of ( 'b' ) ,
9
- Observable . of ( 1 , 2 , 3 , 4 , 'c' ) )
10
- . subscribe ( function ( x ) {
11
- expect ( x ) . toEqual ( [ 'a' , 'b' , 'c' ] ) ;
12
- } , null , done ) ;
13
- } ) ;
14
- } ) ;
6
+ it ( 'should join the last values of the provided observables into an array' , function ( ) {
7
+ var e1 = Observable . forkJoin (
8
+ hot ( '--a--b--c--d--|' ) ,
9
+ hot ( '(b|)' ) ,
10
+ hot ( '--1--2--3--|' )
11
+ ) ;
12
+ var expected = '--------------(x|)' ;
13
+
14
+ expectObservable ( e1 ) . toBe ( expected , { x : [ 'd' , 'b' , '3' ] } ) ;
15
+ } ) ;
16
+
17
+ it ( 'should accept lowercase-o observables' , function ( ) {
18
+ var e1 = Observable . forkJoin (
19
+ hot ( '--a--b--c--d--|' ) ,
20
+ hot ( '(b|)' ) ,
21
+ lowerCaseO ( '1' , '2' , '3' )
22
+ ) ;
23
+ var expected = '--------------(x|)' ;
24
+
25
+ expectObservable ( e1 ) . toBe ( expected , { x : [ 'd' , 'b' , '3' ] } ) ;
26
+ } ) ;
27
+
28
+ it ( 'should accept promise' , function ( done ) {
29
+ var e1 = Observable . forkJoin (
30
+ Observable . of ( 1 ) ,
31
+ Promise . resolve ( 2 )
32
+ ) ;
33
+
34
+ e1 . subscribe ( function ( x ) {
35
+ expect ( x ) . toEqual ( [ 1 , 2 ] ) ;
36
+ } ,
37
+ function ( err ) {
38
+ done . fail ( 'should not be called' ) ;
39
+ } ,
40
+ done ) ;
41
+ } ) ;
42
+
43
+ it ( 'forkJoin n-ary parameters empty' , function ( ) {
44
+ var e1 = Observable . forkJoin (
45
+ hot ( '--a--b--c--d--|' ) ,
46
+ hot ( '(b|)' ) ,
47
+ hot ( '------------------|' )
48
+ ) ;
49
+ var expected = '------------------|' ;
50
+
51
+ expectObservable ( e1 ) . toBe ( expected ) ;
52
+ } ) ;
53
+
54
+ it ( 'forkJoin n-ary parameters empty before end' , function ( ) {
55
+ var e1 = Observable . forkJoin (
56
+ hot ( '--a--b--c--d--|' ) ,
57
+ hot ( '(b|)' ) ,
58
+ hot ( '---------|' )
59
+ ) ;
60
+ var expected = '---------|' ;
61
+
62
+ expectObservable ( e1 ) . toBe ( expected ) ;
63
+ } ) ;
64
+
65
+ it ( 'forkJoin empty empty' , function ( ) {
66
+ var e1 = Observable . forkJoin (
67
+ hot ( '--------------|' ) ,
68
+ hot ( '---------|' )
69
+ ) ;
70
+ var expected = '---------|' ;
71
+
72
+ expectObservable ( e1 ) . toBe ( expected ) ;
73
+ } ) ;
74
+
75
+ it ( 'forkJoin none' , function ( ) {
76
+ var e1 = Observable . forkJoin ( ) ;
77
+ var expected = '|' ;
78
+
79
+ expectObservable ( e1 ) . toBe ( expected ) ;
80
+ } ) ;
81
+
82
+ it ( 'forkJoin empty return' , function ( ) {
83
+ function selector ( x , y ) {
84
+ return x + y ;
85
+ }
86
+
87
+ var e1 = Observable . forkJoin (
88
+ hot ( '--a--b--c--d--|' ) ,
89
+ hot ( '---------|' ) ,
90
+ selector ) ;
91
+ var expected = '---------|' ;
92
+
93
+ expectObservable ( e1 ) . toBe ( expected ) ;
94
+ } ) ;
95
+
96
+ it ( 'forkJoin return return' , function ( ) {
97
+ function selector ( x , y ) {
98
+ return x + y ;
99
+ }
100
+
101
+ var e1 = Observable . forkJoin (
102
+ hot ( '--a--b--c--d--|' ) ,
103
+ hot ( '---2-----|' ) ,
104
+ selector ) ;
105
+ var expected = '--------------(x|)' ;
106
+
107
+ expectObservable ( e1 ) . toBe ( expected , { x : 'd2' } ) ;
108
+ } ) ;
109
+
110
+ it ( 'forkJoin empty throw' , function ( ) {
111
+ var e1 = Observable . forkJoin (
112
+ hot ( '------#' ) ,
113
+ hot ( '---------|' ) ) ;
114
+ var expected = '------#' ;
115
+
116
+ expectObservable ( e1 ) . toBe ( expected ) ;
117
+ } ) ;
118
+
119
+ it ( 'forkJoin empty throw' , function ( ) {
120
+ function selector ( x , y ) {
121
+ return x + y ;
122
+ }
123
+
124
+ var e1 = Observable . forkJoin (
125
+ hot ( '------#' ) ,
126
+ hot ( '---------|' ) ,
127
+ selector ) ;
128
+ var expected = '------#' ;
129
+
130
+ expectObservable ( e1 ) . toBe ( expected ) ;
131
+ } ) ;
132
+
133
+ it ( 'forkJoin return throw' , function ( ) {
134
+ var e1 = Observable . forkJoin (
135
+ hot ( '------#' ) ,
136
+ hot ( '---a-----|' ) ) ;
137
+ var expected = '------#' ;
138
+
139
+ expectObservable ( e1 ) . toBe ( expected ) ;
140
+ } ) ;
141
+
142
+ it ( 'forkJoin return throw' , function ( ) {
143
+ function selector ( x , y ) {
144
+ return x + y ;
145
+ }
146
+
147
+ var e1 = Observable . forkJoin (
148
+ hot ( '------#' ) ,
149
+ hot ( '-------b-|' ) ,
150
+ selector ) ;
151
+ var expected = '------#' ;
152
+
153
+ expectObservable ( e1 ) . toBe ( expected ) ;
154
+ } ) ;
155
+ } ) ;
0 commit comments