r-cochran/cuke_sniffer

View on GitHub
examples/empty_project/min_cuke_sniffer_results.html

Summary

Maintainability
Test Coverage


<div class="container">
   <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-XdYbMnZ/QjLh6iI4ogqCTaIjrFk87ip+ekIjefZch0Y+PvJ8CDYtEs1ipDmPorQ+" crossorigin="anonymous">

<style>

    h1 small {
        font-size: 16px;
    }
    .panel-default {
        border-color: #509f50;
    }

    .panel-default>.panel-heading {
        background-color: #509f50;
        border-color: #3a753a;
        color: white;
    }


    .table-striped>tbody>tr:nth-of-type(odd),
    .improvement:nth-of-type(odd),
    .blueRow {
        background-color: #ccffff;
    }

    .glyphicon-question-sign:before {
        color: #509f50;
    }

    .small {
        display: none;
    }

    .panel-body {
        padding:0px;
    }

    .panel-body>div>div {
        padding: 8px;
        font-size: 16px;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    }

    .red {
        color: rgba(208, 33, 33, 0.73);
    }

    .black {
        color: black;
    }

    .button-bar {
        padding: 10px;
    }

    .button-bar .btn {
        margin-top: 10px;
        margin-bottom: 10px
    }
    
    .button-bar .btn-group {
        margin-left: 10px;
    }

    .rule, .deadStep, .feature,
    .stepDefinition, .hook {
        cursor: pointer;
    }

    .details .well{
        margin-bottom: 0px;
        cursor: default;
    }

    .scenario > .title {
        margin-top: 15px;
    }

    .well .well {
        background-color: white;
    }

    .table.collapse.in {
        display: inline-table;
    }

    .panel-heading {
        cursor: pointer;
    }

    .filename {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .small-page {
        display: none;
    }

    @media screen and (max-width: 993px){
        #ruleFilters {
            padding-left: 10px;
        }
    }

    @media screen and (max-width: 480px){
        .full-page {
            display: none;
        }
        .small-page {
            display: inline;
        }

        #rules_data .enable-bar {
            padding-left: 10px;
        }

        .ruleFilters .small-page {
            font-size: 20px;
        }
    }
</style>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

