@@ -4,13 +4,15 @@ import {scopeEnum} from './scope-enum';
44const messages = {
55 plain : 'foo(bar): baz' ,
66 superfluous : 'foo(): baz' ,
7- empty : 'foo: baz'
7+ empty : 'foo: baz' ,
8+ multiple : 'foo(bar,baz): qux'
89} ;
910
1011const parsed = {
1112 plain : parse ( messages . plain ) ,
1213 superfluous : parse ( messages . superfluous ) ,
13- empty : parse ( messages . empty )
14+ empty : parse ( messages . empty ) ,
15+ multiple : parse ( messages . multiple )
1416} ;
1517
1618test ( '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 ()
9092 const expected = true ;
9193 expect ( actual ) . toEqual ( expected ) ;
9294} ) ;
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