if i have 

accept-encoding: xml 

GET /path

and then 

accept-encoding: json

/path

i would get back xml instead of json? 

so nginx would cache whatever variant it sees and then when you request something with different constraints, it delivers the wrong variant? or it just always deletes all variants? the later would be ok to me - we would need to skip that test then probably, or change the expected behaviour for nginx. invalidating too much is harmless.