@@ -20,6 +20,7 @@ describe('env-var', function () {
2020 JSON_ARRAY : '[1,2,3]' ,
2121 COMMA_ARRAY : '1,2,3' ,
2222 EMPTY_ARRAY : '' ,
23+ DUPLICATE_ARRAY : '1,1,2,2,3,3' ,
2324 ARRAY_WITHOUT_DELIMITER : 'value' ,
2425 ARRAY_WITH_DELIMITER : 'value,' ,
2526 ARRAY_WITH_DELIMITER_PREFIX : ',value' ,
@@ -539,6 +540,40 @@ describe('env-var', function () {
539540 } )
540541 } )
541542
543+ describe ( '#asSet' , function ( ) {
544+ it ( 'should return an empty set when not set' , function ( ) {
545+ expect ( mod . get ( '.NOPE.' ) . asSet ( ) ) . to . deep . equal ( undefined )
546+ } )
547+
548+ it ( 'should return a set that was split on commas' , function ( ) {
549+ expect ( mod . get ( 'COMMA_ARRAY' ) . asSet ( ) ) . to . deep . equal ( new Set ( [ '1' , '2' , '3' ] ) )
550+ } )
551+
552+ it ( 'should return a set that was split on dashes' , function ( ) {
553+ expect ( mod . get ( 'DASH_ARRAY' ) . asSet ( '-' ) ) . to . deep . equal ( new Set ( [ '1' , '2' , '3' ] ) )
554+ } )
555+
556+ it ( 'should return an empty set if empty env var was set' , function ( ) {
557+ expect ( mod . get ( 'EMPTY_ARRAY' ) . asSet ( ) ) . to . deep . equal ( new Set ( ) )
558+ } )
559+
560+ it ( 'should return set with only one value if env var doesn\'t contain delimiter' , function ( ) {
561+ expect ( mod . get ( 'ARRAY_WITHOUT_DELIMITER' ) . asSet ( ) ) . to . deep . equal ( new Set ( [ 'value' ] ) )
562+ } )
563+
564+ it ( 'should return set with only one value if env var contain delimiter' , function ( ) {
565+ expect ( mod . get ( 'ARRAY_WITH_DELIMITER' ) . asSet ( ) ) . to . deep . equal ( new Set ( [ 'value' ] ) )
566+ } )
567+
568+ it ( 'should return set with only one value if env var contain delimiter as prefix' , function ( ) {
569+ expect ( mod . get ( 'ARRAY_WITH_DELIMITER_PREFIX' ) . asSet ( ) ) . to . deep . equal ( new Set ( [ 'value' ] ) )
570+ } )
571+
572+ it ( 'should return a set of unique values' , function ( ) {
573+ expect ( mod . get ( 'DUPLICATE_ARRAY' ) . asSet ( ) ) . to . deep . equal ( new Set ( [ '1' , '2' , '3' ] ) )
574+ } )
575+ } )
576+
542577 describe ( '#asPortNumber' , function ( ) {
543578 it ( 'should raise an error for ports less than 0' , function ( ) {
544579 process . env . PORT_NUMBER = '-2'
0 commit comments