@@ -518,7 +518,7 @@ describe("arrow function conversion", () => {
518518 ) ;
519519 } ) ;
520520
521- it ( "should convert super.prop prefix update" , ( ) => {
521+ it ( "should convert `++ super.prop` prefix update" , ( ) => {
522522 assertConversion (
523523 `
524524 () => {
@@ -542,7 +542,31 @@ describe("arrow function conversion", () => {
542542 ) ;
543543 } ) ;
544544
545- it ( "should convert super[prop] prefix update" , ( ) => {
545+ it ( "should convert `--super.prop` prefix update" , ( ) => {
546+ assertConversion (
547+ `
548+ () => {
549+ --super.foo;
550+ };
551+ --super.foo;
552+ () => --super.foo;
553+ ` ,
554+ `
555+ var _superprop_getFoo = () => super.foo,
556+ _superprop_setFoo = _value => super.foo = _value;
557+
558+ (function () {
559+ var _tmp;
560+
561+ _tmp = _superprop_getFoo(), _superprop_setFoo(_tmp - 1);
562+ });
563+ --super.foo;
564+ () => --super.foo;
565+ ` ,
566+ ) ;
567+ } ) ;
568+
569+ it ( "should convert `++super[prop]` prefix update" , ( ) => {
546570 assertConversion (
547571 `
548572 () => {
@@ -566,7 +590,31 @@ describe("arrow function conversion", () => {
566590 ) ;
567591 } ) ;
568592
569- it ( "should convert super.prop suffix update" , ( ) => {
593+ it ( "should convert `--super[prop]` prefix update" , ( ) => {
594+ assertConversion (
595+ `
596+ () => {
597+ --super[foo];
598+ };
599+ --super[foo];
600+ () => --super[foo];
601+ ` ,
602+ `
603+ var _superprop_get = _prop2 => super[_prop2],
604+ _superprop_set = (_prop3, _value) => super[_prop3] = _value;
605+
606+ (function () {
607+ var _tmp, _prop;
608+
609+ _tmp = _superprop_get(_prop = foo), _superprop_set(_prop, _tmp - 1);
610+ });
611+ --super[foo];
612+ () => --super[foo];
613+ ` ,
614+ ) ;
615+ } ) ;
616+
617+ it ( "should convert `super.prop++` suffix update" , ( ) => {
570618 assertConversion (
571619 `
572620 () => {
@@ -590,7 +638,31 @@ describe("arrow function conversion", () => {
590638 ) ;
591639 } ) ;
592640
593- it ( "should convert super[prop] suffix update" , ( ) => {
641+ it ( "should convert `super.prop--` suffix update" , ( ) => {
642+ assertConversion (
643+ `
644+ () => {
645+ super.foo--;
646+ };
647+ super.foo--;
648+ () => super.foo--;
649+ ` ,
650+ `
651+ var _superprop_getFoo = () => super.foo,
652+ _superprop_setFoo = _value => super.foo = _value;
653+
654+ (function () {
655+ var _tmp;
656+
657+ _tmp = _superprop_getFoo(), _superprop_setFoo(_tmp - 1), _tmp;
658+ });
659+ super.foo--;
660+ () => super.foo--;
661+ ` ,
662+ ) ;
663+ } ) ;
664+
665+ it ( "should convert `super[prop]++` suffix update" , ( ) => {
594666 assertConversion (
595667 `
596668 () => {
@@ -614,6 +686,30 @@ describe("arrow function conversion", () => {
614686 ) ;
615687 } ) ;
616688
689+ it ( "should convert `super[prop]--` suffix update" , ( ) => {
690+ assertConversion (
691+ `
692+ () => {
693+ super[foo]--;
694+ };
695+ super[foo]--;
696+ () => super[foo]--;
697+ ` ,
698+ `
699+ var _superprop_get = _prop2 => super[_prop2],
700+ _superprop_set = (_prop3, _value) => super[_prop3] = _value;
701+
702+ (function () {
703+ var _tmp, _prop;
704+
705+ _tmp = _superprop_get(_prop = foo), _superprop_set(_prop, _tmp - 1), _tmp;
706+ });
707+ super[foo]--;
708+ () => super[foo]--;
709+ ` ,
710+ ) ;
711+ } ) ;
712+
617713 it ( "should convert super.prop() calls without params" , ( ) => {
618714 assertConversion (
619715 `
0 commit comments