File tree Expand file tree Collapse file tree 3 files changed +78
-2
lines changed Expand file tree Collapse file tree 3 files changed +78
-2
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ var noArrayFinderMethods = require('./lib/rules/no-array-finder-methods')
3030var validLocatorType = require ( './lib/rules/valid-locator-type' )
3131var noCompoundClasses = require ( './lib/rules/no-compound-classes' )
3232var useCountMethod = require ( './lib/rules/use-count-method' )
33+ var noBrowserDriver = require ( './lib/rules/no-browser-driver' )
3334
3435module . exports = {
3536 rules : {
@@ -62,7 +63,8 @@ module.exports = {
6263 'no-array-finder-methods' : noArrayFinderMethods ,
6364 'valid-locator-type' : validLocatorType ,
6465 'no-compound-classes' : noCompoundClasses ,
65- 'use-count-method' : useCountMethod
66+ 'use-count-method' : useCountMethod ,
67+ 'no-browser-driver' : noBrowserDriver
6668 } ,
6769 configs : {
6870 recommended : {
@@ -96,7 +98,8 @@ module.exports = {
9698 'protractor/no-angular-attributes' : 1 ,
9799 'protractor/use-count-method' : 1 ,
98100 'protractor/use-promise-all' : 0 ,
99- 'protractor/by-css-shortcut' : 0
101+ 'protractor/by-css-shortcut' : 0 ,
102+ 'protractor/no-browser-driver' : 0
100103 } ,
101104 globals : {
102105 'browser' : false ,
Original file line number Diff line number Diff line change 1+ 'use strict'
2+
3+ module . exports = {
4+ meta : {
5+ schema : [ ]
6+ } ,
7+
8+ create : function ( context ) {
9+ // console.log(context)
10+ return {
11+ 'MemberExpression' : function ( node ) {
12+ var object = node . object
13+ if ( object . name === 'browser' ) {
14+ // when trying `var d = browser.driver;`
15+ object = node
16+ }
17+ if ( object . object && object . object . name === 'browser' &&
18+ object . property && object . property . name === 'driver' ) {
19+ context . report ( {
20+ node : node ,
21+ message : 'Unexpected use of browser.driver instead of browser'
22+ } )
23+ }
24+ }
25+ }
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ 'use strict'
2+
3+ var rule = require ( '../../lib/rules/no-browser-driver' )
4+ var RuleTester = require ( 'eslint' ) . RuleTester
5+ var eslintTester = new RuleTester ( )
6+
7+ eslintTester . run ( 'no-browser-driver' , rule , {
8+ valid : [
9+ 'browser.get();' ,
10+ 'browser.get("mypage");' ,
11+ 'browser.sleep(1000);' ,
12+ 'browser.getTitle();' ,
13+ 'browser.method(function() {});' ,
14+ 'var test = browser.get("MYPAGE");' ,
15+ 'var test = browser.attribute;'
16+ ] ,
17+
18+ invalid : [
19+ {
20+ code : 'browser.driver.sleep(2000);' ,
21+ errors : [ {
22+ message : 'Unexpected use of browser.driver instead of browser'
23+ } ]
24+ } ,
25+ {
26+ code : 'var test = browser.driver.getTitle();' ,
27+ errors : [
28+ {
29+ message : 'Unexpected use of browser.driver instead of browser'
30+ }
31+ ]
32+ } ,
33+ {
34+ code : 'var test = browser.driver.attribute;' ,
35+ errors : [ {
36+ message : 'Unexpected use of browser.driver instead of browser'
37+ } ]
38+ } ,
39+ {
40+ code : 'var driver = browser.driver;' ,
41+ errors : [ {
42+ message : 'Unexpected use of browser.driver instead of browser'
43+ } ]
44+ }
45+ ]
46+ } )
You can’t perform that action at this time.
0 commit comments