File tree Expand file tree Collapse file tree 1 file changed +167
-0
lines changed
Expand file tree Collapse file tree 1 file changed +167
-0
lines changed Original file line number Diff line number Diff line change @@ -204,6 +204,73 @@ ruleTester.run(
204204 };
205205 ` ,
206206 } ,
207+ {
208+ code : `
209+ class Foo {
210+ /**
211+ * @throws {Error}
212+ */
213+ get bar() {
214+ throw new Error('baz');
215+ }
216+ /**
217+ * @throws {TypeError}
218+ */
219+ set bar(value) {
220+ throw new TypeError('baz');
221+ }
222+ };
223+ const baz = () => {
224+ try {
225+ new Foo().bar;
226+ } catch {}
227+ };
228+ ` ,
229+ } ,
230+ {
231+ code : `
232+ class Foo {
233+ /**
234+ * @throws {SyntaxError}
235+ */
236+ get bar() {
237+ throw new SyntaxError('baz');
238+ }
239+ /**
240+ * @throws {TypeError}
241+ */
242+ set bar(value) {
243+ throw new TypeError('baz');
244+ }
245+ };
246+ /** @throws {SyntaxError} */
247+ const baz = () => {
248+ new Foo().bar;
249+ };
250+ ` ,
251+ } ,
252+ {
253+ code : `
254+ class Foo {
255+ /**
256+ * @throws {SyntaxError}
257+ */
258+ get bar() {
259+ throw new SyntaxError('baz');
260+ }
261+ /**
262+ * @throws {TypeError}
263+ */
264+ set bar(value) {
265+ throw new TypeError('baz');
266+ }
267+ };
268+ /** @throws {TypeError} */
269+ const baz = () => {
270+ new Foo().bar = 42;
271+ };
272+ ` ,
273+ } ,
207274 ] ,
208275 invalid : [
209276 {
@@ -623,6 +690,106 @@ ruleTester.run(
623690 } ,
624691 ] ,
625692 } ,
693+ {
694+ code : `
695+ class Foo {
696+ /**
697+ * @throws {Error}
698+ */
699+ get bar() {
700+ throw new Error('baz');
701+ }
702+ /**
703+ * @throws {TypeError}
704+ */
705+ set bar(value) {
706+ throw new TypeError('baz');
707+ }
708+ };
709+ const baz = () => {
710+ new Foo().bar = 42;
711+ };
712+ ` ,
713+ output : `
714+ class Foo {
715+ /**
716+ * @throws {Error}
717+ */
718+ get bar() {
719+ throw new Error('baz');
720+ }
721+ /**
722+ * @throws {TypeError}
723+ */
724+ set bar(value) {
725+ throw new TypeError('baz');
726+ }
727+ };
728+ const baz = () => {
729+ try {
730+ new Foo().bar = 42;
731+ } catch {}
732+ };
733+ ` ,
734+ errors : [
735+ { messageId : 'implicitPropagation' } ,
736+ ] ,
737+ options : [
738+ {
739+ tabLength : 2 ,
740+ } ,
741+ ] ,
742+ } ,
743+ {
744+ code : `
745+ class Foo {
746+ /**
747+ * @throws {Error}
748+ */
749+ get bar() {
750+ throw new Error('baz');
751+ }
752+ /**
753+ * @throws {TypeError}
754+ */
755+ set bar(value) {
756+ throw new TypeError('baz');
757+ }
758+ };
759+ const baz = () => {
760+ new Foo().bar;
761+ };
762+ ` ,
763+ output : `
764+ class Foo {
765+ /**
766+ * @throws {Error}
767+ */
768+ get bar() {
769+ throw new Error('baz');
770+ }
771+ /**
772+ * @throws {TypeError}
773+ */
774+ set bar(value) {
775+ throw new TypeError('baz');
776+ }
777+ };
778+ const baz = () => {
779+ try {
780+ new Foo().bar;
781+ } catch {}
782+ };
783+ ` ,
784+ errors : [
785+ { messageId : 'implicitPropagation' } ,
786+ ] ,
787+ options : [
788+ {
789+ tabLength : 2 ,
790+ } ,
791+ ] ,
792+ } ,
626793 ] ,
627794 } ,
628795) ;
You can’t perform that action at this time.
0 commit comments