Expose path to the built-in favicon file

The path is available via `loopback.faviconFile`.
This commit is contained in:
Miroslav Bajtoš 2014-11-03 10:00:24 +01:00
parent 2d0b74b007
commit edd464aca5
2 changed files with 31 additions and 3 deletions

View File

@ -126,6 +126,25 @@ if (loopback.isServer) {
});
}
/*
* Expose path to the default favicon file
*
* ***only in node***
*/
if (loopback.isServer) {
/**
* Path to a default favicon shipped with LoopBack.
*
* **Example**
*
* ```js
* app.use(require('serve-favicon')(loopback.faviconFile));
* ```
*/
loopback.faviconFile = path.resolve(__dirname, '../favicon.ico');
}
/*!
* Error handler title
*/

View File

@ -1,3 +1,5 @@
var it = require('./util/it');
describe('loopback', function() {
var nameCounter = 0;
var uniqueModelName;
@ -11,6 +13,13 @@ describe('loopback', function() {
expect(loopback.ValidationError).to.be.a('function')
.and.have.property('name', 'ValidationError');
});
it.onServer('includes `faviconFile`', function() {
var file = loopback.faviconFile;
expect(file, 'faviconFile').to.not.equal(undefined);
expect(require('fs').existsSync(loopback.faviconFile), 'file exists')
.to.equal(true);
});
});
describe('loopback.createDataSource(options)', function() {
@ -68,11 +77,11 @@ describe('loopback', function() {
describe('loopback.remoteMethod(Model, fn, [options]);', function() {
it("Setup a remote method.", function() {
var Product = loopback.createModel('product', {price: Number});
Product.stats = function(fn) {
// ...
}
loopback.remoteMethod(
Product.stats,
{
@ -80,7 +89,7 @@ describe('loopback', function() {
http: {path: '/info', verb: 'get'}
}
);
assert.equal(Product.stats.returns.arg, 'stats');
assert.equal(Product.stats.returns.type, 'array');
assert.equal(Product.stats.http.path, '/info');