UNPKG

connect-cache-manifest

Version:

Express/connect middleware to generate HTML5 cache manifest file

70 lines (56 loc) 1.98 kB
var assert = require('assert'); process.env.NODE_ENV = 'unit-test'; var theModule = require('../connect-cache-manifest.js'); describe('unit test for cacheManifest', function() { it('should get expand directories', function() { var expandDirectories = theModule.expandDirectories; var files = expandDirectories([{ dir: './test/public', prefix: '/' }]); assert.equal(files.length, 2); assert.ok((files[0].file.match(/\/js\/foo.js$/) && files[1].file.match(/\/js\/bar.js$/)) || (files[1].file.match(/\/js\/foo.js$/) && files[0].file.match(/\/js\/bar.js$/))); assert.ok(files[0].path === '/js/foo.js' || files[1].path === '/js/foo.js'); }); it('should get expand directories (ignore, replace)', function() { var expandDirectories = theModule.expandDirectories; var files = expandDirectories([{ dir: './test/public', prefix: '/', ignore: function(x) { return x.indexOf('bar') >= 0; }, replace: function(x) { return x.replace('foo', 'foo2'); } }]); assert.equal(files.length, 1); assert.ok((files[0].file.match(/\/js\/foo.js$/))); assert.ok(files[0].path === '/js/foo2.js'); }); it('should get last modified time', function(done) { var getLastModified = theModule.getLastModified; getLastModified([{ file: __dirname + '/public/js/foo.js', path: '/js/foo.js' }], function(err, last) { assert.ifError(err); assert.ok(last > 0); done(); }); }); it('should generate a manifest', function() { var generateManifest = theModule.generateManifest; var manifest = generateManifest({ manifestPath: '/app.manifest', files: [{ file: __dirname + '/public/js/foo.js', path: '/js/foo.js' }], cdn: [], networks: ['*'], fallbacks: [] }, 999); assert.equal(manifest, 'CACHE MANIFEST\n# 999\n\nCACHE:\n/js/foo.js\n\nNETWORK:\n*\n\nFALLBACK:\n'); }); });