@@ -4,13 +4,15 @@ import {scopeEnum} from './scope-enum';
4
4
const messages = {
5
5
plain : 'foo(bar): baz' ,
6
6
superfluous : 'foo(): baz' ,
7
- empty : 'foo: baz'
7
+ empty : 'foo: baz' ,
8
+ multiple : 'foo(bar,baz): qux'
8
9
} ;
9
10
10
11
const parsed = {
11
12
plain : parse ( messages . plain ) ,
12
13
superfluous : parse ( messages . superfluous ) ,
13
- empty : parse ( messages . empty )
14
+ empty : parse ( messages . empty ) ,
15
+ multiple : parse ( messages . multiple )
14
16
} ;
15
17
16
18
test ( 'scope-enum with plain message and always should succeed empty enum' , async ( ) => {
@@ -90,3 +92,21 @@ test('scope-enum with empty scope and never should succeed empty enum', async ()
90
92
const expected = true ;
91
93
expect ( actual ) . toEqual ( expected ) ;
92
94
} ) ;
95
+
96
+ test ( 'scope-enum with multiple scope should succeed on message with multiple scope' , async ( ) => {
97
+ const [ actual ] = scopeEnum ( await parsed . multiple , 'never' , [ 'bar' , 'baz' ] ) ;
98
+ const expected = false ;
99
+ expect ( actual ) . toEqual ( expected ) ;
100
+ } ) ;
101
+
102
+ test ( 'scope-enum with multiple scope should error on message with forbidden enum' , async ( ) => {
103
+ const [ actual ] = scopeEnum ( await parsed . multiple , 'never' , [ 'bar' , 'qux' ] ) ;
104
+ const expected = true ;
105
+ expect ( actual ) . toEqual ( expected ) ;
106
+ } ) ;
107
+
108
+ test ( 'scope-enum with multiple scope should error on message with superfluous scope' , async ( ) => {
109
+ const [ actual ] = scopeEnum ( await parsed . multiple , 'never' , [ 'bar' ] ) ;
110
+ const expected = true ;
111
+ expect ( actual ) . toEqual ( expected ) ;
112
+ } ) ;
0 commit comments