File tree Expand file tree Collapse file tree 5 files changed +53
-2
lines changed
test/unit/specs/mount/Wrapper Expand file tree Collapse file tree 5 files changed +53
-2
lines changed Original file line number Diff line number Diff line change @@ -31,3 +31,16 @@ expect(wrapper.emitted().foo.length).toBe(2)
31
31
// assert event payload
32
32
expect (wrapper .emitted ().foo [1 ]).toEqual ([123 ])
33
33
```
34
+
35
+ You can also write the above as follows:
36
+
37
+ ``` js
38
+ // assert event has been emitted
39
+ expect (wrapper .emitted (' foo' )).toBeTruthy ()
40
+
41
+ // assert event count
42
+ expect (wrapper .emitted (' foo' ).length ).toBe (2 )
43
+
44
+ // assert event payload
45
+ expect (wrapper .emitted (' foo' )[1 ]).toEqual ([123 ])
46
+ ```
Original file line number Diff line number Diff line change @@ -31,3 +31,16 @@ expect(wrapper.emitted().foo.length).toBe(2)
31
31
// イベントのペイロードを検証します
32
32
expect (wrapper .emitted ().foo [1 ]).toEqual ([123 ])
33
33
```
34
+
35
+ 別の構文があります。
36
+
37
+ ``` js
38
+ // イベントが発行されたか検証します
39
+ expect (wrapper .emitted (' foo' )).toBeTruthy ()
40
+
41
+ // イベントの数を検証します
42
+ expect (wrapper .emitted (' foo' ).length ).toBe (2 )
43
+
44
+ // イベントのペイロードを検証します
45
+ expect (wrapper .emitted (' foo' )[1 ]).toEqual ([123 ])
46
+ ```
Original file line number Diff line number Diff line change @@ -62,10 +62,13 @@ export default class Wrapper implements BaseWrapper {
62
62
/**
63
63
* Returns an object containing custom events emitted by the Wrapper vm
64
64
*/
65
- emitted ( ) {
65
+ emitted ( event : ? string ) {
66
66
if ( ! this . _emitted && ! this . vm ) {
67
67
throwError ( 'wrapper.emitted() can only be called on a Vue instance' )
68
68
}
69
+ if ( event ) {
70
+ return this . _emitted [ event ]
71
+ }
69
72
return this . _emitted
70
73
}
71
74
Original file line number Diff line number Diff line change 1
1
import mount from '~src/mount'
2
2
3
3
describe ( 'emitted' , ( ) => {
4
+ it ( 'captures emitted events with a different api' , ( ) => {
5
+ const wrapper = mount ( {
6
+ render : h => h ( 'div' )
7
+ } )
8
+
9
+ wrapper . vm . $emit ( 'foo' )
10
+ expect ( wrapper . emitted ( 'foo' ) ) . to . exist
11
+ expect ( wrapper . emitted ( 'foo' ) . length ) . to . equal ( 1 )
12
+ expect ( wrapper . emitted ( 'foo' ) [ 0 ] ) . to . eql ( [ ] )
13
+
14
+ expect ( wrapper . emitted ( 'bar' ) ) . not . to . exist
15
+ wrapper . vm . $emit ( 'bar' , 1 , 2 , 3 )
16
+ expect ( wrapper . emitted ( 'bar' ) ) . to . exist
17
+ expect ( wrapper . emitted ( 'bar' ) . length ) . to . equal ( 1 )
18
+ expect ( wrapper . emitted ( 'bar' ) [ 0 ] ) . to . eql ( [ 1 , 2 , 3 ] )
19
+
20
+ wrapper . vm . $emit ( 'foo' , 2 , 3 , 4 )
21
+ expect ( wrapper . emitted ( 'foo' ) ) . to . exist
22
+ expect ( wrapper . emitted ( 'foo' ) . length ) . to . equal ( 2 )
23
+ expect ( wrapper . emitted ( 'foo' ) [ 1 ] ) . to . eql ( [ 2 , 3 , 4 ] )
24
+ } )
25
+
4
26
it ( 'captures emitted events' , ( ) => {
5
27
const wrapper = mount ( {
6
28
render : h => h ( 'div' )
Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ interface Wrapper<V extends Vue> extends BaseWrapper {
79
79
text ( ) : string
80
80
name ( ) : string
81
81
82
- emitted ( ) : { [ name : string ] : Array < Array < any > > }
82
+ emitted ( string ? event ) : { [ name : string ] : Array < Array < any > > }
83
83
emittedByOrder ( ) : Array < { name : string , args : Array < any > } >
84
84
}
85
85
You can’t perform that action at this time.
0 commit comments