@@ -7,6 +7,7 @@ var merge = require("../../../lib/cli/cli-options").merge;
77
88var events = require ( "events" ) ;
99var path = require ( "path" ) ;
10+ var sinon = require ( "sinon" ) ;
1011var assert = require ( "chai" ) . assert ;
1112
1213var outpath = path . join ( __dirname , "../../fixtures" ) ;
@@ -91,4 +92,42 @@ describe("File Watcher Module", function () {
9192 bs . watchers . core . watchers [ 0 ] . _events . all ( "change" , tempFile ) ;
9293 } ) ;
9394 } ) ;
95+ it ( "should allow obj literal with match & options, but without callback fn" , function ( done ) {
96+
97+ var tempFile = path . join ( outpath , "watch-func.txt" ) ;
98+
99+ // assert: it works if it calls done
100+ var bs = browserSync . create ( ) ;
101+
102+ bs . init ( {
103+ files : [
104+ {
105+ options : {
106+ ignoreInitial : true
107+ } ,
108+ match : tempFile
109+ }
110+ ] ,
111+ ui : false ,
112+ online : false ,
113+ logSnippet : false ,
114+ logLevel : "silent"
115+ } , function ( err , bs ) {
116+
117+ var spy = sinon . spy ( bs . events , "emit" ) ;
118+
119+ bs . watchers . core . watchers [ 0 ] . _events . all ( "change" , tempFile ) ;
120+
121+ var callArgs = spy . getCall ( 0 ) . args ;
122+
123+ assert . equal ( callArgs [ 0 ] , "file:changed" ) ;
124+ assert . equal ( callArgs [ 1 ] . basename , "watch-func.txt" ) ;
125+ assert . equal ( callArgs [ 1 ] . event , "change" ) ;
126+ assert . equal ( callArgs [ 1 ] . namespace , "core" ) ;
127+
128+ bs . cleanup ( ) ;
129+
130+ done ( ) ;
131+ } ) ;
132+ } ) ;
94133} ) ;
0 commit comments