My textbook states that
"If the temperature of a substance changes without the transfer if heat ($Q=0$), then $S=Q/(m$∆$T)=0$ Thus, when liquid in a thermos flask is shaken, its temperature increases without the transfer of heat and hence, the specific heat of liquid in the thermos flask is zero."
My doubt is this: we are well aware about the mechanical equivalent of heat; we know that doing a certain amount of work, $W$ on a body is equivalent to supplying the same body with an equivalent amount of heat, $Q$, given by
$$Q=W/J$$
Where $J$ is the mechanical equivalent of heat, which is a universal constant. In the situation described by my textbook, the temperature of the system is increasing due to the work that we are doing on it by shaking the thermos flask. Using the above expression, we are able to calculate the equivalent amount of heat for this work done. If we were to substitute this value of $Q$ in the formula $mS\mathrm{d}T=\mathrm{d}Q$ we'd definitely obtain a nonzero value for $S$.
What is the basic fault in my reasoning?
Edit: Please don't ask me to propose a method using which we can measure the exact amount of work done on the body (by shaking, in this case) for I don't know how. Please let me know if this inability to measure that exact amount of work done is the basic problem.