1. EditText Bug?
- Posted by Andy Feb 10, 2009
- 1381 views
Hey Guys,
I seem to have a bug or something. It won't let me input text in an editbox, even though there dosen't seem to be anything from preventing it from doing that. I'll post my code to see if anyone can see why?
constant MainWin = createEx(Window,"Frost Editor - DarkScar Games",0,Default,Default,640,480,0,0), NPWin = createEx(Window,"New Project Settings",MainWin,0,0,640,480,{WS_CHILD,WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), EDWin = createEx(Window,"Edit Project",MainWin,0,0,640,480,{WS_CHILD,WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), TPWin = createEx(Window,"",0,Default,Default,640,480,0,0), MUWin = createEx(Window,"Music Player",0,Default,Default,640,480,0,0), DAWin = createEx(Window,"Drawing Editor",0,Default,Default,640,480,0,0), COWin = createEx(Window,"Coding Editor",0,Default,Default,640,480,0,0), MAWin = createEx(Window,"Map Editor",0,Default,Default,640,480,0,0), ANWin = createEx(Window,"Animation Editor",0,Default,Default,640,480,0,0), EVWin = createEx(Window,"Event Editor",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), EVWin2 = createEx(Window,"Event List",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), EVWin3 = createEx(Window,"Event Settings",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), OPWin = createEx(Window,"Frost Options",MainWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), OPWin2 = createEx(Window,"Map Options",MAWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), LVWin = createEx(Window,"Level Up System",EDWin,0,0,640,480,{WS_CHILD, WS_CLIPSIBLINGS,WS_OVERLAPPEDWINDOW},0), MainStatus = createEx(StatusBar,"RPG Development Kit",MainWin,0,0,0,0,0,0), MusicStatus = createEx(StatusBar,"",MUWin,0,0,0,0,0,0), DrawStatus = createEx(StatusBar,"",DAWin,0,0,0,0,0,0), CodeStatus = createEx(StatusBar,"",COWin,0,0,0,0,0,0), MapStatus = createEx(StatusBar,"",MAWin,0,0,0,0,0,0), AniStatus = createEx(StatusBar,"",ANWin,0,0,0,0,0,0), EveStatus = createEx(StatusBar,"",EVWin,0,0,0,0,0,0), CodeText = createEx(RichEdit,"",COWin,Default,Default,640,480,0,0) constant Tabber = createEx(TabControl,"",OPWin,10,30,530,430,0,0), Tab_Frost = createEx(TabItem,"Frost Options",Tabber,0,0,0,0,0,0), Tab_Game = createEx(TabItem,"Game Options",Tabber,0,0,0,0,0,0), Tab_Day = createEx(TabItem,"Day&&Night",Tabber,0,0,0,0,0,0), Tab_FC = createEx(TabItem,"Frost Code",Tabber,0,0,0,0,0,0), Tab_Multi = createEx(TabItem,"Multitasking",Tabber,0,0,0,0,0,0), Tab_Plug = createEx(TabItem,"Plugins",Tabber,0,0,0,0,0,0) constant Bit_8_Rad = createEx(Radio,"8-Bit",Tab_Game,10,30,80,20,0,0), Bit_16_Rad = createEx(Radio,"16-Bit",Tab_Game,10,60,80,20,0,0), Bit_24_Rad = createEx(Radio,"24-Bit",Tab_Game,10,90,80,20,0,0), Bit_32_Rad = createEx(Radio,"32-Bit",Tab_Game,10,120,80,20,0,0) constant Full_Screen_Check = createEx(CheckBox,"Full Screen",Tab_Game,10,150,80,20,0,0), Windowed_Check = createEx(CheckBox,"Windowed",Tab_Game,10,180,80,20,0,0), Custom_Check = createEx(CheckBox,"Custom",Tab_Game,10,210,80,20,0,0) constant X_Text = createEx(LText,"X:",Tab_Game,10,240,30,20,0,0), X_Edit = createEx(EditText,"",Tab_Game,40,240,40,22,0,0), Y_Text = createEx(LText,"Y:",Tab_Game,90,240,30,20,0,0), Y_Edit = createEx(EditText,"",Tab_Game,120,240,40,22,0,0) integer FullScreenChecked, FullScreenNotChecked, WindowedChecked, WindowedNotChecked, CustomChecked, CustomNotChecked FullScreenChecked = 0 FullScreenNotChecked = 1 WindowedChecked = 0 WindowedNotChecked = 1 CustomChecked = 0 CustomNotChecked = 1 setEnable(X_Edit,w32False) setEnable(Y_Edit,w32False) procedure Full_Screen_Checks(integer self, integer event, sequence parm) if FullScreenNotChecked = isChecked(Full_Screen_Check) then setEnable(Windowed_Check,w32False) setEnable(Custom_Check,w32False) elsif FullScreenChecked = isChecked(Full_Screen_Check) then setEnable(Windowed_Check,w32True) setEnable(Custom_Check,w32True) end if end procedure setHandler(Full_Screen_Check,w32HClick,routine_id("Full_Screen_Checks")) procedure Windowed_Checks(integer self, integer event, sequence parm) if WindowedNotChecked = isChecked(Windowed_Check) then setEnable(Full_Screen_Check,w32False) setEnable(Custom_Check,w32False) elsif WindowedChecked = isChecked(Windowed_Check) then setEnable(Full_Screen_Check,w32True) setEnable(Custom_Check,w32True) end if end procedure setHandler(Windowed_Check,w32HClick,routine_id("Windowed_Checks")) procedure Custom_Checks(integer self, integer event, sequence parm) if CustomNotChecked = isChecked(Custom_Check) then setEnable(Full_Screen_Check,w32False) setEnable(Windowed_Check,w32False) setEnable(X_Edit,w32True) setEnable(Y_Edit,w32True) elsif CustomChecked = isChecked(Custom_Check) then setEnable(Full_Screen_Check,w32True) setEnable(Windowed_Check,w32True) setEnable(X_Edit,w32False) setEnable(Y_Edit,w32False) end if end procedure setHandler(Custom_Check,w32HClick,routine_id("Custom_Checks"))
I probably posted more code than was needed, but hopefuly someone will be able to see why.
2. Re: EditText Bug?
- Posted by ghaberek (admin) Feb 10, 2009
- 1335 views
Uh... I get an empty window when I run...
WinMain( MainWin, Normal )
-Greg
3. Re: EditText Bug?
- Posted by Andy Feb 10, 2009
- 1326 views
- Last edited Feb 11, 2009
Oh I'm sorry its
WinMain(MainWin,Maximized)
If that dosen't work, then I guess I'll have to post the full sourcecode
4. Re: EditText Bug?
- Posted by ghaberek (admin) Feb 11, 2009
- 1327 views
I got nothin'. Just an empty window and a status bar.
We need some sort of "attachment" system for this forum, so we can upload files to a thread for reference...
-Greg
5. Re: EditText Bug?
- Posted by Andy Feb 11, 2009
- 1371 views
Oh I'm sorry, there was more code that I needed to post, well here is what was needed
constant File = createEx(Menu,"&File",MainWin,0,0,0,0,0,0), File_New_Project = createEx(MenuItem,"New Project",File,0,0,0,0,0,0), File_Open_Project = createEx(MenuItem,"Open Project",File,0,0,0,0,0,0), File_Close_Project = createEx(MenuItem,"Close Project",File,0,0,0,0,0,0), File_Sep = createEx(MenuItem,"-",File,0,0,0,0,0,0), File_Save_Project = createEx(MenuItem,"Save Project",File,0,0,0,0,0,0), File_SaveAs_Project = createEx(MenuItem,"Save As Project",File,0,0,0,0,0,0), File_SaveAllFiles = createEx(MenuItem,"Save All Files",File,0,0,0,0,0,0), File_Sep2 = createEx(MenuItem,"-",File,0,0,0,0,0,0), File_Frost_Option = createEx(MenuItem,"Frost Options",File,0,0,0,0,0,0), File_Sep3 = createEx(MenuItem,"-",File,0,0,0,0,0,0), File_Make_Exe = createEx(MenuItem,"Make Exe",File,0,0,0,0,0,0), File_Sep4 = createEx(MenuItem,"-",File,0,0,0,0,0,0), File_Exit = createEx(MenuItem,"Exit",File,0,0,0,0,0,0) setEnable(X_Edit,w32False) setEnable(Y_Edit,w32False) constant StatusMain = {MainStatus, 1}, StatusDate = {MainStatus, 2}, StatusTime = {MainStatus, 3}, Timer = 1 constant DAYS = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"} procedure setDateTime() sequence dt, ampm, the_date, the_time dt = getLocalTime() ampm = "AM" if dt[5] > 12 then dt[5] -= 12 ampm = "PM" elsif dt[5] = 0 then dt[5] = 12 end if the_date = sprintf("%s %02d/%02d/%04d", {DAYS[dt[3]+1], dt[2], dt[4], dt[1]}) the_time = sprintf("%02d:%02d:%02d %s", {dt[5], dt[6], dt[7], ampm}) setText(StatusDate, the_date) setText(StatusTime, the_time) end procedure procedure MainWin_onActivate(integer self, integer event, sequence parm) setDateTime() setTimer(MainWin,Timer,1000) end procedure setHandler(MainWin, w32HActivate, routine_id("MainWin_onActivate")) procedure MainWin_onResize(integer self, integer event, sequence parm) sequence rect rect = getClientRect(MainWin) setSubFields(MainStatus, {rect[3]-180, -90, -1}) end procedure setHandler(MainWin,w32HResize, routine_id("MainWin_onResize")) procedure MainWin_onTimer(integer self, integer event, sequence parm) if parm[1] = Timer then setDateTime() end if end procedure setHandler(MainWin, w32HTimer, routine_id("MainWin_onTimer")) procedure MainWin_onClose(integer self, integer event, sequence parm) killTimer(MainWin,Timer) end procedure setHandler(MainWin,w32HClose,routine_id("MainWin_onClose")) procedure Open_Frost_Options(integer self, integer event, sequence parm) openWindow(OPWin,Normal) end procedure setHandler(File_Frost_Option,w32HClick,routine_id("Open_Frost_Options"))
6. Re: EditText Bug?
- Posted by ghaberek (admin) Feb 11, 2009
- 1305 views
Well I can see you're calling setEnable(X/Y_Edit,w32False). Is it those X/Y_Edit boxes you're having an issue with? If so, it's because they're disabled. I didn't have any problems typing into the CodeText box (once I made a View > Code Editor menu to launch it ).
-Greg
7. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 11, 2009
- 1330 views
- Last edited Feb 12, 2009
I seem to have a bug or something. It won't let me input text in an editbox, even though there dosen't seem to be anything from preventing it from doing that. I'll post my code to see if anyone can see why?
Yep, there is a bug and I can't find it so far. However, the problem is not that it is stopping you from entering stuff in those fields, just that you can't click those fields to make them get focus.
If you click the "Custom" option then tab into those fields it works. Or if you add a setFocus() call it also works. So the problem is that it is not accepting left-mouse clicks. I sort of remember something about this so I'll back to you soon.
8. Re: EditText Bug?
- Posted by ghaberek (admin) Feb 12, 2009
- 1311 views
Why is this thread broken, too?
-Greg
10. Re: EditText Bug?
- Posted by mattlewis (admin) Feb 12, 2009
- 1353 views
Why is this thread broken, too?
I think it's an issue with the forum, where it has problems if you don't close a eucode tag or if there's no newline at the end.
Matt
11. Re: EditText Bug?
- Posted by Andy Feb 12, 2009
- 1291 views
- Last edited Feb 13, 2009
Why is this thread broken, too?
I think it's an issue with the forum, where it has problems if you don't close a eucode tag or if there's no newline at the end.
Matt
Hey Guys, has anyone figured out the bug yet? I know of a workaround I could use, but it would take a lot of code, I'll try to see if I can fix the bug, but, its gonna be tough, because everything seems to be working ok, except for that bug.
12. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 12, 2009
- 1288 views
- Last edited Feb 13, 2009
Hey Guys, has anyone figured out the bug yet?
I'm actually uploading a fix to win32lib right now for this (and a couple of other things).
13. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 12, 2009
- 1321 views
- Last edited Feb 13, 2009
You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site
If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.
Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.
14. Re: EditText Bug?
- Posted by Andy Feb 13, 2009
- 1343 views
You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site
If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.
Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.
Yes I am using the latest version and I have your patch and it is now working, I can input text in the fields, thanks for the fix.
15. Re: EditText Bug?
- Posted by Rad Feb 14, 2009
- 1342 views
You didn't mention which version you are using so I assumed it was the latest 0.70.4a. If not, 0.70.4a can be downloaded from Sourceforge site
If you already have that version, you can just download the patch I just uploaded from http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew.
Note, you might have to go to http://win32libex.svn.sourceforge.net/viewvc/win32libex/trunk/Include/win32lib.ew?view=log and do a "save link contents as ..." instead of a stright forward click-to-download.
Hi Derek,
I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.
What value to be used for SM_GETEVENTMASK ?
Thanks & Regards, Rad.
16. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1324 views
I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.
What value to be used for SM_GETEVENTMASK ?
Are you sure you don't mean EM_GETEVENTMASK?
There is no SM_GETEVENTMASK used anywhere in Win32lib or in thw Windows SDK.
17. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1280 views
Yes, Rad means EM_GETEVENTMASK. And yes, if you run Euphoria with that Win32Lib it comes up with that error:
C:\euphoria\win32lib\Win32Lib.ew:21507 EM_GETEVENTMASK has not been declared mask = sendMessage(id,EM_GETEVENTMASK,0,0) ^
It would be simple to put in but I don't know value it should be.
Andy
18. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1309 views
Yes, Rad means EM_GETEVENTMASK. And yes, if you run Euphoria with that Win32Lib it comes up with that error:
This seems to be a 'version' mismatch problem.
The simplest would be for you to get the latest copy of the respository, using SVN.
However, you can also find revision 50 at http://www.users.bigpond.com/ddparnell/win32lib_r50.zip (1.8MB)
19. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1276 views
Derek,
I downloaded your version 50 and we still have a problem. I have this error:
C:\euphoria\win32lib\include\Win32Lib.ew:7404 in procedure setBackground() variable lNewBrush has not been assigned a value ... called from Win32Lib.ew:13509 in function createEx() ...
Andy
20. Re: EditText Bug?
- Posted by Rad Feb 14, 2009
- 1300 views
I tried the new win32lib.ew but I am getting "SM_GETEVENTMASK not declared" error. It is not present in win32constants.ew.
What value to be used for SM_GETEVENTMASK ?
Are you sure you don't mean EM_GETEVENTMASK?
There is no SM_GETEVENTMASK used anywhere in Win32lib or in thw Windows SDK.
Sorry, my typo. It is EM_GETEVENTMASK.
If I can set a value to this constant (may be in w32constants.ew) what should it be ?
Regards, Rad.
21. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1308 views
I downloaded your version 50 and we still have a problem. I have this error ...
Thanks Andy. While fixing the previous bug I noticed another bug and made a fix for that too, but forgot to test it. I've cleaned up my mess now.
You can look at the SourceForge Repository to see which files I've touched. This patch is rev #51.
22. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1291 views
If I can set a value to this constant (may be in w32constants.ew) what should it be ?
Try picking up the current revision of the whole library at http://www.users.bigpond.com/ddparnell/Euphoria/win32lib_r51.zip (1.8MB)
23. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1268 views
That's great, Derek. It holds together OK for the miniscule amount of testing I can do in a few minutes. It alarms me how long it would take to test all of Win32Lib - like forever, really.
Are you looking after this library for now, or is this a one-off taking care of people from the kindness of your heart? I hope you are, but I wouldn't be surprised if you didn't want the job again.
Thanks very much for your efforts, though.
Andy
24. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1296 views
Oh-oh!
Win32LibVersionEx() seems to have disappeared from the previous working library. I ran IDE.exw which runs OK on the last Win32Lib I have been using - 0.70.4a. It is a minor thing, I guess, but if it was there and isn't now, that is a shame. I tend to run IDE.exw as it uses more of the Win32Lib that any other one program I know.
Andy
25. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1288 views
Are you looking after this library for now ...
There are a number of people who can do updates to the sourceforge repository, I just happened to be passing by this time
- Christian Cuvier
- Dan Moyer
- David Cuny
- Derek Parnell
- Matt Lewis
If anyone else is interested in joining this group, just let me know.
26. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1284 views
This is odd. I can find no *.e or *.ew file which refers to Win32LibVersion... in either Win32Lib 0.70.4a or this latest 0.70.5.1 ("51") and yet when I run IDE.exw it fails on the latter but not the former. I don't understand. An older IDE.ew runs on the latest library, but not the latest Judith offering which I have used for some six months or more now. And the latest IDE.exw fails with "51" because it can't find the constant Win32LibVersionEx[]. Durrr...
IDE fails in IDE_about.ew line 108 which tries to use the ASCII value from Win32LibVersionEx[1..5] in a setText() call. I could frig it I suppose...
Andy
27. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 14, 2009
- 1291 views
Win32LibVersionEx() seems to have disappeared ...
Yes it has. I got rid of it as it was redundant and should never have been there. All it did was add a 4th 'revision' identifier to the three already there, and it did it in an inefficient manner.
In the IDE file "includes\IDE_about.ew", replace line 108 from
setText(LText8,sprintf(MsgNos[10][3] ,{Win32LibVersionEx[1],Win32LibVersionEx[2],Win32LibVersionEx[3],Win32LibVersionEx[4]} ) & " " & Win32LibVersionEx[5])
to
setText(LText8,sprintf(MsgNos[10][3] ,{Win32LibVersion[1],Win32LibVersion[2],Win32LibVersion[3],""} ) & " " & Win32LibVersion[4])
I'll get on to updating the IDE code, once I convert the repository over to SVN too.
28. Re: EditText Bug?
- Posted by AndyDrummond Feb 14, 2009
- 1268 views
Fine. I did that change - more or less - so all is well. You know I hate posting problems, it always sounds to me like criticism, but you guys all do a fantastic job to keep us simple guys coding. And what easier way to write code than in Euphoria with these libraries and Judith's IDE?
Andy
29. Re: EditText Bug?
- Posted by Rad Feb 15, 2009
- 1261 views
Fine. I did that change - more or less - so all is well. You know I hate posting problems, it always sounds to me like criticism, but you guys all do a fantastic job to keep us simple guys coding. And what easier way to write code than in Euphoria with these libraries and Judith's IDE?
Andy
Hi All,
I downloaded win32lib_r50.zip and used the required values of following constants/variables in win32lib v0.70.5 -
In win32constants.ew
-- RichEdit mask flags ENM_CHANGE = 1, EM_GETEVENTMASK = #043B,
Also in win32lib.ew (required for EuIDE to work properly)
--/topic Constants --/const Win32LibVersionEx --/desc Contains the current version of win32lib library. -- This is a sequence containing five elements. /n --/li Major version number (integer) --/li Minor version number (integer) --/li Patch or /i Revision number (integer) --/li Revision for patch (character) --/li Date of the version in DD-Mmm-YYYY format (string) -- -- The indexes of these parts are known as Win32libVersionExMajor, Win32libVersionExMinor, -- Win32libVersionExPatch, Win32libVersionExRevision and Win32libVersionExDate, respectively. -- -- If there is no revision letter, the latter is a space -- --Example --/code -- setText(SB, sprintf("Win32Lib version %d.%d Patch#%d%s, %s", -- Win32LibVersion)) -- or, if you don't want the extra space when there is no revision letter: -- setText(SB, sprintf("Win32Lib version %d.%d Patch#%d" -- & w32iff(Win32LibVersionEx[Win32libVersionExRevision]=' ',"","%s") -- letter or nothing -- & ", %s", -- the date -- Win32LibVersionEx)) --/endcode global constant Win32LibVersionEx = {0,70,5,0, "13-Feb-2009"} -- {Major, Minor, Patch, Revision, Date} global constant Win32libVersionExMajor = Win32libVersionMajor, Win32libVersionExMinor = Win32libVersionMinor, Win32libVersionExPatch = Win32libVersionPatch, Win32libVersionExRevision = 4, Win32libVersionExDate = 5
Now mouse clicks on EditText are working and I could do away with my workaround. Thanks for the fix.
One more issue:
Once EditText is disabled using setEnable(abc, w32false), it does not get back its original background colour after using setEnable(abc, w32True) though that EditText gets enabled properly.
I will download and try out w32lib 51 too.
Thanks & Regards, Rad.
30. Re: EditText Bug?
- Posted by DerekParnell (admin) Feb 15, 2009
- 1259 views
I've found this bug. It has to do with the simplistic method used to indicate 'disabled' text. I'll have a fix ready soon.
31. Re: EditText Bug?
- Posted by CChris Feb 17, 2009
- 1264 views
That's great, Derek. It holds together OK for the miniscule amount of testing I can do in a few minutes. It alarms me how long it would take to test all of Win32Lib - like forever, really.
Are you looking after this library for now, or is this a one-off taking care of people from the kindness of your heart? I hope you are, but I wouldn't be surprised if you didn't want the job again.
Thanks very much for your efforts, though.
Andy
One thing I had planned to do is to run a code coverage analysis on all demos, using the profiling facility. This would, after quite some work, tell which lines of codes are being used in the demos, and which aren't. Then, at least add demos that use lins not curently being run. Also, write a series of nondemos demonstrating error cases - for developers only.
Unit testing is not going to help a lot, since testing the library involves random interaction, including with non-win32lib apps. But given that there is hardly a standing bug and that the above process will probably unearth more opportunities to correct code, I expect significantly useful outcome.
CChris
32. Re: EditText Bug?
- Posted by AndyDrummond Feb 17, 2009
- 1254 views
CChris,
In my experience of software testing, you have two kinds - testing with known valid data, and testing with random data. In the second case, we would find Euphoria just crashing at almost every turn, which is fine, if a little useless. In the first case we'd need to define the range of valid data and test against some useful subset of that. But just trying to decide what constitutes valid data and doing that testing, would be a mammoth undertaking. Combined with executing the various tasks in all the various valid arrangements would make the whole thing just terrifying!
I don't want to put you off, of course, but I do wonder if it is in fact better to do what the car manufacturers do - let the user discover the bugs and then put them right! Plus a certain amount of more general testing. Caveat actor ... my Latin is bad ... Let the user beware?
But all testing is of immense value - it does, at least, get rid of the silly errors. So don't let me put you off, M.Cuvier!
Andy