% \newbox\cals@current@row % To be removed after defined in cals.sty % \def\mkcurrow#1{\setbox\cals@current@row=\vbox to #1{a\vfil}% \ht\cals@current@row=#1\relax} %\def\mkbakrow#1{\setbox\cals@backup@row=\vbox to #1{a\vfil}} \def\mkfoot#1{\def\cals@tfoot@tokens{aaa}\def\cals@tfoot@height{#1}} \def\rmfoot{\let\cals@tfoot@tokens=\relax} \def\ok{\PackageInfo{test}{OK}} \def\fail{\PackageInfo{test}{FAIL}} \let\cals@tbreak@tokens=\relax % % 1: Body, no break % \def\pagegoal{400pt} \def\pagetotal{300pt} \mkfoot{50pt} \mkcurrow{50pt} \let\cals@last@context=b \let\cals@current@context=b \cals@ifbreak\iftrue \fail \else \ok \fi % % 2: Body, break % \mkcurrow{60pt} \cals@ifbreak\iftrue \ok \else \fail \fi % % 3: No break in head or foot % \let\cals@current@context=h \cals@ifbreak\iftrue \fail \else \ok \fi \let\cals@current@context=f \cals@ifbreak\iftrue \fail \else \ok \fi \let\cals@current@context=b % % 4: No break after the header % \let\cals@current@context=b \cals@ifbreak\iftrue \ok \else \fail \fi \let\cals@last@context=h \cals@ifbreak\iftrue \fail \else \ok \fi % % 5: User forces a break % \tbreak{ok} \cals@ifbreak\iftrue \ok \else \fail \fi