--TEST-- Closure 044: Scope/bounding combination invariants; non static closures --FILE-- getClosure(); echo "Before binding", "\n"; $nonstaticUnscoped(); echo "\n"; $nonstaticScoped(); echo "\n"; echo "After binding, null scope, no instance", "\n"; $d = $nonstaticUnscoped->bindTo(null, null); $d(); echo "\n"; $d = $nonstaticScoped->bindTo(null, null); $d(); echo "\n"; echo "After binding, null scope, with instance", "\n"; $d = $nonstaticUnscoped->bindTo(new A, null); $d(); echo "\n"; $d = $nonstaticScoped->bindTo(new A, null); $d(); echo "\n"; echo "After binding, with scope, no instance", "\n"; $d = $nonstaticUnscoped->bindTo(null, 'A'); $d(); echo "\n"; $d = $nonstaticScoped->bindTo(null, 'A'); $d(); echo "\n"; echo "After binding, with scope, with instance", "\n"; $d = $nonstaticUnscoped->bindTo(new A, 'A'); $d(); echo "\n"; $d = $nonstaticScoped->bindTo(new A, 'A'); $d(); echo "\n"; echo "Done.\n"; --EXPECTF-- Before binding bool(false) bool(false) bool(true) bool(true) After binding, null scope, no instance bool(false) bool(false) bool(false) bool(false) After binding, null scope, with instance bool(false) bool(true) bool(false) bool(true) After binding, with scope, no instance bool(true) bool(false) bool(true) bool(false) After binding, with scope, with instance bool(true) bool(true) bool(true) bool(true) Done.