+ 'block' => new Block( [ 'systemBlock' => 'proxy' ] ),
+ 'globalBlock' => null,
+ 'isAllowed' => false,
+ ],
+ 'globally blocked with account creation disabled' => [
+ 'passwordResetRoutes' => [ 'username' => true ],
+ 'enableEmail' => true,
+ 'allowsAuthenticationDataChange' => true,
+ 'canEditPrivate' => true,
+ 'block' => null,
+ 'globalBlock' => new Block( [ 'systemBlock' => 'global-block', 'createAccount' => true ] ),
+ 'isAllowed' => false,
+ ],
+ 'globally blocked with account creation not disabled' => [
+ 'passwordResetRoutes' => [ 'username' => true ],
+ 'enableEmail' => true,
+ 'allowsAuthenticationDataChange' => true,
+ 'canEditPrivate' => true,
+ 'block' => null,
+ 'globalBlock' => new Block( [ 'systemBlock' => 'global-block', 'createAccount' => false ] ),
+ 'isAllowed' => true,
+ ],
+ 'blocked via wgSoftBlockRanges' => [
+ 'passwordResetRoutes' => [ 'username' => true ],
+ 'enableEmail' => true,
+ 'allowsAuthenticationDataChange' => true,
+ 'canEditPrivate' => true,
+ 'block' => new Block( [ 'systemBlock' => 'wgSoftBlockRanges', 'anonOnly' => true ] ),
+ 'globalBlock' => null,
+ 'isAllowed' => true,
+ ],
+ 'all OK' => [
+ 'passwordResetRoutes' => [ 'username' => true ],
+ 'enableEmail' => true,
+ 'allowsAuthenticationDataChange' => true,
+ 'canEditPrivate' => true,
+ 'block' => null,
+ 'globalBlock' => null,