Skip to content

Latest commit

 

History

History
47 lines (39 loc) · 1.16 KB

no-angular-classes.md

File metadata and controls

47 lines (39 loc) · 1.16 KB

Discourage using Angular CSS classes inside CSS selectors

Ensure CSS classes used by Angular internally are not used to locate elements via Protractor.

Rule details

Current list of Angular classes this rule would complain about (based on the CSS styling documentation page):

  • ng-scope
  • ng-isolate-scope
  • ng-binding
  • ng-valid
  • ng-invalid
  • ng-pristine
  • ng-dirty
  • ng-touched
  • ng-untouched

👎 Any use of the following patterns are considered warnings:

element(by.css(".ng-scope"));
element.all(by.css(".ng-isolate-scope"));
$(".ng-binding");
$$(".ng-valid");
$("[class='ng-invalid']");
$$("[class*='ng-pristine']");
$(".myclass.ng-dirty");
element(by.id("id")).$$(".ng-touched.myclass");
element(by.id("id")).$("input.ng-untouched");

👍 The following patterns are not warnings:

element(by.css(".myclass"));
element.all(by.css(".myclass"));
$(".myclass");
$$(".myclass");
$("[class='myclass']");
$$("[class*='myclass']");
$(".myclass.myotherclass");
$$(".myotherclass.myclass");
$("input.myclass");
var s = "ng-scope";
element(by.id("ng-isolate-scope"));