@@ -125,6 +125,49 @@ describe('gulp-sass -- async compile', function() {
125
125
stream . write ( errorFile ) ;
126
126
} ) ;
127
127
128
+ it ( 'should compile a single sass file if the file name has been changed in the stream' , function ( done ) {
129
+ var sassFile = createVinyl ( 'mixins.scss' ) ;
130
+ var stream ;
131
+
132
+ // Transform file name
133
+ sassFile . path = path . join ( path . join ( __dirname , 'scss' ) , 'mixin--changed.scss' ) ;
134
+
135
+ stream = sass ( ) ;
136
+ stream . on ( 'data' , function ( cssFile ) {
137
+ should . exist ( cssFile ) ;
138
+ should . exist ( cssFile . path ) ;
139
+ cssFile . path . split ( '/' ) . pop ( ) . should . equal ( 'mixin--changed.css' ) ;
140
+ should . exist ( cssFile . relative ) ;
141
+ should . exist ( cssFile . contents ) ;
142
+ String ( cssFile . contents ) . should . equal (
143
+ fs . readFileSync ( path . join ( __dirname , 'expected/mixins.css' ) , 'utf8' )
144
+ ) ;
145
+ done ( ) ;
146
+ } ) ;
147
+ stream . write ( sassFile ) ;
148
+ } ) ;
149
+
150
+ it ( 'should preserve changes made in-stream to a Sass file' , function ( done ) {
151
+ var sassFile = createVinyl ( 'mixins.scss' ) ;
152
+ var stream ;
153
+
154
+ // Transform file name
155
+ sassFile . contents = new Buffer ( '/* Added Dynamically */' + sassFile . contents . toString ( ) ) ;
156
+
157
+ stream = sass ( ) ;
158
+ stream . on ( 'data' , function ( cssFile ) {
159
+ should . exist ( cssFile ) ;
160
+ should . exist ( cssFile . path ) ;
161
+ should . exist ( cssFile . relative ) ;
162
+ should . exist ( cssFile . contents ) ;
163
+ String ( cssFile . contents ) . should . equal ( '/* Added Dynamically */\n' +
164
+ fs . readFileSync ( path . join ( __dirname , 'expected/mixins.css' ) , 'utf8' )
165
+ ) ;
166
+ done ( ) ;
167
+ } ) ;
168
+ stream . write ( sassFile ) ;
169
+ } ) ;
170
+
128
171
it ( 'should work with gulp-sourcemaps' , function ( done ) {
129
172
var sassFile = createVinyl ( 'inheritance.scss' ) ;
130
173
0 commit comments