What I expected to happen was...:
Bats should not be able to spawn as /gamerule doMobSpawning false SHOULD disable all mob spawning.
What actually happened was...:
You are able to spawn bats with the mob egg.
Steps to Reproduce:
1. In multiplayer/singleplayer set doMobSpawning to false
2. Obtain the bat spawn egg
3. Spawn bats
doMobSpawning stops the natural spawning, not the player-invoked methods.