eslint-plugin-chai-friendly 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js":{"path":"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js","statementMap":{"0":{"start":{"line":17,"column":4},"end":{"line":17,"column":16}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":17}},"2":{"start":{"line":29,"column":0},"end":{"line":266,"column":2}},"3":{"start":{"line":66,"column":21},"end":{"line":66,"column":45}},"4":{"start":{"line":67,"column":32},"end":{"line":67,"column":65}},"5":{"start":{"line":68,"column":27},"end":{"line":68,"column":55}},"6":{"start":{"line":69,"column":35},"end":{"line":69,"column":71}},"7":{"start":{"line":70,"column":28},"end":{"line":70,"column":57}},"8":{"start":{"line":77,"column":12},"end":{"line":78,"column":96}},"9":{"start":{"line":87,"column":12},"end":{"line":91,"column":13}},"10":{"start":{"line":87,"column":25},"end":{"line":87,"column":26}},"11":{"start":{"line":88,"column":16},"end":{"line":90,"column":17}},"12":{"start":{"line":89,"column":20},"end":{"line":89,"column":44}},"13":{"start":{"line":92,"column":12},"end":{"line":92,"column":32}},"14":{"start":{"line":100,"column":12},"end":{"line":100,"column":60}},"15":{"start":{"line":109,"column":25},"end":{"line":109,"column":56}},"16":{"start":{"line":110,"column":30},"end":{"line":110,"column":61}},"17":{"start":{"line":112,"column":12},"end":{"line":114,"column":58}},"18":{"start":{"line":121,"column":24},"end":{"line":166,"column":10}},"19":{"start":{"line":123,"column":16},"end":{"line":123,"column":65}},"20":{"start":{"line":130,"column":16},"end":{"line":130,"column":61}},"21":{"start":{"line":134,"column":16},"end":{"line":136,"column":17}},"22":{"start":{"line":135,"column":20},"end":{"line":135,"column":105}},"23":{"start":{"line":137,"column":16},"end":{"line":137,"column":28}},"24":{"start":{"line":143,"column":16},"end":{"line":143,"column":37}},"25":{"start":{"line":146,"column":16},"end":{"line":146,"column":37}},"26":{"start":{"line":149,"column":16},"end":{"line":151,"column":17}},"27":{"start":{"line":150,"column":20},"end":{"line":150,"column":60}},"28":{"start":{"line":152,"column":16},"end":{"line":152,"column":28}},"29":{"start":{"line":159,"column":16},"end":{"line":159,"column":45}},"30":{"start":{"line":164,"column":16},"end":{"line":164,"column":78}},"31":{"start":{"line":175,"column":29},"end":{"line":175,"column":44}},"32":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"33":{"start":{"line":177,"column":16},"end":{"line":177,"column":29}},"34":{"start":{"line":180,"column":12},"end":{"line":180,"column":62}},"35":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"36":{"start":{"line":191,"column":16},"end":{"line":191,"column":28}},"37":{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},"38":{"start":{"line":196,"column":16},"end":{"line":196,"column":51}},"39":{"start":{"line":198,"column":12},"end":{"line":200,"column":13}},"40":{"start":{"line":199,"column":16},"end":{"line":199,"column":51}},"41":{"start":{"line":201,"column":12},"end":{"line":203,"column":13}},"42":{"start":{"line":202,"column":16},"end":{"line":202,"column":55}},"43":{"start":{"line":206,"column":12},"end":{"line":206,"column":24}},"44":{"start":{"line":216,"column":29},"end":{"line":216,"column":44}},"45":{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},"46":{"start":{"line":218,"column":16},"end":{"line":218,"column":50}},"47":{"start":{"line":220,"column":12},"end":{"line":222,"column":13}},"48":{"start":{"line":221,"column":16},"end":{"line":221,"column":29}},"49":{"start":{"line":224,"column":12},"end":{"line":224,"column":62}},"50":{"start":{"line":234,"column":12},"end":{"line":236,"column":13}},"51":{"start":{"line":235,"column":16},"end":{"line":235,"column":28}},"52":{"start":{"line":239,"column":12},"end":{"line":241,"column":13}},"53":{"start":{"line":240,"column":16},"end":{"line":240,"column":51}},"54":{"start":{"line":242,"column":12},"end":{"line":244,"column":13}},"55":{"start":{"line":243,"column":16},"end":{"line":243,"column":51}},"56":{"start":{"line":245,"column":12},"end":{"line":247,"column":13}},"57":{"start":{"line":246,"column":16},"end":{"line":246,"column":55}},"58":{"start":{"line":250,"column":12},"end":{"line":250,"column":24}},"59":{"start":{"line":254,"column":8},"end":{"line":264,"column":10}},"60":{"start":{"line":256,"column":28},"end":{"line":259,"column":45}},"61":{"start":{"line":260,"column":16},"end":{"line":262,"column":17}},"62":{"start":{"line":261,"column":20},"end":{"line":261,"column":74}}},"fnMap":{"0":{"name":"alwaysTrue","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":16,"column":22},"end":{"line":18,"column":1}},"line":16},"1":{"name":"alwaysFalse","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":20}},"loc":{"start":{"line":24,"column":23},"end":{"line":26,"column":1}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":65,"column":12},"end":{"line":65,"column":13}},"loc":{"start":{"line":65,"column":31},"end":{"line":265,"column":5}},"line":65},"3":{"name":"looksLikeDirective","decl":{"start":{"line":76,"column":17},"end":{"line":76,"column":35}},"loc":{"start":{"line":76,"column":42},"end":{"line":79,"column":9}},"line":76},"4":{"name":"takeWhile","decl":{"start":{"line":86,"column":17},"end":{"line":86,"column":26}},"loc":{"start":{"line":86,"column":44},"end":{"line":93,"column":9}},"line":86},"5":{"name":"directives","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":27}},"loc":{"start":{"line":99,"column":34},"end":{"line":101,"column":9}},"line":99},"6":{"name":"isDirective","decl":{"start":{"line":108,"column":17},"end":{"line":108,"column":28}},"loc":{"start":{"line":108,"column":46},"end":{"line":115,"column":9}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":122,"column":12},"end":{"line":122,"column":13}},"loc":{"start":{"line":122,"column":31},"end":{"line":124,"column":13}},"line":122},"8":{"name":"(anonymous_8)","decl":{"start":{"line":129,"column":12},"end":{"line":129,"column":13}},"loc":{"start":{"line":129,"column":34},"end":{"line":131,"column":13}},"line":129},"9":{"name":"(anonymous_9)","decl":{"start":{"line":133,"column":12},"end":{"line":133,"column":13}},"loc":{"start":{"line":133,"column":40},"end":{"line":138,"column":13}},"line":133},"10":{"name":"(anonymous_10)","decl":{"start":{"line":142,"column":12},"end":{"line":142,"column":13}},"loc":{"start":{"line":142,"column":25},"end":{"line":144,"column":13}},"line":142},"11":{"name":"(anonymous_11)","decl":{"start":{"line":145,"column":12},"end":{"line":145,"column":13}},"loc":{"start":{"line":145,"column":26},"end":{"line":147,"column":13}},"line":145},"12":{"name":"(anonymous_12)","decl":{"start":{"line":148,"column":12},"end":{"line":148,"column":13}},"loc":{"start":{"line":148,"column":36},"end":{"line":153,"column":13}},"line":148},"13":{"name":"(anonymous_13)","decl":{"start":{"line":158,"column":12},"end":{"line":158,"column":13}},"loc":{"start":{"line":158,"column":39},"end":{"line":160,"column":13}},"line":158},"14":{"name":"(anonymous_14)","decl":{"start":{"line":163,"column":12},"end":{"line":163,"column":13}},"loc":{"start":{"line":163,"column":34},"end":{"line":165,"column":13}},"line":163},"15":{"name":"isChaiExpectCall","decl":{"start":{"line":174,"column":17},"end":{"line":174,"column":33}},"loc":{"start":{"line":174,"column":40},"end":{"line":181,"column":9}},"line":174},"16":{"name":"findExpectCall","decl":{"start":{"line":188,"column":17},"end":{"line":188,"column":31}},"loc":{"start":{"line":188,"column":38},"end":{"line":207,"column":9}},"line":188},"17":{"name":"isChaiShouldCall","decl":{"start":{"line":215,"column":17},"end":{"line":215,"column":33}},"loc":{"start":{"line":215,"column":40},"end":{"line":225,"column":9}},"line":215},"18":{"name":"findShouldCall","decl":{"start":{"line":232,"column":17},"end":{"line":232,"column":31}},"loc":{"start":{"line":232,"column":38},"end":{"line":251,"column":9}},"line":232},"19":{"name":"(anonymous_19)","decl":{"start":{"line":255,"column":33},"end":{"line":255,"column":34}},"loc":{"start":{"line":255,"column":48},"end":{"line":263,"column":13}},"line":255}},"branchMap":{"0":{"loc":{"start":{"line":66,"column":21},"end":{"line":66,"column":45}},"type":"binary-expr","locations":[{"start":{"line":66,"column":21},"end":{"line":66,"column":39}},{"start":{"line":66,"column":43},"end":{"line":66,"column":45}}],"line":66},"1":{"loc":{"start":{"line":67,"column":32},"end":{"line":67,"column":65}},"type":"binary-expr","locations":[{"start":{"line":67,"column":32},"end":{"line":67,"column":56}},{"start":{"line":67,"column":60},"end":{"line":67,"column":65}}],"line":67},"2":{"loc":{"start":{"line":68,"column":27},"end":{"line":68,"column":55}},"type":"binary-expr","locations":[{"start":{"line":68,"column":27},"end":{"line":68,"column":46}},{"start":{"line":68,"column":50},"end":{"line":68,"column":55}}],"line":68},"3":{"loc":{"start":{"line":69,"column":35},"end":{"line":69,"column":71}},"type":"binary-expr","locations":[{"start":{"line":69,"column":35},"end":{"line":69,"column":62}},{"start":{"line":69,"column":66},"end":{"line":69,"column":71}}],"line":69},"4":{"loc":{"start":{"line":70,"column":28},"end":{"line":70,"column":57}},"type":"binary-expr","locations":[{"start":{"line":70,"column":28},"end":{"line":70,"column":48}},{"start":{"line":70,"column":52},"end":{"line":70,"column":57}}],"line":70},"5":{"loc":{"start":{"line":77,"column":19},"end":{"line":78,"column":95}},"type":"binary-expr","locations":[{"start":{"line":77,"column":19},"end":{"line":77,"column":54}},{"start":{"line":78,"column":16},"end":{"line":78,"column":50}},{"start":{"line":78,"column":54},"end":{"line":78,"column":95}}],"line":77},"6":{"loc":{"start":{"line":88,"column":16},"end":{"line":90,"column":17}},"type":"if","locations":[{"start":{"line":88,"column":16},"end":{"line":90,"column":17}},{"start":{"line":88,"column":16},"end":{"line":90,"column":17}}],"line":88},"7":{"loc":{"start":{"line":112,"column":19},"end":{"line":114,"column":57}},"type":"binary-expr","locations":[{"start":{"line":112,"column":20},"end":{"line":112,"column":45}},{"start":{"line":112,"column":49},"end":{"line":112,"column":81}},{"start":{"line":113,"column":21},"end":{"line":113,"column":54}},{"start":{"line":114,"column":20},"end":{"line":114,"column":57}}],"line":112},"8":{"loc":{"start":{"line":123,"column":24},"end":{"line":123,"column":57}},"type":"binary-expr","locations":[{"start":{"line":123,"column":24},"end":{"line":123,"column":42}},{"start":{"line":123,"column":46},"end":{"line":123,"column":57}}],"line":123},"9":{"loc":{"start":{"line":134,"column":16},"end":{"line":136,"column":17}},"type":"if","locations":[{"start":{"line":134,"column":16},"end":{"line":136,"column":17}},{"start":{"line":134,"column":16},"end":{"line":136,"column":17}}],"line":134},"10":{"loc":{"start":{"line":135,"column":27},"end":{"line":135,"column":104}},"type":"binary-expr","locations":[{"start":{"line":135,"column":27},"end":{"line":135,"column":64}},{"start":{"line":135,"column":68},"end":{"line":135,"column":104}}],"line":135},"11":{"loc":{"start":{"line":149,"column":16},"end":{"line":151,"column":17}},"type":"if","locations":[{"start":{"line":149,"column":16},"end":{"line":151,"column":17}},{"start":{"line":149,"column":16},"end":{"line":151,"column":17}}],"line":149},"12":{"loc":{"start":{"line":164,"column":23},"end":{"line":164,"column":77}},"type":"binary-expr","locations":[{"start":{"line":164,"column":23},"end":{"line":164,"column":47}},{"start":{"line":164,"column":51},"end":{"line":164,"column":77}}],"line":164},"13":{"loc":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"type":"if","locations":[{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},{"start":{"line":176,"column":12},"end":{"line":178,"column":13}}],"line":176},"14":{"loc":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},{"start":{"line":190,"column":12},"end":{"line":192,"column":13}}],"line":190},"15":{"loc":{"start":{"line":190,"column":16},"end":{"line":190,"column":116}},"type":"binary-expr","locations":[{"start":{"line":190,"column":16},"end":{"line":190,"column":46}},{"start":{"line":190,"column":50},"end":{"line":190,"column":83}},{"start":{"line":190,"column":87},"end":{"line":190,"column":116}}],"line":190},"16":{"loc":{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},"type":"if","locations":[{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},{"start":{"line":195,"column":12},"end":{"line":197,"column":13}}],"line":195},"17":{"loc":{"start":{"line":198,"column":12},"end":{"line":200,"column":13}},"type":"if","locations":[{"start":{"line":198,"column":12},"end":{"line":200,"column":13}},{"start":{"line":198,"column":12},"end":{"line":200,"column":13}}],"line":198},"18":{"loc":{"start":{"line":201,"column":12},"end":{"line":203,"column":13}},"type":"if","locations":[{"start":{"line":201,"column":12},"end":{"line":203,"column":13}},{"start":{"line":201,"column":12},"end":{"line":203,"column":13}}],"line":201},"19":{"loc":{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},"type":"if","locations":[{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},{"start":{"line":217,"column":12},"end":{"line":219,"column":13}}],"line":217},"20":{"loc":{"start":{"line":220,"column":12},"end":{"line":222,"column":13}},"type":"if","locations":[{"start":{"line":220,"column":12},"end":{"line":222,"column":13}},{"start":{"line":220,"column":12},"end":{"line":222,"column":13}}],"line":220},"21":{"loc":{"start":{"line":234,"column":12},"end":{"line":236,"column":13}},"type":"if","locations":[{"start":{"line":234,"column":12},"end":{"line":236,"column":13}},{"start":{"line":234,"column":12},"end":{"line":236,"column":13}}],"line":234},"22":{"loc":{"start":{"line":234,"column":16},"end":{"line":234,"column":100}},"type":"binary-expr","locations":[{"start":{"line":234,"column":16},"end":{"line":234,"column":48}},{"start":{"line":234,"column":52},"end":{"line":234,"column":65}},{"start":{"line":234,"column":69},"end":{"line":234,"column":100}}],"line":234},"23":{"loc":{"start":{"line":239,"column":12},"end":{"line":241,"column":13}},"type":"if","locations":[{"start":{"line":239,"column":12},"end":{"line":241,"column":13}},{"start":{"line":239,"column":12},"end":{"line":241,"column":13}}],"line":239},"24":{"loc":{"start":{"line":242,"column":12},"end":{"line":244,"column":13}},"type":"if","locations":[{"start":{"line":242,"column":12},"end":{"line":244,"column":13}},{"start":{"line":242,"column":12},"end":{"line":244,"column":13}}],"line":242},"25":{"loc":{"start":{"line":245,"column":12},"end":{"line":247,"column":13}},"type":"if","locations":[{"start":{"line":245,"column":12},"end":{"line":247,"column":13}},{"start":{"line":245,"column":12},"end":{"line":247,"column":13}}],"line":245},"26":{"loc":{"start":{"line":256,"column":28},"end":{"line":259,"column":45}},"type":"binary-expr","locations":[{"start":{"line":256,"column":28},"end":{"line":256,"column":66}},{"start":{"line":257,"column":23},"end":{"line":257,"column":64}},{"start":{"line":258,"column":23},"end":{"line":258,"column":45}},{"start":{"line":259,"column":23},"end":{"line":259,"column":45}}],"line":256},"27":{"loc":{"start":{"line":260,"column":16},"end":{"line":262,"column":17}},"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":262,"column":17}},{"start":{"line":260,"column":16},"end":{"line":262,"column":17}}],"line":260}},"s":{"0":42,"1":27,"2":1,"3":79,"4":79,"5":79,"6":79,"7":79,"8":66,"9":52,"10":52,"11":66,"12":51,"13":1,"14":52,"15":54,"16":54,"17":54,"18":79,"19":106,"20":9,"21":7,"22":5,"23":2,"24":2,"25":2,"26":10,"27":6,"28":4,"29":3,"30":4,"31":45,"32":45,"33":36,"34":9,"35":38,"36":3,"37":35,"38":26,"39":9,"40":3,"41":6,"42":0,"43":6,"44":42,"45":42,"46":7,"47":42,"48":29,"49":13,"50":38,"51":5,"52":33,"53":22,"54":11,"55":3,"56":8,"57":0,"58":8,"59":79,"60":83,"61":83,"62":37},"f":{"0":42,"1":27,"2":79,"3":66,"4":52,"5":52,"6":54,"7":106,"8":9,"9":7,"10":2,"11":2,"12":10,"13":3,"14":4,"15":45,"16":38,"17":42,"18":38,"19":83},"b":{"0":[79,58],"1":[79,72],"2":[79,73],"3":[79,76],"4":[79,75],"5":[66,62,16],"6":[51,15],"7":[54,10,10,52],"8":[106,27],"9":[5,2],"10":[5,3],"11":[6,4],"12":[4,3],"13":[36,9],"14":[3,35],"15":[38,6,3],"16":[26,9],"17":[3,6],"18":[0,6],"19":[7,35],"20":[29,13],"21":[5,33],"22":[38,27,27],"23":[22,11],"24":[3,8],"25":[0,8],"26":[83,54,45,42],"27":[37,46]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"dd374607c4c2b081d47e729c0ee6547a96d54982","contentHash":"085284c031abf8ad77a81dcf5f0e6765748fe87b8d11666b4f9fb6745e154202"}}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":33337,"argv":["/usr/local/bin/node","/Users/user/repos/eslint-plugin-chai-friendly/node_modules/.bin/mocha","tests","--recursive"],"execArgv":[],"cwd":"/Users/user/repos/eslint-plugin-chai-friendly","time":1620604159241,"ppid":33336,"coverageFilename":"/Users/user/repos/eslint-plugin-chai-friendly/.nyc_output/a9bacb87-6c71-4985-a8ed-1837b4c2d3e4.json","externalId":"","uuid":"a9bacb87-6c71-4985-a8ed-1837b4c2d3e4","files":["/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js"]}
@@ -1 +1 @@
1
- {"processes":{"1618230b-65a2-4d3e-b24c-7915538cf736":{"parent":null,"children":[]}},"files":{"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js":["1618230b-65a2-4d3e-b24c-7915538cf736"]},"externalIds":{}}
1
+ {"processes":{"a9bacb87-6c71-4985-a8ed-1837b4c2d3e4":{"parent":null,"children":[]}},"files":{"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js":["a9bacb87-6c71-4985-a8ed-1837b4c2d3e4"]},"externalIds":{}}
@@ -172,14 +172,12 @@ module.exports = {
172
172
  * @returns {boolean} whether the given node is a chai expectation
173
173
  */
174
174
  function isChaiExpectCall(node) {
175
- var expression = node.expression;
175
+ let expression = node.expression;
176
176
  if (expression.type !== 'MemberExpression') {
177
177
  return false;
178
178
  }
179
179
 
180
- var hasExpectCall = Boolean(findExpectCall(expression.object));
181
-
182
- return hasExpectCall;
180
+ return Boolean(findExpectCall(expression.object));
183
181
  }
184
182
 
185
183
  /**
@@ -200,6 +198,9 @@ module.exports = {
200
198
  if (node.type === 'CallExpression') {
201
199
  return findExpectCall(node.callee);
202
200
  }
201
+ if (node.type === 'ChainExpression') {
202
+ return findExpectCall(node.expression);
203
+ }
203
204
 
204
205
  // Stop search, expect(...) not found
205
206
  return null;
@@ -212,14 +213,15 @@ module.exports = {
212
213
  * @returns {boolean} whether the given node is a chai should statement
213
214
  */
214
215
  function isChaiShouldCall(node) {
215
- var expression = node.expression;
216
+ let expression = node.expression;
217
+ if (expression.type === 'ChainExpression') {
218
+ expression = expression.expression
219
+ }
216
220
  if (expression.type !== 'MemberExpression') {
217
221
  return false;
218
222
  }
219
223
 
220
- var hasShouldCall = Boolean(findShouldCall(expression.object));
221
-
222
- return hasShouldCall;
224
+ return Boolean(findShouldCall(expression.object));
223
225
  }
224
226
 
225
227
  /**
@@ -240,6 +242,9 @@ module.exports = {
240
242
  if (node.type === 'CallExpression') {
241
243
  return findShouldCall(node.callee);
242
244
  }
245
+ if (node.type === 'ChainExpression') {
246
+ return findShouldCall(node.expression);
247
+ }
243
248
 
244
249
  // Stop search, obj.should not found
245
250
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-chai-friendly",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "This plugin makes 'no-unused-expressions' rule friendly towards chai expect statements.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -112,7 +112,19 @@ ruleTester.run("no-unused-expressions", rule, {
112
112
  "expect(foo).to.have.a.property('bar').which.is.true",
113
113
  "foo.should.be.true;",
114
114
  "foo.inner.nested.should.be.true",
115
- "foo.should.have.a.property('bar').which.is.true;"
115
+ "foo.should.have.a.property('bar').which.is.true;",
116
+ {
117
+ code: "foo?.should.be.true;",
118
+ parserOptions: { ecmaVersion: 11 }
119
+ },
120
+ {
121
+ code: "foo?.bar?.should.be.true;",
122
+ parserOptions: { ecmaVersion: 11 }
123
+ },
124
+ {
125
+ code: "expect(foo?.bar).should.be.true;",
126
+ parserOptions: { ecmaVersion: 11 }
127
+ }
116
128
  ],
117
129
  invalid: [
118
130
  { code: "0", errors: [{ message: "Expected an assignment or function call and instead saw an expression.", type: "ExpressionStatement"}]},
@@ -142,29 +154,29 @@ ruleTester.run("no-unused-expressions", rule, {
142
154
  code: "`untagged template literal`",
143
155
  options: [{ allowTaggedTemplates: true }],
144
156
  parserOptions: { ecmaVersion: 6},
145
- errors: ["Expected an assignment or function call and instead saw an expression."]
157
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
146
158
  },
147
159
  {
148
160
  code: "`untagged template literal`",
149
161
  options: [{ allowTaggedTemplates: false }],
150
162
  parserOptions: { ecmaVersion: 6},
151
- errors: ["Expected an assignment or function call and instead saw an expression."]
163
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
152
164
  },
153
165
  {
154
166
  code: "tag`tagged template literal`",
155
167
  options: [{ allowTaggedTemplates: false }],
156
168
  parserOptions: { ecmaVersion: 6},
157
- errors: ["Expected an assignment or function call and instead saw an expression."]
169
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
158
170
  },
159
171
  {
160
172
  code: "`untagged template literal`",
161
173
  parserOptions: { ecmaVersion: 6 },
162
- errors: ["Expected an assignment or function call and instead saw an expression."]
174
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
163
175
  },
164
176
  {
165
177
  code: "tag`tagged template literal`",
166
178
  parserOptions: { ecmaVersion: 6 },
167
- errors: ["Expected an assignment or function call and instead saw an expression."]
179
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
168
180
  },
169
181
 
170
182
  // Optional chaining
@@ -200,5 +212,15 @@ ruleTester.run("no-unused-expressions", rule, {
200
212
  // Chai statements
201
213
  { code: "foo.expect('bar').not.to.pass;", errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]},
202
214
  { code: "should.not.pass;", errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }] },
215
+ {
216
+ code: "foo?.expect.to.be.true;",
217
+ parserOptions: { ecmaVersion: 11 },
218
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
219
+ },
220
+ {
221
+ code: "foo?.bar?.expect.to.be.true;",
222
+ parserOptions: { ecmaVersion: 11 },
223
+ errors: [{ messageId: "unusedExpression", type: "ExpressionStatement" }]
224
+ }
203
225
  ]
204
226
  });
@@ -1 +0,0 @@
1
- {"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js":{"path":"/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js","statementMap":{"0":{"start":{"line":17,"column":4},"end":{"line":17,"column":16}},"1":{"start":{"line":25,"column":4},"end":{"line":25,"column":17}},"2":{"start":{"line":28,"column":28},"end":{"line":31,"column":1}},"3":{"start":{"line":34,"column":0},"end":{"line":294,"column":2}},"4":{"start":{"line":83,"column":23},"end":{"line":83,"column":47}},"5":{"start":{"line":84,"column":32},"end":{"line":84,"column":65}},"6":{"start":{"line":85,"column":27},"end":{"line":85,"column":55}},"7":{"start":{"line":86,"column":35},"end":{"line":86,"column":71}},"8":{"start":{"line":87,"column":28},"end":{"line":87,"column":57}},"9":{"start":{"line":88,"column":29},"end":{"line":88,"column":59}},"10":{"start":{"line":89,"column":44},"end":{"line":89,"column":86}},"11":{"start":{"line":91,"column":36},"end":{"line":91,"column":38}},"12":{"start":{"line":92,"column":8},"end":{"line":92,"column":71}},"13":{"start":{"line":92,"column":41},"end":{"line":92,"column":70}},"14":{"start":{"line":93,"column":8},"end":{"line":93,"column":81}},"15":{"start":{"line":93,"column":51},"end":{"line":93,"column":80}},"16":{"start":{"line":100,"column":12},"end":{"line":101,"column":96}},"17":{"start":{"line":110,"column":12},"end":{"line":114,"column":13}},"18":{"start":{"line":110,"column":25},"end":{"line":110,"column":26}},"19":{"start":{"line":111,"column":16},"end":{"line":113,"column":17}},"20":{"start":{"line":112,"column":20},"end":{"line":112,"column":44}},"21":{"start":{"line":115,"column":12},"end":{"line":115,"column":32}},"22":{"start":{"line":123,"column":12},"end":{"line":123,"column":60}},"23":{"start":{"line":132,"column":25},"end":{"line":132,"column":56}},"24":{"start":{"line":133,"column":30},"end":{"line":133,"column":61}},"25":{"start":{"line":135,"column":12},"end":{"line":137,"column":58}},"26":{"start":{"line":144,"column":24},"end":{"line":189,"column":10}},"27":{"start":{"line":146,"column":16},"end":{"line":146,"column":65}},"28":{"start":{"line":153,"column":16},"end":{"line":153,"column":61}},"29":{"start":{"line":157,"column":16},"end":{"line":159,"column":17}},"30":{"start":{"line":158,"column":20},"end":{"line":158,"column":105}},"31":{"start":{"line":160,"column":16},"end":{"line":160,"column":28}},"32":{"start":{"line":166,"column":16},"end":{"line":166,"column":37}},"33":{"start":{"line":169,"column":16},"end":{"line":169,"column":37}},"34":{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},"35":{"start":{"line":173,"column":20},"end":{"line":173,"column":60}},"36":{"start":{"line":175,"column":16},"end":{"line":175,"column":28}},"37":{"start":{"line":182,"column":16},"end":{"line":182,"column":45}},"38":{"start":{"line":187,"column":16},"end":{"line":187,"column":78}},"39":{"start":{"line":198,"column":29},"end":{"line":198,"column":44}},"40":{"start":{"line":199,"column":12},"end":{"line":201,"column":13}},"41":{"start":{"line":200,"column":16},"end":{"line":200,"column":29}},"42":{"start":{"line":204,"column":31},"end":{"line":204,"column":64}},"43":{"start":{"line":205,"column":12},"end":{"line":207,"column":13}},"44":{"start":{"line":206,"column":16},"end":{"line":206,"column":29}},"45":{"start":{"line":212,"column":12},"end":{"line":212,"column":42}},"46":{"start":{"line":215,"column":12},"end":{"line":215,"column":23}},"47":{"start":{"line":225,"column":12},"end":{"line":227,"column":13}},"48":{"start":{"line":226,"column":16},"end":{"line":226,"column":28}},"49":{"start":{"line":230,"column":12},"end":{"line":232,"column":13}},"50":{"start":{"line":231,"column":16},"end":{"line":231,"column":51}},"51":{"start":{"line":233,"column":12},"end":{"line":235,"column":13}},"52":{"start":{"line":234,"column":16},"end":{"line":234,"column":51}},"53":{"start":{"line":238,"column":12},"end":{"line":238,"column":24}},"54":{"start":{"line":248,"column":29},"end":{"line":248,"column":44}},"55":{"start":{"line":249,"column":12},"end":{"line":251,"column":13}},"56":{"start":{"line":250,"column":16},"end":{"line":250,"column":29}},"57":{"start":{"line":253,"column":32},"end":{"line":253,"column":74}},"58":{"start":{"line":255,"column":12},"end":{"line":255,"column":33}},"59":{"start":{"line":265,"column":12},"end":{"line":267,"column":13}},"60":{"start":{"line":266,"column":16},"end":{"line":266,"column":28}},"61":{"start":{"line":270,"column":12},"end":{"line":272,"column":13}},"62":{"start":{"line":271,"column":16},"end":{"line":271,"column":51}},"63":{"start":{"line":273,"column":12},"end":{"line":275,"column":13}},"64":{"start":{"line":274,"column":16},"end":{"line":274,"column":51}},"65":{"start":{"line":278,"column":12},"end":{"line":278,"column":24}},"66":{"start":{"line":282,"column":8},"end":{"line":292,"column":10}},"67":{"start":{"line":284,"column":28},"end":{"line":287,"column":45}},"68":{"start":{"line":288,"column":16},"end":{"line":290,"column":17}},"69":{"start":{"line":289,"column":20},"end":{"line":289,"column":74}}},"fnMap":{"0":{"name":"alwaysTrue","decl":{"start":{"line":16,"column":9},"end":{"line":16,"column":19}},"loc":{"start":{"line":16,"column":22},"end":{"line":18,"column":1}},"line":16},"1":{"name":"alwaysFalse","decl":{"start":{"line":24,"column":9},"end":{"line":24,"column":20}},"loc":{"start":{"line":24,"column":23},"end":{"line":26,"column":1}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":82,"column":12},"end":{"line":82,"column":13}},"loc":{"start":{"line":82,"column":31},"end":{"line":293,"column":5}},"line":82},"3":{"name":"(anonymous_3)","decl":{"start":{"line":92,"column":36},"end":{"line":92,"column":37}},"loc":{"start":{"line":92,"column":41},"end":{"line":92,"column":70}},"line":92},"4":{"name":"(anonymous_4)","decl":{"start":{"line":93,"column":46},"end":{"line":93,"column":47}},"loc":{"start":{"line":93,"column":51},"end":{"line":93,"column":80}},"line":93},"5":{"name":"looksLikeDirective","decl":{"start":{"line":99,"column":17},"end":{"line":99,"column":35}},"loc":{"start":{"line":99,"column":42},"end":{"line":102,"column":9}},"line":99},"6":{"name":"takeWhile","decl":{"start":{"line":109,"column":17},"end":{"line":109,"column":26}},"loc":{"start":{"line":109,"column":44},"end":{"line":116,"column":9}},"line":109},"7":{"name":"directives","decl":{"start":{"line":122,"column":17},"end":{"line":122,"column":27}},"loc":{"start":{"line":122,"column":34},"end":{"line":124,"column":9}},"line":122},"8":{"name":"isDirective","decl":{"start":{"line":131,"column":17},"end":{"line":131,"column":28}},"loc":{"start":{"line":131,"column":46},"end":{"line":138,"column":9}},"line":131},"9":{"name":"(anonymous_9)","decl":{"start":{"line":145,"column":12},"end":{"line":145,"column":13}},"loc":{"start":{"line":145,"column":31},"end":{"line":147,"column":13}},"line":145},"10":{"name":"(anonymous_10)","decl":{"start":{"line":152,"column":12},"end":{"line":152,"column":13}},"loc":{"start":{"line":152,"column":34},"end":{"line":154,"column":13}},"line":152},"11":{"name":"(anonymous_11)","decl":{"start":{"line":156,"column":12},"end":{"line":156,"column":13}},"loc":{"start":{"line":156,"column":40},"end":{"line":161,"column":13}},"line":156},"12":{"name":"(anonymous_12)","decl":{"start":{"line":165,"column":12},"end":{"line":165,"column":13}},"loc":{"start":{"line":165,"column":25},"end":{"line":167,"column":13}},"line":165},"13":{"name":"(anonymous_13)","decl":{"start":{"line":168,"column":12},"end":{"line":168,"column":13}},"loc":{"start":{"line":168,"column":26},"end":{"line":170,"column":13}},"line":168},"14":{"name":"(anonymous_14)","decl":{"start":{"line":171,"column":12},"end":{"line":171,"column":13}},"loc":{"start":{"line":171,"column":36},"end":{"line":176,"column":13}},"line":171},"15":{"name":"(anonymous_15)","decl":{"start":{"line":181,"column":12},"end":{"line":181,"column":13}},"loc":{"start":{"line":181,"column":39},"end":{"line":183,"column":13}},"line":181},"16":{"name":"(anonymous_16)","decl":{"start":{"line":186,"column":12},"end":{"line":186,"column":13}},"loc":{"start":{"line":186,"column":34},"end":{"line":188,"column":13}},"line":186},"17":{"name":"isChaiExpectCall","decl":{"start":{"line":197,"column":17},"end":{"line":197,"column":33}},"loc":{"start":{"line":197,"column":40},"end":{"line":216,"column":9}},"line":197},"18":{"name":"findExpectCall","decl":{"start":{"line":223,"column":17},"end":{"line":223,"column":31}},"loc":{"start":{"line":223,"column":38},"end":{"line":239,"column":9}},"line":223},"19":{"name":"isChaiShouldCall","decl":{"start":{"line":247,"column":17},"end":{"line":247,"column":33}},"loc":{"start":{"line":247,"column":40},"end":{"line":256,"column":9}},"line":247},"20":{"name":"findShouldCall","decl":{"start":{"line":263,"column":17},"end":{"line":263,"column":31}},"loc":{"start":{"line":263,"column":38},"end":{"line":279,"column":9}},"line":263},"21":{"name":"(anonymous_21)","decl":{"start":{"line":283,"column":33},"end":{"line":283,"column":34}},"loc":{"start":{"line":283,"column":48},"end":{"line":291,"column":13}},"line":283}},"branchMap":{"0":{"loc":{"start":{"line":83,"column":23},"end":{"line":83,"column":47}},"type":"binary-expr","locations":[{"start":{"line":83,"column":23},"end":{"line":83,"column":41}},{"start":{"line":83,"column":45},"end":{"line":83,"column":47}}],"line":83},"1":{"loc":{"start":{"line":84,"column":32},"end":{"line":84,"column":65}},"type":"binary-expr","locations":[{"start":{"line":84,"column":32},"end":{"line":84,"column":56}},{"start":{"line":84,"column":60},"end":{"line":84,"column":65}}],"line":84},"2":{"loc":{"start":{"line":85,"column":27},"end":{"line":85,"column":55}},"type":"binary-expr","locations":[{"start":{"line":85,"column":27},"end":{"line":85,"column":46}},{"start":{"line":85,"column":50},"end":{"line":85,"column":55}}],"line":85},"3":{"loc":{"start":{"line":86,"column":35},"end":{"line":86,"column":71}},"type":"binary-expr","locations":[{"start":{"line":86,"column":35},"end":{"line":86,"column":62}},{"start":{"line":86,"column":66},"end":{"line":86,"column":71}}],"line":86},"4":{"loc":{"start":{"line":87,"column":28},"end":{"line":87,"column":57}},"type":"binary-expr","locations":[{"start":{"line":87,"column":28},"end":{"line":87,"column":48}},{"start":{"line":87,"column":52},"end":{"line":87,"column":57}}],"line":87},"5":{"loc":{"start":{"line":88,"column":29},"end":{"line":88,"column":59}},"type":"binary-expr","locations":[{"start":{"line":88,"column":29},"end":{"line":88,"column":50}},{"start":{"line":88,"column":54},"end":{"line":88,"column":59}}],"line":88},"6":{"loc":{"start":{"line":89,"column":44},"end":{"line":89,"column":86}},"type":"binary-expr","locations":[{"start":{"line":89,"column":44},"end":{"line":89,"column":80}},{"start":{"line":89,"column":84},"end":{"line":89,"column":86}}],"line":89},"7":{"loc":{"start":{"line":100,"column":19},"end":{"line":101,"column":95}},"type":"binary-expr","locations":[{"start":{"line":100,"column":19},"end":{"line":100,"column":54}},{"start":{"line":101,"column":16},"end":{"line":101,"column":50}},{"start":{"line":101,"column":54},"end":{"line":101,"column":95}}],"line":100},"8":{"loc":{"start":{"line":111,"column":16},"end":{"line":113,"column":17}},"type":"if","locations":[{"start":{"line":111,"column":16},"end":{"line":113,"column":17}},{"start":{"line":111,"column":16},"end":{"line":113,"column":17}}],"line":111},"9":{"loc":{"start":{"line":135,"column":19},"end":{"line":137,"column":57}},"type":"binary-expr","locations":[{"start":{"line":135,"column":20},"end":{"line":135,"column":45}},{"start":{"line":135,"column":49},"end":{"line":135,"column":81}},{"start":{"line":136,"column":21},"end":{"line":136,"column":54}},{"start":{"line":137,"column":20},"end":{"line":137,"column":57}}],"line":135},"10":{"loc":{"start":{"line":146,"column":24},"end":{"line":146,"column":57}},"type":"binary-expr","locations":[{"start":{"line":146,"column":24},"end":{"line":146,"column":42}},{"start":{"line":146,"column":46},"end":{"line":146,"column":57}}],"line":146},"11":{"loc":{"start":{"line":157,"column":16},"end":{"line":159,"column":17}},"type":"if","locations":[{"start":{"line":157,"column":16},"end":{"line":159,"column":17}},{"start":{"line":157,"column":16},"end":{"line":159,"column":17}}],"line":157},"12":{"loc":{"start":{"line":158,"column":27},"end":{"line":158,"column":104}},"type":"binary-expr","locations":[{"start":{"line":158,"column":27},"end":{"line":158,"column":64}},{"start":{"line":158,"column":68},"end":{"line":158,"column":104}}],"line":158},"13":{"loc":{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},"type":"if","locations":[{"start":{"line":172,"column":16},"end":{"line":174,"column":17}},{"start":{"line":172,"column":16},"end":{"line":174,"column":17}}],"line":172},"14":{"loc":{"start":{"line":187,"column":23},"end":{"line":187,"column":77}},"type":"binary-expr","locations":[{"start":{"line":187,"column":23},"end":{"line":187,"column":47}},{"start":{"line":187,"column":51},"end":{"line":187,"column":77}}],"line":187},"15":{"loc":{"start":{"line":199,"column":12},"end":{"line":201,"column":13}},"type":"if","locations":[{"start":{"line":199,"column":12},"end":{"line":201,"column":13}},{"start":{"line":199,"column":12},"end":{"line":201,"column":13}}],"line":199},"16":{"loc":{"start":{"line":205,"column":12},"end":{"line":207,"column":13}},"type":"if","locations":[{"start":{"line":205,"column":12},"end":{"line":207,"column":13}},{"start":{"line":205,"column":12},"end":{"line":207,"column":13}}],"line":205},"17":{"loc":{"start":{"line":225,"column":12},"end":{"line":227,"column":13}},"type":"if","locations":[{"start":{"line":225,"column":12},"end":{"line":227,"column":13}},{"start":{"line":225,"column":12},"end":{"line":227,"column":13}}],"line":225},"18":{"loc":{"start":{"line":225,"column":16},"end":{"line":225,"column":116}},"type":"binary-expr","locations":[{"start":{"line":225,"column":16},"end":{"line":225,"column":46}},{"start":{"line":225,"column":50},"end":{"line":225,"column":83}},{"start":{"line":225,"column":87},"end":{"line":225,"column":116}}],"line":225},"19":{"loc":{"start":{"line":230,"column":12},"end":{"line":232,"column":13}},"type":"if","locations":[{"start":{"line":230,"column":12},"end":{"line":232,"column":13}},{"start":{"line":230,"column":12},"end":{"line":232,"column":13}}],"line":230},"20":{"loc":{"start":{"line":233,"column":12},"end":{"line":235,"column":13}},"type":"if","locations":[{"start":{"line":233,"column":12},"end":{"line":235,"column":13}},{"start":{"line":233,"column":12},"end":{"line":235,"column":13}}],"line":233},"21":{"loc":{"start":{"line":249,"column":12},"end":{"line":251,"column":13}},"type":"if","locations":[{"start":{"line":249,"column":12},"end":{"line":251,"column":13}},{"start":{"line":249,"column":12},"end":{"line":251,"column":13}}],"line":249},"22":{"loc":{"start":{"line":265,"column":12},"end":{"line":267,"column":13}},"type":"if","locations":[{"start":{"line":265,"column":12},"end":{"line":267,"column":13}},{"start":{"line":265,"column":12},"end":{"line":267,"column":13}}],"line":265},"23":{"loc":{"start":{"line":265,"column":16},"end":{"line":265,"column":100}},"type":"binary-expr","locations":[{"start":{"line":265,"column":16},"end":{"line":265,"column":48}},{"start":{"line":265,"column":52},"end":{"line":265,"column":65}},{"start":{"line":265,"column":69},"end":{"line":265,"column":100}}],"line":265},"24":{"loc":{"start":{"line":270,"column":12},"end":{"line":272,"column":13}},"type":"if","locations":[{"start":{"line":270,"column":12},"end":{"line":272,"column":13}},{"start":{"line":270,"column":12},"end":{"line":272,"column":13}}],"line":270},"25":{"loc":{"start":{"line":273,"column":12},"end":{"line":275,"column":13}},"type":"if","locations":[{"start":{"line":273,"column":12},"end":{"line":275,"column":13}},{"start":{"line":273,"column":12},"end":{"line":275,"column":13}}],"line":273},"26":{"loc":{"start":{"line":284,"column":28},"end":{"line":287,"column":45}},"type":"binary-expr","locations":[{"start":{"line":284,"column":28},"end":{"line":284,"column":66}},{"start":{"line":285,"column":23},"end":{"line":285,"column":64}},{"start":{"line":286,"column":23},"end":{"line":286,"column":45}},{"start":{"line":287,"column":23},"end":{"line":287,"column":45}}],"line":284},"27":{"loc":{"start":{"line":288,"column":16},"end":{"line":290,"column":17}},"type":"if","locations":[{"start":{"line":288,"column":16},"end":{"line":290,"column":17}},{"start":{"line":288,"column":16},"end":{"line":290,"column":17}}],"line":288}},"s":{"0":37,"1":27,"2":1,"3":1,"4":74,"5":74,"6":74,"7":74,"8":74,"9":74,"10":74,"11":74,"12":74,"13":962,"14":74,"15":0,"16":61,"17":47,"18":47,"19":61,"20":46,"21":1,"22":47,"23":49,"24":49,"25":49,"26":74,"27":97,"28":5,"29":7,"30":5,"31":2,"32":2,"33":2,"34":10,"35":6,"36":4,"37":3,"38":4,"39":40,"40":40,"41":32,"42":8,"43":8,"44":6,"45":2,"46":2,"47":35,"48":2,"49":33,"50":24,"51":9,"52":3,"53":6,"54":38,"55":38,"56":32,"57":6,"58":6,"59":19,"60":3,"61":16,"62":11,"63":5,"64":2,"65":3,"66":74,"67":78,"68":78,"69":35},"f":{"0":37,"1":27,"2":74,"3":962,"4":0,"5":61,"6":47,"7":47,"8":49,"9":97,"10":5,"11":7,"12":2,"13":2,"14":10,"15":3,"16":4,"17":40,"18":35,"19":38,"20":19,"21":78},"b":{"0":[74,53],"1":[74,67],"2":[74,68],"3":[74,71],"4":[74,70],"5":[74,74],"6":[74,53],"7":[61,57,16],"8":[46,15],"9":[49,10,10,47],"10":[97,27],"11":[5,2],"12":[5,3],"13":[6,4],"14":[4,3],"15":[32,8],"16":[6,2],"17":[2,33],"18":[35,5,2],"19":[24,9],"20":[3,6],"21":[32,6],"22":[3,16],"23":[19,14,14],"24":[11,5],"25":[2,3],"26":[78,49,40,38],"27":[35,43]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4f3acd6c59cd7fe1337a621a399b663eb0d91477","contentHash":"06cd15d8dd514fb3e6186865fbbedf4479a533a11e416ac1f3cc50acae8f712f"}}
@@ -1 +0,0 @@
1
- {"parent":null,"pid":1278,"argv":["/usr/local/bin/node","/Users/user/repos/eslint-plugin-chai-friendly/node_modules/.bin/mocha","tests","--recursive"],"execArgv":[],"cwd":"/Users/user/repos/eslint-plugin-chai-friendly","time":1620601093394,"ppid":1277,"coverageFilename":"/Users/user/repos/eslint-plugin-chai-friendly/.nyc_output/1618230b-65a2-4d3e-b24c-7915538cf736.json","externalId":"","uuid":"1618230b-65a2-4d3e-b24c-7915538cf736","files":["/Users/user/repos/eslint-plugin-chai-friendly/lib/rules/no-unused-expressions.js"]}