From 0efa5e09c98e2ab908ecc0033a616f5bbd982d3c Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 21 Nov 2008 23:31:56 -0600 Subject: [PATCH] Add some gadgets which are broken on purpose to test UI error handling --- extra/ui/gadgets/broken/broken.factor | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 extra/ui/gadgets/broken/broken.factor diff --git a/extra/ui/gadgets/broken/broken.factor b/extra/ui/gadgets/broken/broken.factor new file mode 100644 index 0000000000..d282e417bf --- /dev/null +++ b/extra/ui/gadgets/broken/broken.factor @@ -0,0 +1,26 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: kernel accessors ui ui.gadgets ui.gadgets.buttons ui.render ; +IN: ui.gadgets.broken + +! An intentionally broken gadget -- used to test UI error handling, +! make sure that one bad gadget doesn't bring the whole system down + +: ( -- button ) + "Click me if you dare" + [ "Haha" throw ] + ; + +TUPLE: bad-gadget < gadget ; + +M: bad-gadget draw-gadget* "Lulz" throw ; + +M: bad-gadget pref-dim* drop { 100 100 } ; + +: ( -- gadget ) bad-gadget new-gadget ; + +: bad-gadget-test ( -- ) + "Test 1" open-window + "Test 2" open-window ; + +MAIN: bad-gadget-test