mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-05-18 04:03:45 +08:00
chore(protractor-generator): add dgeni processor for protractor
This commit is contained in:
committed by
Peter Bacon Darwin
parent
0f77bd6d0a
commit
cd508678cd
@@ -12,6 +12,7 @@ module.exports = function(config) {
|
||||
require('./processors/keywords'),
|
||||
require('./processors/versions-data'),
|
||||
require('./processors/pages-data'),
|
||||
require('./processors/protractor-generate'),
|
||||
require('./processors/index-page')
|
||||
]);
|
||||
|
||||
|
||||
45
docs/config/processors/protractor-generate.js
Normal file
45
docs/config/processors/protractor-generate.js
Normal file
@@ -0,0 +1,45 @@
|
||||
var _ = require('lodash');
|
||||
var log = require('winston');
|
||||
var path = require('canonical-path');
|
||||
var trimIndentation = require('dgeni/lib/utils/trim-indentation');
|
||||
var code = require('dgeni/lib/utils/code');
|
||||
var protractorFolder;
|
||||
|
||||
module.exports = {
|
||||
name: 'protractor-generate',
|
||||
description: 'Generate a protractor test file from the e2e tests in the examples',
|
||||
runAfter: ['adding-extra-docs'],
|
||||
runBefore: ['extra-docs-added'],
|
||||
init: function(config, injectables) {
|
||||
protractorFolder = config.get('rendering.protractor.outputFolder', 'ptore2e');
|
||||
},
|
||||
process: function(docs, examples) {
|
||||
_.forEach(examples, function(example) {
|
||||
|
||||
_.forEach(example.files, function(file) {
|
||||
|
||||
// Check if it's a Protractor test.
|
||||
if (!(file.type == 'protractor')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a new file for the test.
|
||||
// TODO - at the moment, only jqLite is being used. Will need to generate
|
||||
// another doc for jQuery if we want to test against that.
|
||||
var protractorDoc = {
|
||||
docType: 'e2e-test',
|
||||
id: 'protractorTest' + '-' + example.id,
|
||||
template: 'protractorTests.template.js',
|
||||
outputPath: path.join(protractorFolder, example.id, 'jqlite' + '_test.js'),
|
||||
innerTest: file.fileContents,
|
||||
pathPrefix: '.', // Hold for if we test with full jQuery
|
||||
exampleId: example.id,
|
||||
description: example.doc.id,
|
||||
examplePath: example.outputFolder + '/index.html'
|
||||
};
|
||||
|
||||
docs.push(protractorDoc);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
7
docs/config/templates/protractorTests.template.js
Normal file
7
docs/config/templates/protractorTests.template.js
Normal file
@@ -0,0 +1,7 @@
|
||||
describe("{$ doc.description $}", function() {
|
||||
beforeEach(function() {
|
||||
browser.get("{$ doc.pathPrefix $}/{$ doc.examplePath $}");
|
||||
});
|
||||
|
||||
{$ doc.innerTest $}
|
||||
});
|
||||
Reference in New Issue
Block a user