docker for cucumber BDD
[sdc.git] / cucumber-js-test-apis-ci / plugins / steps.js
1 /*
2  * Copyright © 2016-2017 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 /**
17  * @module plugins/steptag
18  */
19 'use strict';
20
21
22 exports.handlers = {
23         /**
24          * Support @step tag.
25          *
26          * @step description
27          */
28         newDoclet: function(e) {
29                 var tags = e.doclet.tags;
30                 var tag;
31                 var value;
32
33                 // any user-defined tags in this doclet?
34                 if (typeof tags !== 'undefined') {
35
36                         tags = tags.filter(function($) {
37                                 return $.title === 'step' || $.title === 'examplefile';
38                         });
39
40                         if (tags.length) {
41                                 // take the first one
42                                 tag = tags[0];
43                                 let step = null;
44                                 let exampleFile = null;
45                                 for (tag in tags) {
46                                         if (tags[tag].title === "step") {
47                                                 step = "<b>" + tags[tag].value + "</b><br>";
48                                         }
49                                         if (tags[tag].title === "examplefile") {
50                                                 exampleFile = "<i> Example Features File: " + tags[tag].value + "</i><br>";
51                                         }
52                                 }
53                                 if (exampleFile !== null) {
54                                         step += exampleFile;
55                                 }
56                                 e.doclet.meta = e.doclet.meta || {};
57                                 if (e.doclet.description !== undefined) {
58                                         e.doclet.description =  step +  e.doclet.description;
59                                 } else {
60                                         e.doclet.description =  step;
61                                 }
62                         }
63                 }
64         }
65 };