@@ -7,6 +7,12 @@ describe('nuke.js', function () {
77 const htmlContent = fs . readFileSync ( path . join ( __dirname , '/fixtures/content.html' ) , 'utf8' )
88 const cssContent = fs . readFileSync ( path . join ( __dirname , '/fixtures/content.css' ) , 'utf8' )
99
10+ it ( 'should keep used rules' , function ( ) {
11+ const result = nukecss ( htmlContent , cssContent )
12+ expect ( result ) . to . contain ( '#something[title*=foo]:hover' )
13+ expect ( result ) . to . contain ( '.something' )
14+ } )
15+
1016 it ( 'should remove unused rules' , function ( ) {
1117 const result = nukecss ( htmlContent , cssContent )
1218 expect ( result ) . to . not . contain ( 'foobar[something=x]' )
@@ -24,6 +30,20 @@ describe('nuke.js', function () {
2430 expect ( result ) . to . contain ( '.totally-unused' )
2531 } )
2632
33+ it ( 'should respect the whitelist' , function ( ) {
34+ const whitelist = [ 'foo-bar-3' ]
35+ const result = nukecss ( htmlContent , cssContent , { whitelist} )
36+ expect ( result ) . to . contain ( '.foo-bar-3' )
37+ } )
38+
39+ it ( 'should respect the blacklist' , function ( ) {
40+ const blacklist = [ 'something' ]
41+ const extraHtml = '<div id="blacklist-test">test</div>'
42+ const extraCss = '\n.something, #blacklist-test { color: white; }'
43+ const result = nukecss ( [ htmlContent , extraHtml ] , cssContent + extraCss , { blacklist} )
44+ expect ( result ) . to . contain ( '#blacklist-test' )
45+ } )
46+
2747 it ( 'should support multiple sources' , function ( ) {
2848 const result = nukecss ( [ htmlContent , '<div id="foo-bar-3"></div>' ] , cssContent )
2949 expect ( result ) . to . contain ( '.foo-bar-3' )
0 commit comments