message: Fix exponential operator
diff: @@ -167,6 +167,11 @@ impl Visit<AssignExpr> for ShouldFold {
  if e.op == op!("**=") {
  self.found = true;
  }
  +
  + if !self.found {
  + e.left.visit_with(self);
  + e.right.visit_with(self);
  + }
  }
  }
  @@ -247,4 +252,32 @@ expect(counters).toBe(1);"#
  // var a, b;
  // _ref = `${b++}`, a[_ref] = Math.pow(a[_ref], 1);"
  // );
  +
  + test!(
  + ::swc_ecma_parser::Syntax::default(),
  + |_| Exponentation,
  + issue_740,
  + "self.a = 10 ** 2",
  + "self.a = Math.pow(10, 2)",
  + ok_if_code_eq
  + );
  +
  + // https://github.com/swc-project/swc/pull/741/files
  + // bu JakeChampion
  + test!(
  + ::swc_ecma_parser::Syntax::default(),
  + |_| Exponentation,
  + babel_binary_member_assignment_expression,
  + "var x = {}; x.a = 2 ** 2",
  + "var x = {}; x.a = Math.pow(2, 2)"
  + );
  +
  + test!(
  + ::swc_ecma_parser::Syntax::default(),
  + |_| Exponentation,
  + assign_to_object_property,
  + r#"var self = {}; self.x **= 3"#,
  + r#"var self = {}; var ref = self.x; self.x = Math.pow(ref, 3);"#,
  + ok_if_code_eq
  + );
  }
  