all files / plugins/prefix-browser/test-utils/ misc.js

100% Statements 18/18
100% Branches 4/4
100% Functions 6/6
100% Lines 18/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43         35× 35×   13×           54×                           102× 83× 83× 83×    
var fs = require('fs')
var path = require('path')
 
var mocks = require('./mocks')
 
module.exports.upToDate = function(baseDir, name) {
  var sourceTime = fs.statSync(path.join(baseDir, name)).mtime.getTime()
  var exposedTime = fs.statSync(path.join(__dirname, 'exposed.js')).mtime.getTime()
  return sourceTime < exposedTime
}
 
module.exports.makeSink = function() {
  var buffer = []
  return {
    atrule : function(rule, kind, params, hasblock) {
      buffer.push(['atrule', rule, kind, params, hasblock])
    },
    // _atrule : function() {
    //   buffer.push(['_atrule'])
    // },
    decl: function(prop, value) {
      buffer.push(['decl', prop, value])
    },
    rule : function(selector) {
      buffer.push(['rule', selector])
    },
    // _rule : function() {
    //   buffer.push(['_rule'])
    // },
    // err: function(message) {
    //   buffer.push(['err', message])
    // },
    buffer: buffer
  }
}
 
module.exports.cleanupIfNeeded = function(exposed){
  if (typeof global.cleanupMocks === 'function') {
    mocks(global)
    global.cleanupMocks()
    exposed && exposed.cleanupDetectorUtils()
  }
}