@@ -7,6 +7,7 @@ var merge = require("../../../lib/cli/cli-options").merge;
7
7
8
8
var events = require ( "events" ) ;
9
9
var path = require ( "path" ) ;
10
+ var sinon = require ( "sinon" ) ;
10
11
var assert = require ( "chai" ) . assert ;
11
12
12
13
var outpath = path . join ( __dirname , "../../fixtures" ) ;
@@ -91,4 +92,42 @@ describe("File Watcher Module", function () {
91
92
bs . watchers . core . watchers [ 0 ] . _events . all ( "change" , tempFile ) ;
92
93
} ) ;
93
94
} ) ;
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
+ } ) ;
94
133
} ) ;
0 commit comments