@@ -28,32 +28,42 @@ tape('stream output', function (t) {
2828 t . plan ( cssFilesTotal * 2 + 1 ) ;
2929
3030 var cssFilesCount = 0 ;
31- browserify ( path . join ( simpleCaseDir , 'main.js' ) )
31+ var b = browserify ( path . join ( simpleCaseDir , 'main.js' ) ) ;
32+
33+ b
3234 . plugin ( cssModulesify , {
3335 rootDir : path . join ( simpleCaseDir )
3436 } )
3537 . on ( 'error' , t . error )
36- . bundle ( function noop ( ) { } )
37- . on ( 'css stream' , function ( stream ) {
38- stream
39- . on ( 'data' , function onData ( css ) {
40- var cssString = css . toString ( ) ;
41- // just get the first class name, use that as an id
42- var cssId = cssString . split ( '\n' ) [ 0 ] . split ( ' ' ) [ 0 ] ;
43-
44- t . ok (
45- ++ cssFilesCount <= cssFilesTotal
46- , 'emits data for ' + cssId
47- ) ;
48-
49- t . ok (
50- cssString . indexOf ( '._styles' ) === 0
51- , 'emits compiled css for ' + cssId
52- ) ;
53- } )
54- . on ( 'end' , function onEnd ( ) {
55- t . pass ( 'ends the stream' ) ;
56- } )
57- . on ( 'error' , t . error ) ;
58- } ) ;
38+ . bundle ( function noop ( ) { } ) ;
39+
40+ b
41+ . once ( 'css stream' , function ( stream ) {
42+ stream
43+ . on ( 'data' , function onData ( css ) {
44+ var cssString = css . toString ( ) ;
45+ // just get the first class name, use that as an id
46+ var cssId = cssString . split ( '\n' ) [ 0 ] . split ( ' ' ) [ 0 ] ;
47+
48+ t . ok (
49+ ++ cssFilesCount <= cssFilesTotal
50+ , 'emits data for ' + cssId
51+ ) ;
52+
53+ t . ok (
54+ cssString . indexOf ( '._styles' ) === 0
55+ , 'emits compiled css for ' + cssId
56+ ) ;
57+ } )
58+ . on ( 'end' , function onEnd ( ) {
59+ t . pass ( 'ends the stream' ) ;
60+
61+ b . bundle ( function noop ( ) { } ) ;
62+
63+ b . once ( 'css stream' , function ( stream2 ) {
64+ t . ok ( stream2 , 'registers a second event for a CSS stream' ) ;
65+ } ) ;
66+ } )
67+ . on ( 'error' , t . error ) ;
68+ } ) ;
5969} ) ;
0 commit comments