<script type="text/javascript">
    var CukeSniffer = {
    init: function(){
        CukeSniffer.actions.bind();
        CukeSniffer.view._startTooltips();
        CukeSniffer.view._updateRowColors();
        CukeSniffer.view._disableRulesFromLocalStorage();
    },
    view: {
        _disableRulesFromLocalStorage: function(){
            $.each($("[data-rule-symbol]"), function(index, rule){
                var $rule = $(rule),
                    symbol = $rule.data("rule-symbol"),
                    hasCookie = localStorage.getItem(symbol) != undefined;
                if(hasCookie){
                    $rule.find("input").click();
                }
            });
        },
        toggleDetails: function(){
            $(this).closest(".deadStep, .feature, .stepDefinition, .hook").find(".row > .details").slideToggle();
        },
        _startTooltips: function(){
            $("[title]").tooltip();
        },
        _updateRowColors: function(){
            $(".rule:visible:even, .deadStep:even, .feature:even, .stepDefinition:even, .hook:even").addClass("blueRow");
        },
        _updateVisibleItems: function(){
            $(".feature, .backgroundProblems, .scenario, .scenarios, .stepDefinition, .hook").hide();
            CukeSniffer.view._updateVisibleFeatureIssues();
            CukeSniffer.view._updateVisibleStepDefinitionIssues();
            CukeSniffer.view._updateVisibleHookIssues();
        },
        _updateVisibleFeatureIssues: function(){
            var $visibleFeatures = $(".feature:has([show])"),
                $visibleBackground = $(".backgroundProblems:has([show])"),
                $visibleScenarioBlocks = $(".scenarios:has([show])"),
                $visibleScenarios = $(".scenario:has(.details [data-improvement-row][show])");

            $visibleFeatures.show();
            $visibleBackground.show();
            $visibleScenarioBlocks.show();
            $visibleScenarios.show();
            $visibleScenarios.find(".details").show();
        },
        _updateVisibleStepDefinitionIssues: function(){
            var $visibleStepDefinition = $(".stepDefinition:has([show])")
            $visibleStepDefinition.show();
        },
        _updateVisibleHookIssues: function(){
            var $visibleHooks = $(".hook:has([show])")
            $visibleHooks.show();
        }
    },
    actions: {
        bind: function(){
            CukeSniffer.actions._bindExpandAll();
            CukeSniffer.actions._bindCollapseAll();
            CukeSniffer.actions._bindShowDeadSteps()
            CukeSniffer.actions._togglePanelHeaderIcons();
            CukeSniffer.actions._viewRules();
            CukeSniffer.actions._clickRow();
            CukeSniffer.actions._ruleFilters();
            CukeSniffer.actions.toggleDetails();
            CukeSniffer.actions.enableAllRules();
            CukeSniffer.actions.disableAllRules();
            CukeSniffer.actions.changeRuleStatus();
        },
        _bindExpandAll: function(){
            $(document).on("click", "[expand]", function(){
                $(this).closest(".panel-body").find(".details").show();
            });
        },
        _bindShowDeadSteps: function(){
            $("#step_definitions .deadStep").hide();
            $(document).on("click", "#showDeadSteps", function(){
                $("#step_definitions .deadStep").toggle()
            });
        },
        _bindCollapseAll: function(){
            $(document).on("click", "[collapse]", function(){
                $(this).closest(".panel-body").find(".details").hide();
            });
        },
        _togglePanelHeaderIcons: function(){
            $(document).on("click", ".panel-title", function(){
                var $icon = $(this).find(".glyphicon");
                $icon.toggleClass("glyphicon-menu-down");
                $icon.toggleClass("glyphicon-menu-up");
            });
        },
        _viewRules: function(){
            $(document).on("click", "#rulesTab", CukeSniffer.view._updateRowColors);
        },
        _clickRow: function(){
            $(document).on("click", ".rule", function(){
                var $details = $(this).find(".details");
                $details.toggle();
            });
            $(document).on("click", ".rule :checkbox", function(event){
                event.stopPropagation();
            });
        },
        _ruleFilters: function(){
            $(document).on("click", "#ruleFilters .btn", function(){
                var $clickedCheckbox = $(this).find(":checkbox");
                $(".rule").hide().removeClass("blueRow");
                $("#ruleFilters .btn").each(function(index, button){
                    var $checkbox = $(button).find(":checkbox"),
                        filterName = $checkbox.data("rule-type"),
                    //hate this hack.
                        checked = ($clickedCheckbox[0] == $checkbox[0]) ? !$checkbox.is(":checked") : $checkbox.is(":checked");
                    if(checked){
                        $("[rule-" + filterName + "]").show();
                    }
                });
                CukeSniffer.view._updateRowColors();
            });
        },
        toggleDetails: function(){
            $(document).on("click", ".deadStep > .row > .title," +
                " .feature > .row > .title, " +
                ".stepDefinition > .row > .title, " +
                ".hook .title", CukeSniffer.view.toggleDetails);
        },
        enableAllRules: function(){
            $(document).on("click", "#enableAllRules", function(){
                $(".rule input[type='checkbox']:not(:checked)").click();
            });
        },
        disableAllRules: function(){
            $(document).on("click", "#disableAllRules", function(){
                $(".rule input[type='checkbox']:checked").click();
            });
        },
        changeRuleStatus: function(){
            $(document).on("click", ".rule input[type='checkbox']", function(){
                var enabled = $(this).is(":checked"),
                    $rule = $(this).closest(".rule"),
                    phrase = $rule.find("[data-phrase]").html(),
                    symbol = $rule.data("rule-symbol"),
                    improvementPhraseList = [];
                if(enabled){
                    localStorage.removeItem(symbol);
                } else {
                    localStorage.setItem(symbol, true);
                }
                if(phrase.indexOf("{class}") != -1) {
                    var targets = $(this).closest(".rule").find("[data-targets]").html().trim().split(", ");
                    if(targets.indexOf("Scenario") != -1){
                        targets.push("Scenario Outline");
                    }
                    $.each(targets, function (n, target) {
                        improvementPhraseList.push(phrase.replace("{class}", target))
                    });
                } else if(phrase.indexOf("{word}") != -1){
                    var targets = $(this).closest(".rule").find("[data-conditions]").html().trim().replace("[", "").replace("]", "").replace(/\"/g, "").split(", ");
                    $.each(targets, function (n, target) {
                        improvementPhraseList.push(phrase.replace("{word}", target))
                    });
                } else {
                    improvementPhraseList.push(phrase)
                }
                (enabled) ? CukeSniffer.actions._enableRule(improvementPhraseList) : CukeSniffer.actions._disableRule(improvementPhraseList);
            });
        },
        _enableRule: function(improvementPhraseList){
            $.each(improvementPhraseList, function(n, phrase){
                var $all = $("[data-improvement-row]:has([data-improvement='" + phrase +"'])");
                $all.show();
                $all.attr("show", true);
            });
            CukeSniffer.view._updateVisibleItems();
        },
        _disableRule: function(improvementPhraseList){
            $.each(improvementPhraseList, function(n, phrase){
                var $all = $("[data-improvement-row]:has([data-improvement='" + phrase +"'])");
                $all.hide();
                $all.removeAttr("show");
            });
            CukeSniffer.view._updateVisibleItems();
        }
    }
};
    $(document).ready(function(){
        CukeSniffer.init();
    });
</script>

   <div class="row">
  <div class="page-header">
    <h1>
      Cuke Sniffer <a class="black" target="_blank" href="https://github.com/r-cochran/cuke_sniffer"><span class="fa fa-github"></span></a>
      
        <small>1.1.0</small>
      
    </h1>
    <div>Score:
      <span class="score">0</span>
    </div>
  </div>
</div>
   <div class="row">
  <div class="panel panel-default">
    <div class="panel-heading panel-title" data-toggle="collapse" data-target="#information" >
      Information <span class="glyphicon glyphicon-menu-down"></span>
    </div>
    <div id="information" class="panel-body collapse">
      <div class="col-md-12">
        <div class="col-md-1">
          <h4>Purpose:</h4>
        </div>
        <div class="col-md-11">
          As users of Cucumber we are developers that wish to treat our testing projects with the same respect and
          quality as our production and user facing code. We wish to follow best practices and to avoid falling into
          some of the anti patterns that are easy to slip into using Cucumber. Cuke Sniffer was made to aid in the
          identification of these issues. The list of improvements has been constructed on opinions from the authors
          and feedback from community members. Not everyone will share these opinions and for that reason all
          improvements can be turned off when generating this report. See the
          <a target="_blank" href="https://github.com/r-cochran/cuke_sniffer/wiki">wiki</a> for instructions on how.
        </div>
      </div>
      <div class="col-md-12">
        <div class="col-md-1">
          <h4>Scoring:</h4>
        </div>
        <div class="col-md-11">
          Scoring is based on the number of 'smells' in a cucumber project, where smells are potential misuses or
          errors. Cuke Sniffer follows a 'golf score' type system where the lower the number, the better. 'Min' refers
          to the overall best score for a particular object and the 'Max' is the overall worst object score. The score
          is <u>relative</u> to each project and should be used to compare the project and teams growth.
        </div>
      </div>
      <div class="col-md-12">
        <div class="col-md-1">
          <h4>Authors:</h4>
        </div>
        <div class="col-md-11">
          <div>
            Robert Cochran <a target="_blank" href="https://twitter.com/cochrarj"><i class="fa fa-twitter"></i></a>
          </div>
          <div>
            Robert Anderson <a target="_blank" href="https://twitter.com/bobthesatyr1337"><i class="fa fa-twitter"></i></a>
          </div>
          <div>
            Christopher Vaughn <a target="_blank" href="https://twitter.com/mistercvaughn"><i class="fa fa-twitter"></i></a>
          </div>
        </div>
      </div>
      <div class="col-md-12">
        <div class="col-md-1">
          <h4>Links:</h4>
        </div>
        <div class="col-md-11">
          <div>
            <div>
              <a target="_blank" href="https://github.com/r-cochran/cuke_sniffer/issues">
                <span class="fa fa-bug"></span> Report Issues
              </a>

            </div>
            <div>
              <a target="_blank" href="https://github.com/r-cochran/cuke_sniffer/wiki/Patch-notes">
                <span class="fa fa-list"></span> Patch Notes
              </a>

            </div>
            <div>
              <a target="_blank" href="https://github.com/r-cochran/cuke_sniffer/blob/master/LICENSE">
                <span class="fa fa-balance-scale"></span> License
              </a>
            </div>
            <div>
              <a target="_blank" href="https://github.com/r-cochran/cuke_sniffer/wiki">
                <span class="fa fa-newspaper-o"></span> Wiki
              </a>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
   <div class="row">
  <div id="summaryPanel" class="panel panel-default">
    <div class="panel-heading panel-title" data-toggle="collapse" data-target="#summaryTable">
      Summary <span class="glyphicon glyphicon-menu-up"></span>
    </div>
    
    <table id="summaryTable" class="table table-responsive table-striped collapse in">
      <tr>
        <td></td>
        <td>
          <span class="full-page">Features</span>
          <span class="small-page" title="Features">F</span>
        </td>
        <td>
          <span class="full-page">Scenarios</span>
          <span class="small-page" title="Scenarios">S</span>
        </td>
        <td>
          <span class="full-page">Step Definitions</span>
          <span class="small-page" title="Step Definitions">S.D.</span>
        </td>
        <td>
          <span class="full-page">Hooks</span>
          <span class="small-page" title="Hooks">H</span>
        </td>
      </tr>
      <tr>
        <td>
          Total Score
          <span title="Total Points for a section." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>
              0
            </td>
        
            <td>
              0
            </td>
        
            <td>
              0
            </td>
        
            <td>
              0
            </td>
        
      </tr>
      <tr>
        <td>
          Count
          <span title="Total Number of objects found in the project." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>0</td>
        
            <td>0</td>
        
            <td>0</td>
        
            <td>0</td>
        
      </tr>
      <tr>
        <td>
          Lowest Score
          <span title="Score of the best object found." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td></td>
        
            <td></td>
        
            <td></td>
        
            <td></td>
        
      </tr>
      <tr>
        <td>
          Highest Score
          <span title="Score of the object with the most to improve on." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td></td>
        
            <td></td>
        
            <td></td>
        
            <td></td>
        
      </tr>
      <tr>
        <td>
          Average Score
          <span title="Average score of a section." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>
              
                  0
              
            </td>
        
            <td>
              
                  0
              
            </td>
        
            <td>
              
                  0
              
            </td>
        
            <td>
              
                  0
              
            </td>
        
      </tr>
      <tr>
        <td>
          Threshold
          <span title="The maximum score an object can have to be considered good." class="glyphicon glyphicon-question-sign"
                data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>30</td>
        
            <td>30</td>
        
            <td>20</td>
        
            <td>20</td>
        
      </tr>
      <tr>
        <td>
          Good
          <span title="Percentage of the objects that can be considered good in the project."
                class="glyphicon glyphicon-question-sign" data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>
              
                0
              
              %
            </td>
        
            <td>
              
                0
              
              %
            </td>
        
            <td>
              
                0
              
              %
            </td>
        
            <td>
              
                0
              
              %
            </td>
        
      </tr>
      <tr>
        <td>
          Bad
          <span title="Percentage of the objects that can be considered bad in the project."
                class="glyphicon glyphicon-question-sign" data-toggle="tooltip" data-placement="right"></span>
        </td>
        
            <td>
              
                  0
              
              %
            </td>
        
            <td>
              
                  0
              
              %
            </td>
        
            <td>
              
                  0
              
              %
            </td>
        
            <td>
              
                  0
              
              %
            </td>
        
      </tr>
    </table>
  </div>
</div>
   <div class="row">
  <div class="panel panel-default">
    <div class="panel-heading panel-title" data-toggle="collapse" data-target="#improvement_list_data">
      Improvement List <span class="glyphicon glyphicon-menu-down"></span>
    </div>
    

    <div id="improvement_list_data" class="panel-body collapse">
      
        <div>
          <div>
            No Improvements to make!
          </div>
        </div>
      
      <div>
        
      </div>
    </div>
  </div>
</div>
   <div class="row">
  <div class="panel panel-default">
    <div id="rulesTab" class="panel-heading panel-title" data-toggle="collapse" data-target="#rules_data">
      Rules <span class="glyphicon glyphicon-menu-down"></span>
    </div>

    <div id="rules_data" class="panel-body collapse">
      <span class="button-bar">
        <div class="btn-group">
  <div class="btn btn-default" collapse>
    Collapse All
  </div>
  <div class="btn btn-default" expand>
    Expand All
  </div>
</div>
        <div class="btn-group enable-bar">
          <div id="enableAllRules" class="btn btn-default">
            Enable All
          </div>
          <div id="disableAllRules" class="btn btn-default">
            Disable All
          </div>
        </div>
        <div id="ruleFilters" class="btn-group" data-toggle="buttons">
          <div class="btn btn-default active">
            <input type="checkbox" checked data-rule-type="feature"/>
              <span class="full-page" title="Feature">Feature</span>
              <span class="small-page" title="Feature">F.</span>
          </div>
          <div class="btn btn-default active">
            <input type="checkbox" checked data-rule-type="background"/>
              <span class="full-page" title="Background">Background</span>
              <span class="small-page" title="Background">B.</span>
          </div>
          <div class="btn btn-default active">
            <input type="checkbox" checked data-rule-type="scenario"/>
              <span class="full-page" title="Scenario">Scenario</span>
              <span class="small-page" title="Scenario">S.</span>
          </div>
          <div class="btn btn-default active">
            <input type="checkbox" checked data-rule-type="stepdefinition"/>
              <span class="full-page" title="Step Definition">Step Definition</span>
              <span class="small-page" title="Step Definition">S. D.</span>
          </div>
          <div class="btn btn-default active">
            <input type="checkbox" checked data-rule-type="hook"/>
              <span class="full-page" title="Hook">Hook</span>
              <span class="small-page" title="Hook">H</span>
          </div>
        </div>
      </span>
      
        <div class="rule" data-rule-symbol="recursive_nested_step"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Recursive nested step call.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="background_with_tag"
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>There is a background with a tag. This feature file cannot run!</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="comment_after_tag"
            
                rule-Feature
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Comment comes between tag and properly executing line. This feature file cannot run!</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="universal_nested_step"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>A nested step should not universally match all step definitions.  Dead steps cannot be correctly cataloged.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_examples_table"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Scenario Outline with no examples table.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_examples"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Scenario Outline with no examples.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  100
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_description"
            
                rule-Feature
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} has no description.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="commented_step"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Commented step.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="commented_example"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Commented example.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_steps"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>No steps in Scenario.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="one_word_step"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Step that is only one word long.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_code"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>No code in Step Definition.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="around_hook_without_2_parameters"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Around hook without 2 parameters for Scenario and Block.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="no_scenarios"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature with no scenarios.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="hook_conflicting_tags"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook that both expects and ignores the same tag. This hook will not function as expected.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="hook_no_debugging"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook without a begin/rescue. Reduced visibility when debugging.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="around_hook_no_block_call"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Around hook does not call its block.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  25
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="background_with_one_scenario"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature has a background with one scenario.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="background_with_no_scenarios"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature has a background with no scenarios.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="empty_feature"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature file has no content.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="numbers_in_description"
            
                rule-Feature
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} has numbers in the description.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="duplicate_scenario_name"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature has scenarios with the same name.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="hook_duplicate_tags"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook has duplicate tags.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="hook_all_comments"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook is only comments.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="empty_hook"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook with no content.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="commented_tag"
            
                rule-Feature
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} has a commented out tag</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="commas_in_description"
            
                rule-Feature
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>There are commas in the description, creating possible multirunning scenarios or features.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="feature_same_tag"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Same tag appears on both Feature and Scenario</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="pending"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Pending step definition. Implement or remove.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="lazy_debugging"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Lazy Debugging through puts, p, or print</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="too_many_parameters"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Too many parameters in Step Definition.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            4
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="multiple_given_when_then"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Given/When/Then used multiple times in the same {class}.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="too_many_examples"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Scenario Outline with too many examples.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            10
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="one_example"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Scenario Outline with only one example.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="asterisk_step"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Step includes a * instead of Given/When/Then/And/But.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="invalid_first_step"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Invalid first step. Began with And/But.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="out_of_order_steps"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Scenario steps out of Given/When/Then order.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="too_many_steps"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} with too many steps.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            7
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="scenario_same_tag"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Tag appears on all scenarios.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  10
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="too_many_tags"
            
                rule-Feature
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} has too many tags.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            8
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="implementation_word"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Implementation word used: {word}.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            words:
                        </div>
                        <div class="col-md-10" data-conditions>
                            ["page", "site", "url", "drop down", "dropdown", "select list", "click", "text box", "radio button", "check box", "xml", "window", "pop up", "pop-up", "screen", "database", "DB"]
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="implementation_word_button"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Implementation word used: button.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="implementation_word_tab"
            
                rule-Scenario
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Implementation word used: tab.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="too_many_scenarios"
            
                rule-Feature
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Feature with too many scenarios.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            10
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="date_used"
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Date used.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Scenario, Background
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="nested_step"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Nested step call.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="commented_code"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Commented code in Step Definition.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="small_sleep"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Small sleeps used. Use a wait_until like method.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            2
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="large_sleep"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Large sleeps used. Use a wait_until like method.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            min:
                        </div>
                        <div class="col-md-10" data-conditions>
                            2
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="todo"
            
                rule-StepDefinition
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Todo found. Resolve it.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  StepDefinition
                </div>
              </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="hook_not_in_hooks_file"
            
                rule-Hook
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>Hook found outside of the designated hooks file</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Hook
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            file:
                        </div>
                        <div class="col-md-10" data-conditions>
                            hooks.rb
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
        <div class="rule" data-rule-symbol="long_name"
            
                rule-Feature
            
                rule-Scenario
            
                rule-Background
            
        >
          <div>
            <input type="checkbox"
                
                    checked="checked"
                
            />
            <span data-phrase>{class} has a long description.</span>
          </div>
          <div class="details" style="display:none;">
            <div class="well">
              <div class="row">
                <div class="col-md-3">
                  <b>Score:</b>
                </div>
                <div class="col-md-9">
                  1
                </div>
              </div>
              <div class="row">
                <div class="col-md-3">
                  <b>Targets:</b>
                </div>
                <div class="col-md-9" data-targets>
                  Feature, Scenario, Background
                </div>
              </div>
              
                <div class="row conditions">
                  <div class="col-md-3">
                    <b>Conditions:</b>
                  </div>
                  <div class="col-md-9">
                    
                      <div class="row well">
                        <div class="col-md-2">
                            max:
                        </div>
                        <div class="col-md-10" data-conditions>
                            180
                        </div>
                      </div>
                    
                  </div>
                </div>
              
            </div>
          </div>
        </div>
      
    </div>
  </div>
</div>

   <div class="row">
  <div class="panel panel-default">
    <div class="panel-heading panel-title" data-toggle="collapse" data-target="#deadSteps" >
      Dead Steps <span class="glyphicon glyphicon-menu-down"></span>
    </div>
    <div id="deadSteps" class="panel-body collapse">
      <div>
        
        
        
        
            <div class="notes">No dead steps found!</div>
        
      </div>
    </div>
  </div>
</div>
</div>