Quaternion behavior

I am trying to rotate a transform with a quaternion. I want to rotate on x, y, and z in a single operation but it doesn’t work if I use 180 degrees on all axises. If I use 180 degrees with any two axises and a different value for the third axis it seems to work properly. In the case where I use 180 degrees for all three axises the transform doesn’t rotate on any axis, but remains in its original orientation.

My question is whether this is expected behavior for a quaternion or is it a bug. Code fragment follows:

	Transform t = gameObject.transform;
	t.rotation = Quaternion.Euler(180,180, 180) * t.rotation;

I would suggest setting up a little experiment.
Grab your phone or a notebook or something small and put it on your desk.
Rotate the object 180 degrees around ‘up’ (so, 180 degrees clockwise).
Rotate the object 180 degrees around ‘forward’ (so flip the object over like a doing a barrel roll).
Rotate the object 180 degrees around ‘right’ (so flip it end-over-end away from you).

What is the orientation of the object?

Edit: I drew a super sweet picture in paint, but it won’t let me post it, so you all have to miss out on my epic art skills.