Index: generic/tk.h ================================================================== --- generic/tk.h +++ generic/tk.h @@ -231,10 +231,11 @@ #if TCL_MAJOR_VERSION > 8 # define TK_OPTION_NULL_OK TCL_NULL_OK #else # define TK_OPTION_NULL_OK (1 << 0) #endif +#define TK_OPTION_NEG_OK (1 << 6) /* For TK_OPTION_PIXELS only, so no conflict with TK_OPTION_VAR */ #define TK_OPTION_VAR(type) ((sizeof(type) < 2 * sizeof(int)) ? ((int)(sizeof(type)&(sizeof(int)-1))<<6) : (3<<6)) #define TK_OPTION_ENUM_VAR TK_OPTION_VAR(Tk_OptionType) /* * The following structure and function types are used by TK_OPTION_CUSTOM Index: generic/tkButton.c ================================================================== --- generic/tkButton.c +++ generic/tkButton.c @@ -1095,50 +1095,10 @@ && !Tk_StrictMotif(butPtr->tkwin)) { Tk_SetBackgroundFromBorder(butPtr->tkwin, butPtr->activeBorder); } else { Tk_SetBackgroundFromBorder(butPtr->tkwin, butPtr->normalBorder); } - if (butPtr->wrapLength < 0) { - butPtr->wrapLength = 0; - if (butPtr->wrapLengthPtr) { - Tcl_DecrRefCount(butPtr->wrapLengthPtr); - } - butPtr->wrapLengthPtr = Tcl_NewIntObj(0); - Tcl_IncrRefCount(butPtr->wrapLengthPtr); - } - if (butPtr->borderWidth < 0) { - butPtr->borderWidth = 0; - if (butPtr->borderWidthPtr) { - Tcl_DecrRefCount(butPtr->borderWidthPtr); - } - butPtr->borderWidthPtr = Tcl_NewIntObj(0); - Tcl_IncrRefCount(butPtr->borderWidthPtr); - } - if (butPtr->highlightWidth < 0) { - butPtr->highlightWidth = 0; - if (butPtr->highlightWidthPtr) { - Tcl_DecrRefCount(butPtr->highlightWidthPtr); - } - butPtr->highlightWidthPtr = Tcl_NewIntObj(0); - Tcl_IncrRefCount(butPtr->highlightWidthPtr); - } - if (butPtr->padX < 0) { - butPtr->padX = 0; - if (butPtr->padXPtr) { - Tcl_DecrRefCount(butPtr->padXPtr); - } - butPtr->padXPtr = Tcl_NewIntObj(0); - Tcl_IncrRefCount(butPtr->padXPtr); - } - if (butPtr->padY < 0) { - butPtr->padY = 0; - if (butPtr->padYPtr) { - Tcl_DecrRefCount(butPtr->padYPtr); - } - butPtr->padYPtr = Tcl_NewIntObj(0); - Tcl_IncrRefCount(butPtr->padYPtr); - } if (butPtr->type >= TYPE_CHECK_BUTTON) { Tcl_Obj *valuePtr, *namePtr; if (butPtr->selVarNamePtr == NULL) { Index: generic/tkCanvas.c ================================================================== --- generic/tkCanvas.c +++ generic/tkCanvas.c @@ -2271,13 +2271,10 @@ * from a 3-D border and creating a GC for copying bits to the screen. */ Tk_SetBackgroundFromBorder(canvasPtr->tkwin, canvasPtr->bgBorder); - if (canvasPtr->highlightWidth < 0) { - canvasPtr->highlightWidth = 0; - } canvasPtr->inset = canvasPtr->borderWidth + canvasPtr->highlightWidth; gcValues.function = GXcopy; gcValues.graphics_exposures = False; gcValues.foreground = Tk_3DBorderColor(canvasPtr->bgBorder)->pixel; Index: generic/tkConfig.c ================================================================== --- generic/tkConfig.c +++ generic/tkConfig.c @@ -1019,15 +1019,19 @@ valuePtr = NULL; newPixels = INT_MIN; } else if (Tk_GetPixelsFromObj(nullOK ? NULL : interp, tkwin, valuePtr, &newPixels) != TCL_OK) { if (nullOK) { - Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "expected screen distance or \"\" but got \"%.50s\"", Tcl_GetString(valuePtr))); + wrongPixel: + Tcl_SetObjResult(interp, Tcl_ObjPrintf( + "expected screen distance%s but got \"%.50s\"", + (nullOK ? " or \"\"": ""), Tcl_GetString(valuePtr))); Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL); } return TCL_ERROR; + } else if (!(optionPtr->specPtr->flags & TK_OPTION_NEG_OK) && (newPixels < 0)) { + goto wrongPixel; } if (internalPtr != NULL) { *((int *)oldInternalPtr) = *((int *)internalPtr); *((int *)internalPtr) = newPixels; } Index: generic/tkEntry.c ================================================================== --- generic/tkEntry.c +++ generic/tkEntry.c @@ -1314,13 +1314,10 @@ * redisplayed. */ Tk_SetInternalBorder(entryPtr->tkwin, entryPtr->borderWidth + entryPtr->highlightWidth); - if (entryPtr->highlightWidth < 0) { - entryPtr->highlightWidth = 0; - } entryPtr->inset = entryPtr->highlightWidth + entryPtr->borderWidth + XPAD; break; } if (!error) { Index: generic/tkFrame.c ================================================================== --- generic/tkFrame.c +++ generic/tkFrame.c @@ -991,20 +991,10 @@ Tk_SetBackgroundFromBorder(framePtr->tkwin, framePtr->border); } else { Tk_SetWindowBackgroundPixmap(framePtr->tkwin, None); } - if (framePtr->highlightWidth < 0) { - framePtr->highlightWidth = 0; - } - if (framePtr->padX < 0) { - framePtr->padX = 0; - } - if (framePtr->padY < 0) { - framePtr->padY = 0; - } - /* * If a -labelwidget is specified, check that it is valid and set up * geometry management for it. */ Index: generic/tkListbox.c ================================================================== --- generic/tkListbox.c +++ generic/tkListbox.c @@ -1596,13 +1596,10 @@ * background from a 3-D border. */ Tk_SetBackgroundFromBorder(listPtr->tkwin, listPtr->normalBorder); - if (listPtr->highlightWidth < 0) { - listPtr->highlightWidth = 0; - } listPtr->inset = listPtr->highlightWidth + listPtr->borderWidth; /* * Claim the selection if we've suddenly started exporting it and * there is a selection to export and this interp is unsafe. Index: generic/tkMenubutton.c ================================================================== --- generic/tkMenubutton.c +++ generic/tkMenubutton.c @@ -529,21 +529,10 @@ Tk_SetBackgroundFromBorder(mbPtr->tkwin, mbPtr->activeBorder); } else { Tk_SetBackgroundFromBorder(mbPtr->tkwin, mbPtr->normalBorder); } - if (mbPtr->highlightWidth < 0) { - mbPtr->highlightWidth = 0; - } - - if (mbPtr->padX < 0) { - mbPtr->padX = 0; - } - if (mbPtr->padY < 0) { - mbPtr->padY = 0; - } - /* * Get the image for the widget, if there is one. Allocate the new * image before freeing the old one, so that the reference count * doesn't go to zero and cause image data to be discarded. */ Index: generic/tkOldConfig.c ================================================================== --- generic/tkOldConfig.c +++ generic/tkOldConfig.c @@ -515,18 +515,23 @@ uid = valueIsUid ? (Tk_Uid) value : Tk_GetUid(value); if (Tk_GetJoinStyle(interp, uid, (int *)ptr) != TCL_OK) { return TCL_ERROR; } break; - case TK_CONFIG_PIXELS: - if (nullValue) { - *(int *)ptr = INT_MIN; - } else if (Tk_GetPixels(interp, tkwin, value, (int *)ptr) - != TCL_OK) { + case TK_CONFIG_PIXELS: { + int pixel = INT_MIN; + if (!nullValue && ((Tk_GetPixels(NULL, tkwin, value, &pixel) + != TCL_OK) || ((pixel < 0) && !(specPtr->specFlags & TK_OPTION_NEG_OK)))) { + Tcl_SetObjResult(interp, Tcl_ObjPrintf( + "expected screen distance%s but got \"%.50s\"", + (specPtr->specFlags & (TK_CONFIG_NULL_OK|TCL_NULL_OK|1)) ? " or \"\"" : "", value)); + Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL); return TCL_ERROR; } + *(int *)ptr = pixel; break; + } case TK_CONFIG_MM: if (Tk_GetScreenMM(interp, tkwin, value, (double *)ptr) != TCL_OK) { return TCL_ERROR; } break; Index: generic/tkPlace.c ================================================================== --- generic/tkPlace.c +++ generic/tkPlace.c @@ -82,11 +82,11 @@ {TK_OPTION_ANCHOR, "-anchor", NULL, NULL, "nw", TCL_INDEX_NONE, offsetof(Content, anchor), TK_OPTION_ENUM_VAR, 0, 0}, {TK_OPTION_STRING_TABLE, "-bordermode", NULL, NULL, "inside", TCL_INDEX_NONE, offsetof(Content, borderMode), TK_OPTION_ENUM_VAR, borderModeStrings, 0}, {TK_OPTION_PIXELS, "-height", NULL, NULL, NULL, offsetof(Content, heightObj), - offsetof(Content, height), TK_OPTION_NULL_OK, 0, 0}, + offsetof(Content, height), TK_OPTION_NULL_OK|TK_OPTION_NEG_OK, 0, 0}, {TK_OPTION_WINDOW, "-in", NULL, NULL, "", TCL_INDEX_NONE, offsetof(Content, inTkwin), 0, 0, IN_MASK}, {TK_OPTION_DOUBLE, "-relheight", NULL, NULL, NULL, offsetof(Content, relHeightObj), offsetof(Content, relHeight), TK_OPTION_NULL_OK, 0, 0}, @@ -96,15 +96,15 @@ {TK_OPTION_DOUBLE, "-relx", NULL, NULL, "0.0", TCL_INDEX_NONE, offsetof(Content, relX), 0, 0, 0}, {TK_OPTION_DOUBLE, "-rely", NULL, NULL, "0.0", TCL_INDEX_NONE, offsetof(Content, relY), 0, 0, 0}, {TK_OPTION_PIXELS, "-width", NULL, NULL, NULL, offsetof(Content, widthObj), - offsetof(Content, width), TK_OPTION_NULL_OK, 0, 0}, + offsetof(Content, width), TK_OPTION_NULL_OK|TK_OPTION_NEG_OK, 0, 0}, {TK_OPTION_PIXELS, "-x", NULL, NULL, "0", offsetof(Content, xObj), - offsetof(Content, x), 0, 0, 0}, + offsetof(Content, x), TK_OPTION_NEG_OK, 0, 0}, {TK_OPTION_PIXELS, "-y", NULL, NULL, "0", offsetof(Content, yObj), - offsetof(Content, y), 0, 0, 0}, + offsetof(Content, y), TK_OPTION_NEG_OK, 0, 0}, {TK_OPTION_END, NULL, NULL, NULL, NULL, 0, TCL_INDEX_NONE, 0, 0, 0} }; /* * For each container window that has a content managed by the placer there is a Index: generic/tkScale.c ================================================================== --- generic/tkScale.c +++ generic/tkScale.c @@ -671,13 +671,10 @@ scalePtr->labelLength = scalePtr->label ? strlen(scalePtr->label) : 0; Tk_SetBackgroundFromBorder(scalePtr->tkwin, scalePtr->bgBorder); - if (scalePtr->highlightWidth < 0) { - scalePtr->highlightWidth = 0; - } scalePtr->inset = scalePtr->highlightWidth + scalePtr->borderWidth; break; } if (!error) { Tk_FreeSavedOptions(&savedOptions); Index: generic/tkScrollbar.c ================================================================== --- generic/tkScrollbar.c +++ generic/tkScrollbar.c @@ -485,16 +485,10 @@ if (scrollPtr->command != NULL) { scrollPtr->commandSize = (int) strlen(scrollPtr->command); } else { scrollPtr->commandSize = 0; } - if (scrollPtr->highlightWidth < 0) { - scrollPtr->highlightWidth = 0; - } - if (scrollPtr->elementBorderWidth < 0) { - scrollPtr->elementBorderWidth = INT_MIN; - } /* * Configure platform specific options. */ Index: generic/tkText.c ================================================================== --- generic/tkText.c +++ generic/tkText.c @@ -2198,24 +2198,10 @@ if (TkTextIndexCmp(&index3, &index2) > 0) { textPtr->currentMarkPtr = TkTextSetMark(textPtr, "current", &index2); } } - /* - * Don't allow negative spacings. - */ - - if (textPtr->spacing1 < 0) { - textPtr->spacing1 = 0; - } - if (textPtr->spacing2 < 0) { - textPtr->spacing2 = 0; - } - if (textPtr->spacing3 < 0) { - textPtr->spacing3 = 0; - } - /* * Parse tab stops. */ if (textPtr->tabArrayPtr != NULL) { Index: generic/tkTextDisp.c ================================================================== --- generic/tkTextDisp.c +++ generic/tkTextDisp.c @@ -5254,13 +5254,10 @@ * Recompute some overall things for the layout. Even if the window gets * very small, pretend that there's at least one pixel of drawing space in * it. */ - if (textPtr->highlightWidth < 0) { - textPtr->highlightWidth = 0; - } dInfoPtr->x = textPtr->highlightWidth + textPtr->borderWidth + textPtr->padX; dInfoPtr->y = textPtr->highlightWidth + textPtr->borderWidth + textPtr->padY; dInfoPtr->maxX = Tk_Width(textPtr->tkwin) - textPtr->highlightWidth Index: generic/tkTextTag.c ================================================================== --- generic/tkTextTag.c +++ generic/tkTextTag.c @@ -40,11 +40,11 @@ {TK_OPTION_PIXELS, "-lmargin2", NULL, NULL, NULL, offsetof(TkTextTag, lMargin2Obj), offsetof(TkTextTag, lMargin2), TK_OPTION_NULL_OK,0,0}, {TK_OPTION_BORDER, "-lmargincolor", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, lMarginColor), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_PIXELS, "-offset", NULL, NULL, - NULL, offsetof(TkTextTag, offsetObj), offsetof(TkTextTag, offset), TK_OPTION_NULL_OK, 0, 0}, + NULL, offsetof(TkTextTag, offsetObj), offsetof(TkTextTag, offset), TK_OPTION_NULL_OK|TK_OPTION_NEG_OK, 0, 0}, {TK_OPTION_BOOLEAN, "-overstrike", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, overstrike), TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_COLOR, "-overstrikefg", NULL, NULL, NULL, TCL_INDEX_NONE, offsetof(TkTextTag, overstrikeColor), @@ -361,28 +361,10 @@ * -justify, require additional translation (this is needed * because we need to distinguish a particular value of an option * from "unspecified"). */ - if (tagPtr->borderWidth < 0) { - tagPtr->borderWidth = 0; - } - if (tagPtr->spacing1 != INT_MIN) { - if (tagPtr->spacing1 < 0) { - tagPtr->spacing1 = 0; - } - } - if (tagPtr->spacing2 != INT_MIN) { - if (tagPtr->spacing2 < 0) { - tagPtr->spacing2 = 0; - } - } - if (tagPtr->spacing3 != INT_MIN) { - if (tagPtr->spacing3 < 0) { - tagPtr->spacing3 = 0; - } - } if (tagPtr->tabArrayPtr != NULL) { ckfree(tagPtr->tabArrayPtr); tagPtr->tabArrayPtr = NULL; } if (tagPtr->tabStringPtr != NULL) { Index: macosx/tkMacOSXScrlbr.c ================================================================== --- macosx/tkMacOSXScrlbr.c +++ macosx/tkMacOSXScrlbr.c @@ -371,13 +371,10 @@ * shift the scrollbar up by the arrowLength. */ int fieldLength; - if (scrollPtr->highlightWidth < 0) { - scrollPtr->highlightWidth = 0; - } scrollPtr->inset = scrollPtr->highlightWidth + scrollPtr->borderWidth; if ([NSApp macOSVersion] == 100600) { scrollPtr->arrowLength = scrollPtr->width; } else { scrollPtr->arrowLength = 0; Index: tests/button.test ================================================================== --- tests/button.test +++ tests/button.test @@ -2667,15 +2667,15 @@ } -cleanup { destroy .c } -result {} test button-1.271 {configuration options: fallback to default} -setup { - checkbutton .c -borderwidth -2 -highlightthickness -2 -font {Helvetica -12 bold} + checkbutton .c -borderwidth 0 -highlightthickness 0 -font {Helvetica -12 bold} pack .c update } -body { - .c configure -padx -2 -pady -2 -wraplength -2 + .c configure -padx 0 -pady 0 -wraplength 0 list [.c cget -padx] [.c cget -pady] [.c cget -borderwidth] [.c cget -highlightthickness] [.c cget -wraplength] } -cleanup { destroy .c } -result {0 0 0 0 0} Index: tests/entry.test ================================================================== --- tests/entry.test +++ tests/entry.test @@ -320,11 +320,11 @@ } -body { .e configure -highlightthickness -2 .e cget -highlightthickness } -cleanup { destroy .e -} -result 0 +} -returnCodes error -result {expected screen distance but got "-2"} test entry-1.29 {configuration option: "highlightthickness" for entry} -setup { entry .e -borderwidth 2 -highlightthickness 2 -font {Helvetica -12 bold} pack .e ; update idletasks update } -body { Index: tests/font.test ================================================================== --- tests/font.test +++ tests/font.test @@ -1695,11 +1695,11 @@ test font-27.2 {Tk_UnderlineTextLayout procedure: underline not visible} -body { .t.f config -text "000 00000" -wrap [expr $ax*7] -under 10 } -result {} test font-27.3 {Tk_UnderlineTextLayout procedure: underline is visible} -body { .t.f config -text "000 00000" -wrap [expr $ax*7] -under 5 - .t.f config -wrap -1 -underline {} + .t.f config -wrap 0 -underline {} } -result {} destroy .t.f Index: tests/listbox.test ================================================================== --- tests/listbox.test +++ tests/listbox.test @@ -201,11 +201,11 @@ test listbox-1.31 {configuration options} -body { .l configure -highlightthickness -2 list [lindex [.l configure -highlightthickness] 4] [.l cget -highlightthickness] } -cleanup { .l configure -highlightthickness [lindex [.l configure -highlightthickness] 3] -} -result {0 0} +} -returnCodes error -result {expected screen distance but got "-2"} test listbox-1.32.1 {configuration options} -setup { set res {} } -body { .l configure -justify left set res [list [lindex [.l configure -justify] 4] [.l cget -justify]] @@ -1240,11 +1240,11 @@ } -body { .l configure -highlightthickness -3 .l cget -highlightthickness } -cleanup { deleteWindows -} -result 0 +} -returnCodes error -result {expected screen distance but got "-3"} test listbox-4.3 {ConfigureListbox procedure} -setup { deleteWindows destroy .l listbox .l -setgrid 1 -width 25 -height 15 pack .l Index: tests/message.test ================================================================== --- tests/message.test +++ tests/message.test @@ -392,19 +392,19 @@ .m configure -width badValue } -cleanup { destroy .m } -returnCodes {error} -result {expected screen distance but got "badValue"} test message-1.39 {configuration options, fallback to default} -setup { - message .m -borderwidth -2 -highlightthickness -2 -font {Helvetica -12 bold} + message .m -borderwidth 0 -highlightthickness 0 -font {Helvetica -12 bold} pack .m update } -body { .m configure -padx -2 -pady -2 -width -2 list [.m cget -padx] [.m cget -pady] [.m cget -borderwidth] [.m cget -highlightthickness] [.m cget -width] } -cleanup { destroy .m -} -result {{} {} 0 0 0} +} -returnCodes error -result {expected screen distance or "" but got "-2"} test message-2.1 {Tk_MessageObjCmd procedure} -body { message } -returnCodes {error} -result {wrong # args: should be "message pathName ?-option value ...?"} Index: tests/panedwindow.test ================================================================== --- tests/panedwindow.test +++ tests/panedwindow.test @@ -1663,17 +1663,17 @@ # respecting minsizes. .p sash coord 0 } -cleanup { deleteWindows } -result [list 50 0] -test panedwindow-17.10 {MoveSash, move right, negative minsize becomes 0} -setup { +test panedwindow-17.10 {MoveSash, move right, zero minsize} -setup { deleteWindows } -body { panedwindow .p -showhandle false -borderwidth 0 -sashpad 0 -sashwidth 2 foreach w {.f1 .f2 .f3} c {red blue} { .p add [frame $w -height 20 -width 20 -bg $c] \ - -sticky nsew -minsize -50 + -sticky nsew -minsize 0 } .p sash place 0 50 0 # Get the new sash coord; it should have moved as far as possible, @@ -1798,17 +1798,17 @@ # respecting minsizes. .p sash coord 1 } -cleanup { deleteWindows } -result [list 42 0] -test panedwindow-17.18 {MoveSash, move left, negative minsize becomes 0} -setup { +test panedwindow-17.18 {MoveSash, move left, zero minsize} -setup { deleteWindows } -body { panedwindow .p -showhandle false -borderwidth 0 -sashpad 0 -sashwidth 2 foreach w {.f1 .f2 .f3} c {red blue green} { .p add [frame $w -height 20 -width 20 -bg $c] \ - -sticky nsew -minsize -50 + -sticky nsew -minsize 0 } .p sash place 1 10 0 # Get the new sash coord; it should have moved as far as possible, @@ -1985,18 +1985,18 @@ # respecting minsizes. .p sash coord 0 } -cleanup { deleteWindows } -result [list 0 50] -test panedwindow-18.10 {MoveSash, move right, negative minsize becomes 0} -setup { +test panedwindow-18.10 {MoveSash, move right, zero minsize} -setup { deleteWindows } -body { panedwindow .p -showhandle false -borderwidth 0 -sashpad 0 -sashwidth 2 \ -orient vertical foreach w {.f1 .f2 .f3} c {red blue} { .p add [frame $w -height 20 -width 20 -bg $c] \ - -sticky nsew -minsize -50 + -sticky nsew -minsize 0 } .p sash place 0 0 50 # Get the new sash coord; it should have moved as far as possible, @@ -2128,18 +2128,18 @@ # respecting minsizes. .p sash coord 1 } -cleanup { deleteWindows } -result [list 0 42] -test panedwindow-18.18 {MoveSash, move up, negative minsize becomes 0} -setup { +test panedwindow-18.18 {MoveSash, move up, zero minsize} -setup { deleteWindows } -body { panedwindow .p -showhandle false -borderwidth 0 -sashpad 0 -sashwidth 2 \ -orient vertical foreach w {.f1 .f2 .f3} c {red blue green} { .p add [frame $w -height 20 -width 20 -bg $c] \ - -sticky nsew -minsize -50 + -sticky nsew -minsize 0 } .p sash place 1 0 10 # Get the new sash coord; it should have moved as far as possible, Index: tests/scrollbar.test ================================================================== --- tests/scrollbar.test +++ tests/scrollbar.test @@ -78,16 +78,15 @@ {-bd 4 4 badValue {expected screen distance but got "badValue"}} {-bg #ff0000 #ff0000 non-existent {unknown color name "non-existent"}} {-borderwidth 1.3 1 badValue {expected screen distance but got "badValue"}} {-command "set x" {set x} {} {}} - {-elementborderwidth 4 4 badValue {expected screen distance but got "badValue"}} + {-elementborderwidth 4 4 badValue {expected screen distance or "" but got "badValue"}} {-cursor arrow arrow badValue {bad cursor spec "badValue"}} {-highlightbackground #112233 #112233 ugly {unknown color name "ugly"}} {-highlightcolor #123456 #123456 bogus {unknown color name "bogus"}} - {-highlightthickness 6 6 bogus {expected screen distance but got "bogus"}} - {-highlightthickness -2 0 {} {}} + {-highlightthickness 6 6 -2 {expected screen distance but got "-2"}} {-jump true 1 silly {expected boolean value but got "silly"}} {-orient horizontal horizontal badValue {bad orientation "badValue": must be vertical or horizontal}} {-orient horizontal horizontal bogus {bad orientation "bogus": must be vertical or horizontal}} {-relief ridge ridge badValue {bad relief "badValue": must be flat, groove, raised, ridge, solid, or sunken}} Index: tests/spinbox.test ================================================================== --- tests/spinbox.test +++ tests/spinbox.test @@ -478,11 +478,11 @@ } -body { .e configure -highlightthickness -2 .e cget -highlightthickness } -cleanup { destroy .e -} -result 0 +} -returnCodes error -result {expected screen distance but got "-2"} test spinbox-1.41 {configuration option: "increment"} -setup { spinbox .e -borderwidth 2 -highlightthickness 2 -font {Helvetica -12} \ -relief sunken pack .e Index: tests/text.test ================================================================== --- tests/text.test +++ tests/text.test @@ -301,11 +301,11 @@ } -body { .t configure -highlightthickness -2 .t cget -highlightthickness } -cleanup { destroy .t -} -result 0 +} -returnCodes error -result {expected screen distance but got "-2"} test text-1.30 {configuration option: "highlightthickness"} -setup { text .t -borderwidth 2 -highlightthickness 2 -font {Courier -12 bold} pack .t update } -body { @@ -595,11 +595,11 @@ } -body { .t configure -spacing1 -5 .t cget -spacing1 } -cleanup { destroy .t -} -result 0 +} -returnCodes error -result {expected screen distance but got "-5"} test text-1.60 {configuration option: "spacing1"} -setup { text .t -borderwidth 2 -highlightthickness 2 -font {Courier -12 bold} pack .t update } -body { @@ -633,11 +633,11 @@ } -body { .t configure -spacing2 -1 .t cget -spacing2 } -cleanup { destroy .t -} -result 0 +} -returnCodes error -result {expected screen distance but got "-1"} test text-1.64 {configuration option: "spacing2"} -setup { text .t -borderwidth 2 -highlightthickness 2 -font {Courier -12 bold} pack .t update } -body { @@ -671,11 +671,11 @@ } -body { .t configure -spacing3 -10 .t cget -spacing3 } -cleanup { destroy .t -} -result 0 +} -returnCodes error -result {expected screen distance but got "-10"} test text-1.68 {configuration option: "spacing3"} -setup { text .t -borderwidth 2 -highlightthickness 2 -font {Courier -12 bold} pack .t update } -body { @@ -3310,27 +3310,27 @@ } -body { .t configure -spacing1 -2 -spacing2 1 -spacing3 1 list [.t cget -spacing1] [.t cget -spacing2] [.t cget -spacing3] } -cleanup { destroy .t -} -result {0 1 1} +} -returnCodes {error} -result {expected screen distance but got "-2"} test text-14.3 {ConfigureText procedure} -setup { text .t } -body { .t configure -spacing1 1 -spacing2 -1 -spacing3 1 list [.t cget -spacing1] [.t cget -spacing2] [.t cget -spacing3] } -cleanup { destroy .t -} -result {1 0 1} +} -returnCodes {error} -result {expected screen distance but got "-1"} test text-14.4 {ConfigureText procedure} -setup { text .t } -body { .t configure -spacing1 1 -spacing2 1 -spacing3 -3 list [.t cget -spacing1] [.t cget -spacing2] [.t cget -spacing3] } -cleanup { destroy .t -} -result {1 1 0} +} -returnCodes {error} -result {expected screen distance but got "-3"} test text-14.5 {ConfigureText procedure} -setup { text .t } -body { .t configure -tabs {30 foo} } -cleanup {