If I eat at the supermarket there is also the promise of payment. I make that when I put the empty wrapper in with my shopping not on a shelf.
If I don't have cash to cover it I won't eat it just in case someone has ripped off my credit card (not that it has ever happened but I like to be prepared for all eventualities lol) but if I know I can pay for it I don't think it matters if I pay before or after I consume it.
As far as I know the law is that you haven't stolen anything until you leave the shop without paying for it.