mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +01:00
timeago locale test
This commit is contained in:
@@ -97,9 +97,8 @@ file.exists = function (path, callback) {
|
|||||||
if (err.code === 'ENOENT') {
|
if (err.code === 'ENOENT') {
|
||||||
return callback(null, false);
|
return callback(null, false);
|
||||||
}
|
}
|
||||||
return callback(err);
|
|
||||||
}
|
}
|
||||||
return callback(null, true);
|
callback(err, true);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var async = require('async');
|
var async = require('async');
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var csrf = require('csurf');
|
var csrf = require('csurf');
|
||||||
var validator = require('validator');
|
var validator = require('validator');
|
||||||
@@ -13,6 +12,7 @@ var plugins = require('../plugins');
|
|||||||
var meta = require('../meta');
|
var meta = require('../meta');
|
||||||
var user = require('../user');
|
var user = require('../user');
|
||||||
var groups = require('../groups');
|
var groups = require('../groups');
|
||||||
|
var file = require('../file');
|
||||||
|
|
||||||
var analytics = require('../analytics');
|
var analytics = require('../analytics');
|
||||||
|
|
||||||
@@ -143,24 +143,25 @@ middleware.applyBlacklist = function (req, res, next) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
middleware.processTimeagoLocales = function (req, res) {
|
middleware.processTimeagoLocales = function (req, res, next) {
|
||||||
var fallback = req.path.indexOf('-short') === -1 ? 'jquery.timeago.en.js' : 'jquery.timeago.en-short.js';
|
var fallback = req.path.indexOf('-short') === -1 ? 'jquery.timeago.en.js' : 'jquery.timeago.en-short.js';
|
||||||
var localPath = path.join(__dirname, '../../public/vendor/jquery/timeago/locales', req.path);
|
var localPath = path.join(__dirname, '../../public/vendor/jquery/timeago/locales', req.path);
|
||||||
var exists;
|
|
||||||
|
|
||||||
try {
|
|
||||||
exists = fs.accessSync(localPath, fs.F_OK | fs.R_OK);
|
|
||||||
} catch (e) {
|
|
||||||
exists = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
async.waterfall([
|
||||||
|
function (next) {
|
||||||
|
file.exists(localPath, next);
|
||||||
|
},
|
||||||
|
function (exists, next) {
|
||||||
if (exists) {
|
if (exists) {
|
||||||
res.status(200).sendFile(localPath, {
|
next(null, localPath);
|
||||||
maxAge: req.app.enabled('cache') ? 5184000000 : 0,
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
res.status(200).sendFile(path.join(__dirname, '../../public/vendor/jquery/timeago/locales', fallback), {
|
next(null, path.join(__dirname, '../../public/vendor/jquery/timeago/locales', fallback));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function (path) {
|
||||||
|
res.status(200).sendFile(path, {
|
||||||
maxAge: req.app.enabled('cache') ? 5184000000 : 0,
|
maxAge: req.app.enabled('cache') ? 5184000000 : 0,
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
], next);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1287,6 +1287,25 @@ describe('Controllers', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('timeago locales', function () {
|
||||||
|
it('should load timeago locale', function (done) {
|
||||||
|
request(nconf.get('url') + '/assets/vendor/jquery/timeago/locales/jquery.timeago.af.js', function (err, res, body) {
|
||||||
|
assert.ifError(err);
|
||||||
|
assert.equal(res.statusCode, 200);
|
||||||
|
assert(body.indexOf('Afrikaans') !== -1);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should load timeago locale', function (done) {
|
||||||
|
request(nconf.get('url') + '/assets/vendor/jquery/timeago/locales/jquery.timeago.404.js', function (err, res, body) {
|
||||||
|
assert.ifError(err);
|
||||||
|
assert.equal(res.statusCode, 200);
|
||||||
|
assert(body.indexOf('English') !== -1);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
after(function (done) {
|
after(function (done) {
|
||||||
var analytics = require('../src/analytics');
|
var analytics = require('../src/analytics');
|
||||||
|
|||||||
Reference in New Issue
Block a user