} )();
}
}
+
+deeply_nested: {
+ options = { if_return: true, hoist_funs: false };
+ input: {
+ ( function() {
+ if ( !window ) {
+ return;
+ }
+
+ function f() {}
+ function g() {}
+
+ if ( !document ) {
+ return;
+ }
+
+ function h() {}
+ } )();
+ }
+ expect: {
+ ( function() {
+ function f() {}
+ function g() {}
+
+ function h() {}
+
+ // NOTE: other compression steps will reduce this
+ // down to just `window`.
+ if ( window )
+ if (document);
+ } )();
+ }
+}
+
+not_hoisted_when_already_nested: {
+ options = { if_return: true, hoist_funs: false };
+ input: {
+ ( function() {
+ if ( !window ) {
+ return;
+ }
+
+ if ( foo ) function f() {}
+
+ } )();
+ }
+ expect: {
+ ( function() {
+ if ( window )
+ if ( foo ) function f() {}
+ } )();
+ }
+}