diff options
author | sbron <sbron@tclcode.com> | 2023-03-20 10:35:49 (GMT) |
---|---|---|
committer | sbron <sbron@tclcode.com> | 2023-03-20 10:35:49 (GMT) |
commit | d506153e3da3be7340e7242424d74a23342d8428 (patch) | |
tree | d2523bc55ed644904f2cc738ba3b211e8bc9b18c | |
parent | c9fa73560e09fd8645deaee8706d15a6f0d8c80c (diff) | |
download | tk-d506153e3da3be7340e7242424d74a23342d8428.zip tk-d506153e3da3be7340e7242424d74a23342d8428.tar.gz tk-d506153e3da3be7340e7242424d74a23342d8428.tar.bz2 |
Fix error message formatting and add a test for the error scenario.
-rw-r--r-- | generic/tkMenu.c | 2 | ||||
-rw-r--r-- | tests/menu.test | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/generic/tkMenu.c b/generic/tkMenu.c index 69ef6da..1d607ff 100644 --- a/generic/tkMenu.c +++ b/generic/tkMenu.c @@ -2421,7 +2421,7 @@ MenuAddOrInsert( idPtr = objv[offs]; if (Tcl_FindHashEntry(&menuPtr->items, Tcl_GetString(idPtr))) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "Entry %s already exists", Tcl_GetString(idPtr))); + "entry \"%s\" already exists", Tcl_GetString(idPtr))); Tcl_SetErrorCode(interp, "TK", "MENU", "ENTRY_EXISTS", NULL); return TCL_ERROR; } diff --git a/tests/menu.test b/tests/menu.test index e330417..a114269 100644 --- a/tests/menu.test +++ b/tests/menu.test @@ -4134,6 +4134,16 @@ test menu-40.12 {identifiers - delete by id} -setup { } -cleanup { destroy .m } -result {e001 e002 cmd9} +test menu-40.12 {identifiers - duplicate} -setup { + destroy .m +} -body { + menu .m + .m add command foo -label 1 + .m add command bar -label 2 + .m add command foo -label 3 +} -cleanup { + destroy .m +} -returnCodes error -result {entry "foo" already exists} # cleanup imageFinish |