From a67eaaf9babd5448a78a4887c0569b445932c83b Mon Sep 17 00:00:00 2001
From: Pietro Gagliardi <pietro10@mac.com>
Date: Sat, 8 Mar 2014 21:59:03 -0500
Subject: [PATCH] Added a flag to the test program to evaluate illegal
 deletions on Mac OS X, necessary before I make it panic myself.

---
 test/main.go | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/test/main.go b/test/main.go
index fb21024..c8da803 100644
--- a/test/main.go
+++ b/test/main.go
@@ -35,6 +35,8 @@ func gridWindow() (*Window, error) {
 	return w, w.Open(g)
 }
 
+var macCrashTest = flag.Bool("maccrash", false, "attempt crash on Mac OS X on deleting too far (debug lack of panic on 32-bit)")
+
 func myMain() {
 	w := NewWindow("Main Window", 320, 240)
 	w.Closing = Event()
@@ -111,10 +113,18 @@ mainloop:
 			}
 			doAdjustments()
 		case <-b2.Clicked:
-			cb1.Delete(1)
-			cb2.Delete(2)
-			lb1.Delete(3)
-			lb2.Delete(4)
+			if cb1.Len() > 1 {
+				cb1.Delete(1)
+			}
+			if cb2.Len() > 2 {
+				cb2.Delete(2)
+			}
+			if lb1.Len() > 3 || *macCrashTest {
+				lb1.Delete(3)
+			}
+			if lb2.Len() > 4 {
+				lb2.Delete(4)
+			}
 		case <-b3.Clicked:
 			MsgBox("List Info",
 				"cb1: %d %q (len %d)\ncb2: %d %q (len %d)\nlb1: %d %q (len %d)\nlb2: %d %q (len %d)",