Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add doc test #989

Merged
merged 7 commits into from
Jun 9, 2017
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/source/_data/guide_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Advanced:
Cluster Client: /advanced/cluster-client.html
View Plugin: /advanced/view-plugin.html
Community:
Plugin List: /plugins
Plugin List: /plugins/
Contributing: /contributing.html
Resource: /resource.html
# Member Guide: /member_guide.html
Expand Down
11 changes: 8 additions & 3 deletions lib/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -189,13 +189,18 @@ class Application extends EggApplication {
}

/**
* The helper class, `app/helper` will be loaded to it's prototype,
* then you can use all method on `ctx.helper`
* reference to {@link Helper}
* @member {Helper} Application#Helper
*/
get Helper() {
if (!this[HELPER]) {
this[HELPER] = class Helper extends this.BaseContextClass {};
/**
* The Helper class which can be used as utility function.
* Files from `${baseDir}/app/helper` will be loaded to the prototype of Helper,
* then you can use all method on `ctx.helper` that is a instance of Helper.
*/
class Helper extends this.BaseContextClass {}
this[HELPER] = Helper;
}
return this[HELPER];
}
Expand Down
3 changes: 3 additions & 0 deletions lib/core/messenger.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ const is = require('is-type-of');
const sendmessage = require('sendmessage');
const EventEmitter = require('events');

/**
* Communication between app worker and agent worker by IPC channel
*/
class Messenger extends EventEmitter {

constructor() {
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,10 @@
"egg-view-nunjucks": "^2.1.2",
"eslint": "^3.19.0",
"eslint-config-egg": "^4.2.0",
"findlinks": "^1.1.0",
"formstream": "^1.1.0",
"glob": "^7.1.2",
"koa-static": "^3.0.0",
"mz-modules": "^1.0.0",
"pedding": "^1.1.0",
"spy": "^1.0.0",
Expand Down
30 changes: 30 additions & 0 deletions test/doc.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
'use strict';

const path = require('path');
const findlinks = require('findlinks');
const assert = require('assert');
const runscript = require('runscript');
const utils = require('./utils');

describe('test/doc.test.js', () => {

if (process.platform === 'win32') return;

let app;
before(function* () {
yield runscript('doctools build', { cwd: path.dirname(__dirname) });
});
before(function* () {
app = utils.cluster({
baseDir: 'apps/docapp',
});
app.coverage(false);
yield app.ready();
});
after(() => app.close());

it('should no broken url', function* () {
const result = yield findlinks({ src: app.url, logger: console });
assert(result.fail === 0);
});
});
7 changes: 7 additions & 0 deletions test/fixtures/apps/docapp/app/middleware/koastatic.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
'use strict';

const path = require('path');

module.exports = () => {
return require('koa-static')(path.join(process.cwd(), 'run/doctools/public'));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

怎么不直接用 egg-static?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不支持 index

};
8 changes: 8 additions & 0 deletions test/fixtures/apps/docapp/config/config.default.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

const path = require('path');

module.exports = {
keys: 'test key',
middleware: [ 'koastatic' ],
};
3 changes: 3 additions & 0 deletions test/fixtures/apps/docapp/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"name": "docapp"
}