1// AlertTest.cpp
2#include "AlertTest.h"
3#include <cppunit/Test.h>
4#include <cppunit/TestCaller.h>
5#include <cppunit/TestSuite.h>
6#include <iostream.h>
7#include <stdio.h>
8#include <string.h>
9#include <Application.h>
10#include <Alert.h>
11#include <Point.h>
12#include <TextView.h>
13#include <Button.h>
14#include <Rect.h>
15
16#define ASSERT_DEQUAL(x,y) CPPUNIT_ASSERT_DOUBLES_EQUAL((x),(y),0.01)
17
18const char *k20X = "XXXXXXXXXXXXXXXXXXXX";
19const char *k40X = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
20const char *k60X = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
21
22// Required by CPPUNIT_ASSERT_EQUAL(rgb_color, rgb_color)
23#if TEST_R5
24bool operator==(const rgb_color &left, const rgb_color &right)
25{
26	if (left.red == right.red && left.green == right.green &&
27	    left.blue == right.blue && left.alpha == right.alpha)
28	    return true;
29	else
30		return false;
31}
32#endif	// TEST_R5
33
34// Required by CPPUNIT_ASSERT_EQUAL(rgb_color, rgb_color)
35ostream &operator<<(ostream &stream, const rgb_color &clr)
36{
37	return stream << "rgb_color(" << clr.red << ", " <<
38		clr.green << ", " << clr.blue << ", " << clr.alpha << ")";
39}
40
41// For storing expected state of windows or views.
42struct GuiInfo {
43	const char*	label;
44	float		width;
45	float		height;
46	BPoint		topleft;
47};
48
49// For storing all the information required to create and
50// verify the state of a BAlert object.
51class AlertTestInfo {
52public:
53	AlertTestInfo(AlertTest *pTest);
54	~AlertTestInfo();
55
56	void SetWinInfo(const GuiInfo &winInfo);
57	void SetTextViewInfo(const GuiInfo &textInfo);
58	void SetButtonInfo(int32 btn, const GuiInfo &btnInfo);
59
60	void SetButtonWidthMode(button_width widthMode);
61	void SetButtonSpacingMode(button_spacing spacingMode);
62	void SetAlertType(alert_type alertType);
63
64	void GuiInfoTest();
65
66private:
67	AlertTest*		fTest;
68	GuiInfo			fWinInfo;
69	GuiInfo			fTextInfo;
70	GuiInfo			fButtonInfo[3];
71	int32 			fButtonCount;
72	button_width	fWidthMode;
73	button_spacing	fSpacingMode;
74	alert_type		fAlertType;
75};
76
77AlertTestInfo::AlertTestInfo(AlertTest *pTest)
78{
79	memset(this, 0, sizeof(AlertTestInfo));
80
81	fTest = pTest;
82	fWidthMode = B_WIDTH_AS_USUAL;
83	fSpacingMode = B_EVEN_SPACING;
84	fAlertType = B_INFO_ALERT;
85}
86
87AlertTestInfo::~AlertTestInfo()
88{
89	fTest = NULL;
90	fButtonCount = 0;
91}
92
93void
94AlertTestInfo::SetWinInfo(const GuiInfo &winInfo)
95{
96	fWinInfo = winInfo;
97}
98
99void
100AlertTestInfo::SetTextViewInfo(const GuiInfo &textInfo)
101{
102	fTextInfo = textInfo;
103}
104
105void
106AlertTestInfo::SetButtonInfo(int32 btn, const GuiInfo &btnInfo)
107{
108	if (btn < 0 || btn > 2 || btn > fButtonCount) {
109		CPPUNIT_ASSERT(false);
110		return;
111	}
112	fButtonInfo[btn] = btnInfo;
113	if (btn == fButtonCount && fButtonCount < 3)
114		fButtonCount++;
115}
116
117void
118AlertTestInfo::SetButtonWidthMode(button_width widthMode)
119{
120	fWidthMode = widthMode;
121}
122
123void
124AlertTestInfo::SetButtonSpacingMode(button_spacing spacingMode)
125{
126	fSpacingMode = spacingMode;
127}
128
129void
130AlertTestInfo::SetAlertType(alert_type alertType)
131{
132	fAlertType = alertType;
133}
134
135void
136AlertTestInfo::GuiInfoTest()
137{
138	fTest->NextSubTest();
139	// Dummy application object required to create Window objects.
140	BApplication app("application/x-vnd.Haiku-interfacekit_alerttest");
141	BAlert *pAlert = new BAlert(
142		fWinInfo.label,
143		fTextInfo.label,
144		fButtonInfo[0].label,
145		fButtonInfo[1].label,
146		fButtonInfo[2].label,
147		fWidthMode,
148		fSpacingMode,
149		fAlertType
150	);
151	CPPUNIT_ASSERT(pAlert);
152
153	// Alert Window Width/Height
154	fTest->NextSubTest();
155	ASSERT_DEQUAL(fWinInfo.width, pAlert->Bounds().Width());
156	ASSERT_DEQUAL(fWinInfo.height, pAlert->Bounds().Height());
157
158	// [k] MasterView
159	fTest->NextSubTest();
160	BView *masterView = pAlert->ChildAt(0);
161	CPPUNIT_ASSERT(masterView);
162
163	// [k] MasterView Color
164	fTest->NextSubTest();
165	CPPUNIT_ASSERT_EQUAL(ui_color(B_PANEL_BACKGROUND_COLOR),
166		masterView->ViewColor());
167
168	// Test all the buttons
169	BButton *btns[3] = { NULL };
170	for (int32 i = 0; i < 3; i++) {
171		fTest->NextSubTest();
172		btns[i] = pAlert->ButtonAt(i);
173
174		if (i >= fButtonCount) {
175			// If there is should be no button at this index
176			CPPUNIT_ASSERT_EQUAL((BButton*)NULL, btns[i]);
177		} else {
178			// If there should be a button at this index
179			CPPUNIT_ASSERT(btns[i]);
180
181			CPPUNIT_ASSERT(
182				strcmp(fButtonInfo[i].label, btns[i]->Label()) == 0);
183
184			ASSERT_DEQUAL(fButtonInfo[i].width, btns[i]->Bounds().Width());
185
186			ASSERT_DEQUAL(fButtonInfo[i].height, btns[i]->Bounds().Height());
187
188			BPoint pt = btns[i]->ConvertToParent(BPoint(0, 0));
189			ASSERT_DEQUAL(fButtonInfo[i].topleft.x, pt.x);
190			ASSERT_DEQUAL(fButtonInfo[i].topleft.y, pt.y);
191
192			if (i == fButtonCount - 1) {
193				// Default button
194				CPPUNIT_ASSERT_EQUAL(true, btns[i]->IsDefault());
195			}
196		}
197	}
198
199	// [k] TextView
200	fTest->NextSubTest();
201	BTextView *textView = pAlert->TextView();
202	CPPUNIT_ASSERT(textView);
203
204	// [k] TextView ViewColor()
205	fTest->NextSubTest();
206	CPPUNIT_ASSERT_EQUAL(ui_color(B_PANEL_BACKGROUND_COLOR), textView->ViewColor());
207
208	// [k] TextView IsEditable()
209	fTest->NextSubTest();
210	CPPUNIT_ASSERT_EQUAL(false, textView->IsEditable());
211
212	// [k] TextView IsSelectable()
213	fTest->NextSubTest();
214	CPPUNIT_ASSERT_EQUAL(false, textView->IsSelectable());
215
216	// [k] TextView DoesWordWrap()
217	fTest->NextSubTest();
218	CPPUNIT_ASSERT_EQUAL(true, textView->DoesWordWrap());
219
220	// TextView Text
221	fTest->NextSubTest();
222	CPPUNIT_ASSERT(strcmp(fTextInfo.label, textView->Text()) == 0);
223
224	// TextView Width/Height
225	fTest->NextSubTest();
226	ASSERT_DEQUAL(fTextInfo.width, textView->Bounds().Width());
227	ASSERT_DEQUAL(fTextInfo.height, textView->Bounds().Height());
228
229	// TextView Position
230	fTest->NextSubTest();
231	BPoint pt = textView->ConvertToParent(BPoint(0, 0));
232	ASSERT_DEQUAL(fTextInfo.topleft.x, pt.x);
233	ASSERT_DEQUAL(fTextInfo.topleft.y, pt.y);
234
235	delete pAlert;
236	pAlert = NULL;
237}
238
239// Suite
240CppUnit::Test *
241AlertTest::Suite()
242{
243	CppUnit::TestSuite *suite = new CppUnit::TestSuite();
244	typedef CppUnit::TestCaller<AlertTest> TC;
245
246#define AT_ADDTEST(fn) (suite->addTest(new TC("Alert " #fn, &AlertTest::fn)))
247
248	////// UW_ES_IA - One Button //////
249	AT_ADDTEST(empty_empty_UW_ES_IA);
250	AT_ADDTEST(OK_X_UW_ES_IA);
251	AT_ADDTEST(OK_60X_UW_ES_IA);
252	AT_ADDTEST(twentyX_60X_UW_ES_IA);
253	AT_ADDTEST(fortyX_60X_UW_ES_IA);
254
255	////// LW_ES_IA - One Button //////
256	AT_ADDTEST(empty_empty_LW_ES_IA);
257	AT_ADDTEST(OK_X_LW_ES_IA);
258	AT_ADDTEST(twentyX_60X_LW_ES_IA);
259	AT_ADDTEST(fortyX_60X_LW_ES_IA);
260
261	////// WW_ES_IA - One Button //////
262	AT_ADDTEST(empty_empty_WW_ES_IA);
263	AT_ADDTEST(OK_X_WW_ES_IA);
264	AT_ADDTEST(twentyX_60X_WW_ES_IA);
265
266	////// UW_ES_EA - One Button //////
267	AT_ADDTEST(OK_X_UW_ES_EA);
268	AT_ADDTEST(fortyX_60X_UW_ES_EA);
269
270	////// UW_OS_IA - One Button //////
271	AT_ADDTEST(OK_X_UW_OS_IA);
272	AT_ADDTEST(fortyX_60X_UW_OS_IA);
273
274	////// LW_OS_IA - One Button //////
275	AT_ADDTEST(OK_X_LW_OS_IA);
276
277	////// UW_OS_EA - One Button //////
278	AT_ADDTEST(OK_X_UW_OS_EA);
279
280	////// UW_ES_IA - Two Button //////
281	AT_ADDTEST(OK_Cancel_60X_UW_ES_IA);
282	AT_ADDTEST(twentyX_Cancel_60X_UW_ES_IA);
283	AT_ADDTEST(twentyX_20X_60X_UW_ES_IA);
284
285	////// LW_ES_IA - Two Button //////
286	AT_ADDTEST(empty_empty_X_LW_ES_IA);
287	AT_ADDTEST(OK_Cancel_60X_LW_ES_IA);
288
289	////// WW_ES_IA - Two Button //////
290	AT_ADDTEST(empty_empty_X_WW_ES_IA);
291	AT_ADDTEST(OK_Cancel_60X_WW_ES_IA);
292	AT_ADDTEST(twentyX_Cancel_60X_WW_ES_IA);
293	AT_ADDTEST(twentyX_20X_WW_ES_IA);
294
295	////// UW_ES_EA - Two Button //////
296	AT_ADDTEST(OK_Cancel_60X_UW_ES_EA);
297	AT_ADDTEST(twentyX_20X_60X_UW_ES_EA);
298
299	////// UW_OS_IA - Two Button //////
300	AT_ADDTEST(OK_Cancel_60X_UW_OS_IA);
301
302	////// LW_OS_IA - Two Button //////
303	AT_ADDTEST(OK_Cancel_60X_LW_OS_IA);
304
305	////// LW_OS_EA - Two Button //////
306	AT_ADDTEST(twentyX_OK_60X_LW_OS_EA);
307
308	////// UW_ES_IA - Three Button //////
309	AT_ADDTEST(twentyX_20X_20X_60X_UW_ES_IA);
310
311	////// LW_ES_IA - Three Button //////
312	AT_ADDTEST(empty_empty_empty_X_LW_ES_IA);
313	AT_ADDTEST(Yes_No_Cancel_X_LW_ES_IA);
314	AT_ADDTEST(twentyX_20X_20X_60X_LW_ES_IA);
315
316	////// WW_ES_IA - Three Button //////
317	AT_ADDTEST(empty_empty_empty_X_WW_ES_IA);
318	AT_ADDTEST(Monkey_Dog_Cat_X_WW_ES_IA);
319	AT_ADDTEST(X_20X_X_WW_ES_IA);
320	AT_ADDTEST(Yes_No_Cancel_X_WW_ES_IA);
321	AT_ADDTEST(twentyX_20X_20X_60X_WW_ES_IA);
322
323	////// UW_ES_EA - Three Button //////
324	AT_ADDTEST(twentyX_20X_20X_60X_UW_ES_EA);
325
326	////// UW_OS_IA - Three Button //////
327	AT_ADDTEST(Yes_No_Cancel_60X_UW_OS_IA);
328
329	////// LW_OS_IA - Three Button //////
330	AT_ADDTEST(Yes_No_Cancel_60X_LW_OS_IA);
331
332	////// WW_OS_IA - Three Button //////
333	AT_ADDTEST(Monkey_Dog_Cat_60X_WW_OS_IA);
334
335	////// UW_OS_EA - Three Button //////
336	AT_ADDTEST(twentyX_OK_Cancel_60X_UW_OS_EA);
337
338	return suite;
339}
340
341// setUp
342void
343AlertTest::setUp()
344{
345	BTestCase::setUp();
346}
347
348// tearDown
349void
350AlertTest::tearDown()
351{
352	BTestCase::tearDown();
353}
354
355////// UW_ES_IA - One Button //////
356
357void
358AlertTest::empty_empty_UW_ES_IA()
359{
360	AlertTestInfo ati(this);
361	GuiInfo wi, ti, bi;
362	wi.label = "alert1";
363	wi.width = 310.0f;
364	wi.height = 64.0f;
365	ati.SetWinInfo(wi);
366
367	ti.label = "";
368	ti.width = 245.0f;
369	ti.height = 13.0f;
370	ti.topleft.Set(55.0f, 6.0f);
371	ati.SetTextViewInfo(ti);
372
373	bi.label = "";
374	bi.width = 75.0f;
375	bi.height = 30.0f;
376	bi.topleft.Set(229.0f, 28.0f);
377	ati.SetButtonInfo(0, bi);
378
379	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
380	ati.SetButtonSpacingMode(B_EVEN_SPACING);
381	ati.SetAlertType(B_INFO_ALERT);
382
383	ati.GuiInfoTest();
384}
385
386void
387AlertTest::OK_X_UW_ES_IA()
388{
389	AlertTestInfo ati(this);
390	GuiInfo wi, ti, bi;
391	wi.label = "alert1";
392	wi.width = 310.0f;
393	wi.height = 64.0f;
394	ati.SetWinInfo(wi);
395
396	ti.label = "X";
397	ti.width = 245.0f;
398	ti.height = 13.0f;
399	ti.topleft.Set(55.0f, 6.0f);
400	ati.SetTextViewInfo(ti);
401
402	bi.label = "OK";
403	bi.width = 75.0f;
404	bi.height = 30.0f;
405	bi.topleft.Set(229.0f, 28.0f);
406	ati.SetButtonInfo(0, bi);
407
408	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
409	ati.SetButtonSpacingMode(B_EVEN_SPACING);
410	ati.SetAlertType(B_INFO_ALERT);
411
412	ati.GuiInfoTest();
413}
414
415void
416AlertTest::OK_60X_UW_ES_IA()
417{
418	AlertTestInfo ati(this);
419	GuiInfo wi, ti, bi;
420	wi.label = "alert1";
421	wi.width = 310.0f;
422	wi.height = 77.0f;
423	ati.SetWinInfo(wi);
424
425	ti.label = k60X;
426	ti.width = 245.0f;
427	ti.height = 26.0f;
428	ti.topleft.Set(55.0f, 6.0f);
429	ati.SetTextViewInfo(ti);
430
431	bi.label = "OK";
432	bi.width = 75.0f;
433	bi.height = 30.0f;
434	bi.topleft.Set(229.0f, 41.0f);
435	ati.SetButtonInfo(0, bi);
436
437	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
438	ati.SetButtonSpacingMode(B_EVEN_SPACING);
439	ati.SetAlertType(B_INFO_ALERT);
440
441	ati.GuiInfoTest();
442}
443
444void
445AlertTest::twentyX_60X_UW_ES_IA()
446{
447	AlertTestInfo ati(this);
448	GuiInfo wi, ti, bi;
449	wi.label = "alert1";
450	wi.width = 310.0f;
451	wi.height = 77.0f;
452	ati.SetWinInfo(wi);
453
454	ti.label = k60X;
455	ti.width = 245.0f;
456	ti.height = 26.0f;
457	ti.topleft.Set(55.0f, 6.0f);
458	ati.SetTextViewInfo(ti);
459
460	bi.label = k20X;
461	bi.width = 160.0f;
462	bi.height = 30.0f;
463	bi.topleft.Set(144.0f, 41.0f);
464	ati.SetButtonInfo(0, bi);
465
466	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
467	ati.SetButtonSpacingMode(B_EVEN_SPACING);
468	ati.SetAlertType(B_INFO_ALERT);
469
470	ati.GuiInfoTest();
471}
472
473void
474AlertTest::fortyX_60X_UW_ES_IA()
475{
476	AlertTestInfo ati(this);
477	GuiInfo wi, ti, bi;
478	wi.label = "alert1";
479	wi.width = 365.0f;
480	wi.height = 77.0f;
481	ati.SetWinInfo(wi);
482
483	ti.label = k60X;
484	ti.width = 300.0f;
485	ti.height = 26.0f;
486	ti.topleft.Set(55.0f, 6.0f);
487	ati.SetTextViewInfo(ti);
488
489	bi.label = k40X;
490	bi.width = 300.0f;
491	bi.height = 30.0f;
492	bi.topleft.Set(59.0f, 41.0f);
493	ati.SetButtonInfo(0, bi);
494
495	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
496	ati.SetButtonSpacingMode(B_EVEN_SPACING);
497	ati.SetAlertType(B_INFO_ALERT);
498
499	ati.GuiInfoTest();
500}
501
502////// LW_ES_IA - One Button //////
503
504void
505AlertTest::empty_empty_LW_ES_IA()
506{
507	AlertTestInfo ati(this);
508	GuiInfo wi, ti, bi;
509	wi.label = "alert1";
510	wi.width = 310.0f;
511	wi.height = 64.0f;
512	ati.SetWinInfo(wi);
513
514	ti.label = "";
515	ti.width = 245.0f;
516	ti.height = 13.0f;
517	ti.topleft.Set(55.0f, 6.0f);
518	ati.SetTextViewInfo(ti);
519
520	bi.label = "";
521	bi.width = 20.0f;
522	bi.height = 30.0f;
523	bi.topleft.Set(284.0f, 28.0f);
524	ati.SetButtonInfo(0, bi);
525
526	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
527	ati.SetButtonSpacingMode(B_EVEN_SPACING);
528	ati.SetAlertType(B_INFO_ALERT);
529
530	ati.GuiInfoTest();
531}
532
533void
534AlertTest::OK_X_LW_ES_IA()
535{
536	AlertTestInfo ati(this);
537	GuiInfo wi, ti, bi;
538	wi.label = "alert1";
539	wi.width = 310.0f;
540	wi.height = 64.0f;
541	ati.SetWinInfo(wi);
542
543	ti.label = "X";
544	ti.width = 245.0f;
545	ti.height = 13.0f;
546	ti.topleft.Set(55.0f, 6.0f);
547	ati.SetTextViewInfo(ti);
548
549	bi.label = "OK";
550	bi.width = 35.0f;
551	bi.height = 30.0f;
552	bi.topleft.Set(269.0f, 28.0f);
553	ati.SetButtonInfo(0, bi);
554
555	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
556	ati.SetButtonSpacingMode(B_EVEN_SPACING);
557	ati.SetAlertType(B_INFO_ALERT);
558
559	ati.GuiInfoTest();
560}
561
562void
563AlertTest::twentyX_60X_LW_ES_IA()
564{
565	AlertTestInfo ati(this);
566	GuiInfo wi, ti, bi;
567	wi.label = "alert1";
568	wi.width = 310.0f;
569	wi.height = 77.0f;
570	ati.SetWinInfo(wi);
571
572	ti.label = k60X;
573	ti.width = 245.0f;
574	ti.height = 26.0f;
575	ti.topleft.Set(55.0f, 6.0f);
576	ati.SetTextViewInfo(ti);
577
578	bi.label = k20X;
579	bi.width = 160.0f;
580	bi.height = 30.0f;
581	bi.topleft.Set(144.0f, 41.0f);
582	ati.SetButtonInfo(0, bi);
583
584	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
585	ati.SetButtonSpacingMode(B_EVEN_SPACING);
586	ati.SetAlertType(B_INFO_ALERT);
587
588	ati.GuiInfoTest();
589}
590
591void
592AlertTest::fortyX_60X_LW_ES_IA()
593{
594	AlertTestInfo ati(this);
595	GuiInfo wi, ti, bi;
596	wi.label = "alert1";
597	wi.width = 365.0f;
598	wi.height = 77.0f;
599	ati.SetWinInfo(wi);
600
601	ti.label = k60X;
602	ti.width = 300.0f;
603	ti.height = 26.0f;
604	ti.topleft.Set(55.0f, 6.0f);
605	ati.SetTextViewInfo(ti);
606
607	bi.label = k40X;
608	bi.width = 300.0f;
609	bi.height = 30.0f;
610	bi.topleft.Set(59.0f, 41.0f);
611	ati.SetButtonInfo(0, bi);
612
613	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
614	ati.SetButtonSpacingMode(B_EVEN_SPACING);
615	ati.SetAlertType(B_INFO_ALERT);
616
617	ati.GuiInfoTest();
618}
619
620////// WW_ES_IA - One Button //////
621
622void
623AlertTest::empty_empty_WW_ES_IA()
624{
625	AlertTestInfo ati(this);
626	GuiInfo wi, ti, bi;
627	wi.width = 310.0f;
628	wi.height = 64.0f;
629	ati.SetWinInfo(wi);
630
631	ti.label = "";
632	ti.width = 245.0f;
633	ti.height = 13.0f;
634	ti.topleft.Set(55.0f, 6.0f);
635	ati.SetTextViewInfo(ti);
636
637	bi.label = "";
638	bi.width = 20.0f;
639	bi.height = 30.0f;
640	bi.topleft.Set(284.0f, 28.0f);
641	ati.SetButtonInfo(0, bi);
642
643	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
644	ati.SetButtonSpacingMode(B_EVEN_SPACING);
645	ati.SetAlertType(B_INFO_ALERT);
646
647	ati.GuiInfoTest();
648}
649
650void
651AlertTest::OK_X_WW_ES_IA()
652{
653	AlertTestInfo ati(this);
654	GuiInfo wi, ti, bi;
655	wi.width = 310.0f;
656	wi.height = 64.0f;
657	ati.SetWinInfo(wi);
658
659	ti.label = "X";
660	ti.width = 245.0f;
661	ti.height = 13.0f;
662	ti.topleft.Set(55.0f, 6.0f);
663	ati.SetTextViewInfo(ti);
664
665	bi.label = "OK";
666	bi.width = 35.0f;
667	bi.height = 30.0f;
668	bi.topleft.Set(269.0f, 28.0f);
669	ati.SetButtonInfo(0, bi);
670
671	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
672	ati.SetButtonSpacingMode(B_EVEN_SPACING);
673	ati.SetAlertType(B_INFO_ALERT);
674
675	ati.GuiInfoTest();
676}
677
678void
679AlertTest::twentyX_60X_WW_ES_IA()
680{
681	AlertTestInfo ati(this);
682	GuiInfo wi, ti, bi;
683	wi.width = 310.0f;
684	wi.height = 77.0f;
685	ati.SetWinInfo(wi);
686
687	ti.label = k60X;
688	ti.width = 245.0f;
689	ti.height = 26.0f;
690	ti.topleft.Set(55.0f, 6.0f);
691	ati.SetTextViewInfo(ti);
692
693	bi.label = k20X;
694	bi.width = 160.0f;
695	bi.height = 30.0f;
696	bi.topleft.Set(144.0f, 41.0f);
697	ati.SetButtonInfo(0, bi);
698
699	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
700	ati.SetButtonSpacingMode(B_EVEN_SPACING);
701	ati.SetAlertType(B_INFO_ALERT);
702
703	ati.GuiInfoTest();
704}
705
706////// UW_ES_EA - One Button //////
707
708void
709AlertTest::OK_X_UW_ES_EA()
710{
711	AlertTestInfo ati(this);
712	GuiInfo wi, ti, bi;
713	wi.label = "alert1";
714	wi.width = 310.0f;
715	wi.height = 64.0f;
716	ati.SetWinInfo(wi);
717
718	ti.label = "X";
719	ti.width = 290.0f;
720	ti.height = 13.0f;
721	ti.topleft.Set(10.0f, 6.0f);
722	ati.SetTextViewInfo(ti);
723
724	bi.label = "OK";
725	bi.width = 75.0f;
726	bi.height = 30.0f;
727	bi.topleft.Set(229.0f, 28.0f);
728	ati.SetButtonInfo(0, bi);
729
730	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
731	ati.SetButtonSpacingMode(B_EVEN_SPACING);
732	ati.SetAlertType(B_EMPTY_ALERT);
733
734	ati.GuiInfoTest();
735}
736
737void
738AlertTest::fortyX_60X_UW_ES_EA()
739{
740	AlertTestInfo ati(this);
741	GuiInfo wi, ti, bi;
742	wi.label = "alert1";
743	wi.width = 320.0f;
744	wi.height = 77.0f;
745	ati.SetWinInfo(wi);
746
747	ti.label = k60X;
748	ti.width = 300.0f;
749	ti.height = 26.0f;
750	ti.topleft.Set(10.0f, 6.0f);
751	ati.SetTextViewInfo(ti);
752
753	bi.label = k40X;
754	bi.width = 300.0f;
755	bi.height = 30.0f;
756	bi.topleft.Set(14.0f, 41.0f);
757	ati.SetButtonInfo(0, bi);
758
759	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
760	ati.SetButtonSpacingMode(B_EVEN_SPACING);
761	ati.SetAlertType(B_EMPTY_ALERT);
762
763	ati.GuiInfoTest();
764}
765
766////// UW_OS_IA - One Button //////
767
768void
769AlertTest::OK_X_UW_OS_IA()
770{
771	AlertTestInfo ati(this);
772	GuiInfo wi, ti, bi;
773	wi.label = "alert1";
774	wi.width = 310.0f;
775	wi.height = 64.0f;
776	ati.SetWinInfo(wi);
777
778	ti.label = "X";
779	ti.width = 245.0f;
780	ti.height = 13.0f;
781	ti.topleft.Set(55.0f, 6.0f);
782	ati.SetTextViewInfo(ti);
783
784	bi.label = "OK";
785	bi.width = 75.0f;
786	bi.height = 30.0f;
787	bi.topleft.Set(229.0f, 28.0f);
788	ati.SetButtonInfo(0, bi);
789
790	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
791	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
792	ati.SetAlertType(B_INFO_ALERT);
793
794	ati.GuiInfoTest();
795}
796
797void
798AlertTest::fortyX_60X_UW_OS_IA()
799{
800	AlertTestInfo ati(this);
801	GuiInfo wi, ti, bi;
802	wi.width = 365.0f;
803	wi.height = 77.0f;
804	ati.SetWinInfo(wi);
805
806	ti.label = k60X;
807	ti.width = 300.0f;
808	ti.height = 26.0f;
809	ti.topleft.Set(55.0f, 6.0f);
810	ati.SetTextViewInfo(ti);
811
812	bi.label = k40X;
813	bi.width = 300.0f;
814	bi.height = 30.0f;
815	bi.topleft.Set(59.0f, 41.0f);
816	ati.SetButtonInfo(0, bi);
817
818	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
819	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
820	ati.SetAlertType(B_INFO_ALERT);
821
822	ati.GuiInfoTest();
823}
824
825////// LW_OS_IA - One Button //////
826
827void
828AlertTest::OK_X_LW_OS_IA()
829{
830	AlertTestInfo ati(this);
831	GuiInfo wi, ti, bi;
832	wi.label = "alert1";
833	wi.width = 310.0f;
834	wi.height = 64.0f;
835	ati.SetWinInfo(wi);
836
837	ti.label = "X";
838	ti.width = 245.0f;
839	ti.height = 13.0f;
840	ti.topleft.Set(55.0f, 6.0f);
841	ati.SetTextViewInfo(ti);
842
843	bi.label = "OK";
844	bi.width = 35.0f;
845	bi.height = 30.0f;
846	bi.topleft.Set(269.0f, 28.0f);
847	ati.SetButtonInfo(0, bi);
848
849	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
850	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
851	ati.SetAlertType(B_INFO_ALERT);
852
853	ati.GuiInfoTest();
854}
855
856////// UW_OS_EA - One Button //////
857
858void
859AlertTest::OK_X_UW_OS_EA()
860{
861	AlertTestInfo ati(this);
862	GuiInfo wi, ti, bi;
863	wi.label = "alert1";
864	wi.width = 310.0f;
865	wi.height = 64.0f;
866	ati.SetWinInfo(wi);
867
868	ti.label = "X";
869	ti.width = 290.0f;
870	ti.height = 13.0f;
871	ti.topleft.Set(10.0f, 6.0f);
872	ati.SetTextViewInfo(ti);
873
874	bi.label = "OK";
875	bi.width = 75.0f;
876	bi.height = 30.0f;
877	bi.topleft.Set(229.0f, 28.0f);
878	ati.SetButtonInfo(0, bi);
879
880	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
881	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
882	ati.SetAlertType(B_EMPTY_ALERT);
883
884	ati.GuiInfoTest();
885}
886
887////// UW_ES_IA - Two Button //////
888
889void
890AlertTest::OK_Cancel_60X_UW_ES_IA()
891{
892	AlertTestInfo ati(this);
893	GuiInfo wi, ti, bi;
894	wi.label = "alert1";
895	wi.width = 310.0f;
896	wi.height = 77.0f;
897	ati.SetWinInfo(wi);
898
899	ti.label = k60X;
900	ti.width = 245.0f;
901	ti.height = 26.0f;
902	ti.topleft.Set(55.0f, 6.0f);
903	ati.SetTextViewInfo(ti);
904
905	bi.label = "OK";
906	bi.width = 75.0f;
907	bi.height = 24.0f;
908	bi.topleft.Set(148.0f, 44.0f);
909	ati.SetButtonInfo(0, bi);
910	bi.label = "Cancel";
911	bi.width = 75.0f;
912	bi.height = 30.0f;
913	bi.topleft.Set(229.0f, 41.0f);
914	ati.SetButtonInfo(1, bi);
915
916	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
917	ati.SetButtonSpacingMode(B_EVEN_SPACING);
918	ati.SetAlertType(B_INFO_ALERT);
919
920	ati.GuiInfoTest();
921}
922
923void
924AlertTest::twentyX_Cancel_60X_UW_ES_IA()
925{
926	AlertTestInfo ati(this);
927	GuiInfo wi, ti, bi;
928	wi.label = "alert1";
929	wi.width = 310.0f;
930	wi.height = 77.0f;
931	ati.SetWinInfo(wi);
932
933	ti.label = k60X;
934	ti.width = 245.0f;
935	ti.height = 26.0f;
936	ti.topleft.Set(55.0f, 6.0f);
937	ati.SetTextViewInfo(ti);
938
939	bi.label = k20X;
940	bi.width = 160.0f;
941	bi.height = 24.0f;
942	bi.topleft.Set(63.0f, 44.0f);
943	ati.SetButtonInfo(0, bi);
944	bi.label = "Cancel";
945	bi.width = 75.0f;
946	bi.height = 30.0f;
947	bi.topleft.Set(229.0f, 41.0f);
948	ati.SetButtonInfo(1, bi);
949
950	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
951	ati.SetButtonSpacingMode(B_EVEN_SPACING);
952	ati.SetAlertType(B_INFO_ALERT);
953
954	ati.GuiInfoTest();
955}
956
957void
958AlertTest::twentyX_20X_60X_UW_ES_IA()
959{
960	AlertTestInfo ati(this);
961	GuiInfo wi, ti, bi;
962	wi.label = "alert1";
963	wi.width = 394.0f;
964	wi.height = 77.0f;
965	ati.SetWinInfo(wi);
966
967	ti.label = k60X;
968	ti.width = 329.0f;
969	ti.height = 26.0f;
970	ti.topleft.Set(55.0f, 6.0f);
971	ati.SetTextViewInfo(ti);
972
973	bi.label = k20X;
974	bi.width = 160.0f;
975	bi.height = 24.0f;
976	bi.topleft.Set(62.0f, 44.0f);
977	ati.SetButtonInfo(0, bi);
978	bi.label = k20X;
979	bi.width = 160.0f;
980	bi.height = 30.0f;
981	bi.topleft.Set(228.0f, 41.0f);
982	ati.SetButtonInfo(1, bi);
983
984	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
985	ati.SetButtonSpacingMode(B_EVEN_SPACING);
986	ati.SetAlertType(B_INFO_ALERT);
987
988	ati.GuiInfoTest();
989}
990
991////// LW_ES_IA - Two Button //////
992
993void
994AlertTest::empty_empty_X_LW_ES_IA()
995{
996	AlertTestInfo ati(this);
997	GuiInfo wi, ti, bi;
998	wi.label = "alert1";
999	wi.width = 310.0f;
1000	wi.height = 64.0f;
1001	ati.SetWinInfo(wi);
1002
1003	ti.label = "X";
1004	ti.width = 245.0f;
1005	ti.height = 13.0f;
1006	ti.topleft.Set(55.0f, 6.0f);
1007	ati.SetTextViewInfo(ti);
1008
1009	bi.label = "";
1010	bi.width = 20.0f;
1011	bi.height = 24.0f;
1012	bi.topleft.Set(258.0f, 31.0f);
1013	ati.SetButtonInfo(0, bi);
1014	bi.label = "";
1015	bi.width = 20.0f;
1016	bi.height = 30.0f;
1017	bi.topleft.Set(284.0f, 28.0f);
1018	ati.SetButtonInfo(1, bi);
1019
1020	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1021	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1022	ati.SetAlertType(B_INFO_ALERT);
1023
1024	ati.GuiInfoTest();
1025}
1026
1027void
1028AlertTest::OK_Cancel_60X_LW_ES_IA()
1029{
1030	AlertTestInfo ati(this);
1031	GuiInfo wi, ti, bi;
1032	wi.label = "alert1";
1033	wi.width = 310.0f;
1034	wi.height = 77.0f;
1035	ati.SetWinInfo(wi);
1036
1037	ti.label = k60X;
1038	ti.width = 245.0f;
1039	ti.height = 26.0f;
1040	ti.topleft.Set(55.0f, 6.0f);
1041	ati.SetTextViewInfo(ti);
1042
1043	bi.label = "OK";
1044	bi.width = 35.0f;
1045	bi.height = 24.0f;
1046	bi.topleft.Set(211.0f, 44.0f);
1047	ati.SetButtonInfo(0, bi);
1048	bi.label = "Cancel";
1049	bi.width = 52.0f;
1050	bi.height = 30.0f;
1051	bi.topleft.Set(252.0f, 41.0f);
1052	ati.SetButtonInfo(1, bi);
1053
1054	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1055	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1056	ati.SetAlertType(B_INFO_ALERT);
1057
1058	ati.GuiInfoTest();
1059}
1060
1061////// WW_ES_IA - Two Button //////
1062
1063void
1064AlertTest::empty_empty_X_WW_ES_IA()
1065{
1066	AlertTestInfo ati(this);
1067	GuiInfo wi, ti, bi;
1068	wi.width = 310.0f;
1069	wi.height = 64.0f;
1070	ati.SetWinInfo(wi);
1071
1072	ti.label = "X";
1073	ti.width = 245.0f;
1074	ti.height = 13.0f;
1075	ti.topleft.Set(55.0f, 6.0f);
1076	ati.SetTextViewInfo(ti);
1077
1078	bi.label = "";
1079	bi.width = 20.0f;
1080	bi.height = 24.0f;
1081	bi.topleft.Set(258.0f, 31.0f);
1082	ati.SetButtonInfo(0, bi);
1083	bi.label = "";
1084	bi.width = 20.0f;
1085	bi.height = 30.0f;
1086	bi.topleft.Set(284.0f, 28.0f);
1087	ati.SetButtonInfo(1, bi);
1088
1089	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1090	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1091	ati.SetAlertType(B_INFO_ALERT);
1092
1093	ati.GuiInfoTest();
1094}
1095
1096void
1097AlertTest::OK_Cancel_60X_WW_ES_IA()
1098{
1099	AlertTestInfo ati(this);
1100	GuiInfo wi, ti, bi;
1101	wi.width = 310.0f;
1102	wi.height = 77.0f;
1103	ati.SetWinInfo(wi);
1104
1105	ti.label = k60X;
1106	ti.width = 245.0f;
1107	ti.height = 26.0f;
1108	ti.topleft.Set(55.0f, 6.0f);
1109	ati.SetTextViewInfo(ti);
1110
1111	bi.label = "OK";
1112	bi.width = 52.0f;
1113	bi.height = 24.0f;
1114	bi.topleft.Set(194.0f, 44.0f);
1115	ati.SetButtonInfo(0, bi);
1116	bi.label = "Cancel";
1117	bi.width = 52.0f;
1118	bi.height = 30.0f;
1119	bi.topleft.Set(252.0f, 41.0f);
1120	ati.SetButtonInfo(1, bi);
1121
1122	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1123	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1124	ati.SetAlertType(B_INFO_ALERT);
1125
1126	ati.GuiInfoTest();
1127}
1128
1129void
1130AlertTest::twentyX_Cancel_60X_WW_ES_IA()
1131{
1132	AlertTestInfo ati(this);
1133	GuiInfo wi, ti, bi;
1134	wi.width = 394.0f;
1135	wi.height = 77.0f;
1136	ati.SetWinInfo(wi);
1137
1138	ti.label = k60X;
1139	ti.width = 329.0f;
1140	ti.height = 26.0f;
1141	ti.topleft.Set(55.0f, 6.0f);
1142	ati.SetTextViewInfo(ti);
1143
1144	bi.label = k20X;
1145	bi.width = 160.0f;
1146	bi.height = 24.0f;
1147	bi.topleft.Set(62.0f, 44.0f);
1148	ati.SetButtonInfo(0, bi);
1149	bi.label = "Cancel";
1150	bi.width = 160.0f;
1151	bi.height = 30.0f;
1152	bi.topleft.Set(228.0f, 41.0f);
1153	ati.SetButtonInfo(1, bi);
1154
1155	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1156	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1157	ati.SetAlertType(B_INFO_ALERT);
1158
1159	ati.GuiInfoTest();
1160}
1161
1162void
1163AlertTest::twentyX_20X_WW_ES_IA()
1164{
1165	AlertTestInfo ati(this);
1166	GuiInfo wi, ti, bi;
1167	wi.width = 394.0f;
1168	wi.height = 77.0f;
1169	ati.SetWinInfo(wi);
1170
1171	ti.label = k60X;
1172	ti.width = 329.0f;
1173	ti.height = 26.0f;
1174	ti.topleft.Set(55.0f, 6.0f);
1175	ati.SetTextViewInfo(ti);
1176
1177	bi.label = k20X;
1178	bi.width = 160.0f;
1179	bi.height = 24.0f;
1180	bi.topleft.Set(62.0f, 44.0f);
1181	ati.SetButtonInfo(0, bi);
1182	bi.label = k20X;
1183	bi.width = 160.0f;
1184	bi.height = 30.0f;
1185	bi.topleft.Set(228.0f, 41.0f);
1186	ati.SetButtonInfo(1, bi);
1187
1188	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1189	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1190	ati.SetAlertType(B_INFO_ALERT);
1191
1192	ati.GuiInfoTest();
1193}
1194
1195////// UW_ES_EA - Two Button //////
1196
1197void
1198AlertTest::OK_Cancel_60X_UW_ES_EA()
1199{
1200	AlertTestInfo ati(this);
1201	GuiInfo wi, ti, bi;
1202	wi.label = "alert1";
1203	wi.width = 310.0f;
1204	wi.height = 77.0f;
1205	ati.SetWinInfo(wi);
1206
1207	ti.label = k60X;
1208	ti.width = 290.0f;
1209	ti.height = 26.0f;
1210	ti.topleft.Set(10.0f, 6.0f);
1211	ati.SetTextViewInfo(ti);
1212
1213	bi.label = "OK";
1214	bi.width = 75.0f;
1215	bi.height = 24.0f;
1216	bi.topleft.Set(148.0f, 44.0f);
1217	ati.SetButtonInfo(0, bi);
1218	bi.label = "Cancel";
1219	bi.width = 75.0f;
1220	bi.height = 30.0f;
1221	bi.topleft.Set(229.0f, 41.0f);
1222	ati.SetButtonInfo(1, bi);
1223
1224	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1225	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1226	ati.SetAlertType(B_EMPTY_ALERT);
1227
1228	ati.GuiInfoTest();
1229}
1230
1231void
1232AlertTest::twentyX_20X_60X_UW_ES_EA()
1233{
1234	AlertTestInfo ati(this);
1235	GuiInfo wi, ti, bi;
1236	wi.label = "alert1";
1237	wi.width = 349.0f;
1238	wi.height = 77.0f;
1239	ati.SetWinInfo(wi);
1240
1241	ti.label = k60X;
1242	ti.width = 329.0f;
1243	ti.height = 26.0f;
1244	ti.topleft.Set(10.0f, 6.0f);
1245	ati.SetTextViewInfo(ti);
1246
1247	bi.label = k20X;
1248	bi.width = 160.0f;
1249	bi.height = 24.0f;
1250	bi.topleft.Set(17.0f, 44.0f);
1251	ati.SetButtonInfo(0, bi);
1252	bi.label = k20X;
1253	bi.width = 160.0f;
1254	bi.height = 30.0f;
1255	bi.topleft.Set(183.0f, 41.0f);
1256	ati.SetButtonInfo(1, bi);
1257
1258	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1259	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1260	ati.SetAlertType(B_EMPTY_ALERT);
1261
1262	ati.GuiInfoTest();
1263}
1264
1265////// UW_OS_IA - Two Button //////
1266
1267void
1268AlertTest::OK_Cancel_60X_UW_OS_IA()
1269{
1270	AlertTestInfo ati(this);
1271	GuiInfo wi, ti, bi;
1272	wi.label = "alert";
1273	wi.width = 310.0f;
1274	wi.height = 77.0f;
1275	ati.SetWinInfo(wi);
1276
1277	ti.label = k60X;
1278	ti.width = 245.0f;
1279	ti.height = 26.0f;
1280	ti.topleft.Set(55.0f, 6.0f);
1281	ati.SetTextViewInfo(ti);
1282
1283	bi.label = "OK";
1284	bi.width = 75.0f;
1285	bi.height = 24.0f;
1286	bi.topleft.Set(55.0f, 44.0f);
1287	ati.SetButtonInfo(0, bi);
1288	bi.label = "Cancel";
1289	bi.width = 75.0f;
1290	bi.height = 30.0f;
1291	bi.topleft.Set(229.0f, 41.0f);
1292	ati.SetButtonInfo(1, bi);
1293
1294	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1295	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1296	ati.SetAlertType(B_INFO_ALERT);
1297
1298	ati.GuiInfoTest();
1299}
1300
1301////// LW_OS_IA - Two Button //////
1302
1303void
1304AlertTest::OK_Cancel_60X_LW_OS_IA()
1305{
1306	AlertTestInfo ati(this);
1307	GuiInfo wi, ti, bi;
1308	wi.label = "alert";
1309	wi.width = 310.0f;
1310	wi.height = 77.0f;
1311	ati.SetWinInfo(wi);
1312
1313	ti.label = k60X;
1314	ti.width = 245.0f;
1315	ti.height = 26.0f;
1316	ti.topleft.Set(55.0f, 6.0f);
1317	ati.SetTextViewInfo(ti);
1318
1319	bi.label = "OK";
1320	bi.width = 35.0f;
1321	bi.height = 24.0f;
1322	bi.topleft.Set(55.0f, 44.0f);
1323	ati.SetButtonInfo(0, bi);
1324	bi.label = "Cancel";
1325	bi.width = 52.0f;
1326	bi.height = 30.0f;
1327	bi.topleft.Set(252.0f, 41.0f);
1328	ati.SetButtonInfo(1, bi);
1329
1330	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1331	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1332	ati.SetAlertType(B_INFO_ALERT);
1333
1334	ati.GuiInfoTest();
1335}
1336
1337////// LW_OS_EA - Two Button //////
1338
1339void
1340AlertTest::twentyX_OK_60X_LW_OS_EA()
1341{
1342	AlertTestInfo ati(this);
1343	GuiInfo wi, ti, bi;
1344	wi.label = "alert";
1345	wi.width = 310.0f;
1346	wi.height = 77.0f;
1347	ati.SetWinInfo(wi);
1348
1349	ti.label = k60X;
1350	ti.width = 290.0f;
1351	ti.height = 26.0f;
1352	ti.topleft.Set(10.0f, 6.0f);
1353	ati.SetTextViewInfo(ti);
1354
1355	bi.label = k20X;
1356	bi.width = 160.0f;
1357	bi.height = 24.0f;
1358	bi.topleft.Set(10.0f, 44.0f);
1359	ati.SetButtonInfo(0, bi);
1360	bi.label = "OK";
1361	bi.width = 35.0f;
1362	bi.height = 30.0f;
1363	bi.topleft.Set(269.0f, 41.0f);
1364	ati.SetButtonInfo(1, bi);
1365
1366	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1367	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1368	ati.SetAlertType(B_EMPTY_ALERT);
1369
1370	ati.GuiInfoTest();
1371}
1372
1373////// UW_ES_IA - Three Button //////
1374
1375void
1376AlertTest::twentyX_20X_20X_60X_UW_ES_IA()
1377{
1378	AlertTestInfo ati(this);
1379	GuiInfo wi, ti, bi;
1380	wi.label = "alert1";
1381	wi.width = 563.0f;
1382	wi.height = 64.0f;
1383	ati.SetWinInfo(wi);
1384
1385	ti.label = k60X;
1386	ti.width = 498.0f;
1387	ti.height = 13.0f;
1388	ti.topleft.Set(55.0f, 6.0f);
1389	ati.SetTextViewInfo(ti);
1390
1391	bi.label = k20X;
1392	bi.width = 160.0f;
1393	bi.height = 24.0f;
1394	bi.topleft.Set(62.0f, 31.0f);
1395	ati.SetButtonInfo(0, bi);
1396	bi.label = k20X;
1397	bi.width = 160.0f;
1398	bi.height = 24.0f;
1399	bi.topleft.Set(231.0f, 31.0f);
1400	ati.SetButtonInfo(1, bi);
1401	bi.label = k20X;
1402	bi.width = 160.0f;
1403	bi.height = 30.0f;
1404	bi.topleft.Set(397.0f, 28.0f);
1405	ati.SetButtonInfo(2, bi);
1406
1407	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1408	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1409	ati.SetAlertType(B_INFO_ALERT);
1410
1411	ati.GuiInfoTest();
1412}
1413
1414////// LW_ES_IA - Three Button //////
1415
1416void
1417AlertTest::empty_empty_empty_X_LW_ES_IA()
1418{
1419	AlertTestInfo ati(this);
1420	GuiInfo wi, ti, bi;
1421	wi.label = "alert1";
1422	wi.width = 310.0f;
1423	wi.height = 64.0f;
1424	ati.SetWinInfo(wi);
1425
1426	ti.label = "X";
1427	ti.width = 245.0f;
1428	ti.height = 13.0f;
1429	ti.topleft.Set(55.0f, 6.0f);
1430	ati.SetTextViewInfo(ti);
1431
1432	bi.label = "";
1433	bi.width = 20.0f;
1434	bi.height = 24.0f;
1435	bi.topleft.Set(229.0f, 31.0f);
1436	ati.SetButtonInfo(0, bi);
1437	bi.label = "";
1438	bi.width = 20.0f;
1439	bi.height = 24.0f;
1440	bi.topleft.Set(258.0f, 31.0f);
1441	ati.SetButtonInfo(1, bi);
1442	bi.label = "";
1443	bi.width = 20.0f;
1444	bi.height = 30.0f;
1445	bi.topleft.Set(284.0f, 28.0f);
1446	ati.SetButtonInfo(2, bi);
1447
1448	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1449	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1450	ati.SetAlertType(B_INFO_ALERT);
1451
1452	ati.GuiInfoTest();
1453}
1454
1455void
1456AlertTest::Yes_No_Cancel_X_LW_ES_IA()
1457{
1458	AlertTestInfo ati(this);
1459	GuiInfo wi, ti, bi;
1460	wi.label = "alert1";
1461	wi.width = 310.0f;
1462	wi.height = 64.0f;
1463	ati.SetWinInfo(wi);
1464
1465	ti.label = "X";
1466	ti.width = 245.0f;
1467	ti.height = 13.0f;
1468	ti.topleft.Set(55.0f, 6.0f);
1469	ati.SetTextViewInfo(ti);
1470
1471	bi.label = "Yes";
1472	bi.width = 37.0f;
1473	bi.height = 24.0f;
1474	bi.topleft.Set(167.0f, 31.0f);
1475	ati.SetButtonInfo(0, bi);
1476	bi.label = "No";
1477	bi.width = 33.0f;
1478	bi.height = 24.0f;
1479	bi.topleft.Set(213.0f, 31.0f);
1480	ati.SetButtonInfo(1, bi);
1481	bi.label = "Cancel";
1482	bi.width = 52.0f;
1483	bi.height = 30.0f;
1484	bi.topleft.Set(252.0f, 28.0f);
1485	ati.SetButtonInfo(2, bi);
1486
1487	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1488	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1489	ati.SetAlertType(B_INFO_ALERT);
1490
1491	ati.GuiInfoTest();
1492}
1493
1494void
1495AlertTest::twentyX_20X_20X_60X_LW_ES_IA()
1496{
1497	AlertTestInfo ati(this);
1498	GuiInfo wi, ti, bi;
1499	wi.label = "alert1";
1500	wi.width = 563.0f;
1501	wi.height = 64.0f;
1502	ati.SetWinInfo(wi);
1503
1504	ti.label = k60X;
1505	ti.width = 498.0f;
1506	ti.height = 13.0f;
1507	ti.topleft.Set(55.0f, 6.0f);
1508	ati.SetTextViewInfo(ti);
1509
1510	bi.label = k20X;
1511	bi.width = 160.0f;
1512	bi.height = 24.0f;
1513	bi.topleft.Set(62.0f, 31.0f);
1514	ati.SetButtonInfo(0, bi);
1515	bi.label = k20X;
1516	bi.width = 160.0f;
1517	bi.height = 24.0f;
1518	bi.topleft.Set(231.0f, 31.0f);
1519	ati.SetButtonInfo(1, bi);
1520	bi.label = k20X;
1521	bi.width = 160.0f;
1522	bi.height = 30.0f;
1523	bi.topleft.Set(397.0f, 28.0f);
1524	ati.SetButtonInfo(2, bi);
1525
1526	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1527	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1528	ati.SetAlertType(B_INFO_ALERT);
1529
1530	ati.GuiInfoTest();
1531}
1532
1533////// WW_ES_IA - Three Button //////
1534
1535void
1536AlertTest::empty_empty_empty_X_WW_ES_IA()
1537{
1538	AlertTestInfo ati(this);
1539	GuiInfo wi, ti, bi;
1540	wi.width = 310.0f;
1541	wi.height = 64.0f;
1542	ati.SetWinInfo(wi);
1543
1544	ti.label = "X";
1545	ti.width = 245.0f;
1546	ti.height = 13.0f;
1547	ti.topleft.Set(55.0f, 6.0f);
1548	ati.SetTextViewInfo(ti);
1549
1550	bi.label = "";
1551	bi.width = 20.0f;
1552	bi.height = 24.0f;
1553	bi.topleft.Set(229.0f, 31.0f);
1554	ati.SetButtonInfo(0, bi);
1555	bi.label = "";
1556	bi.width = 20.0f;
1557	bi.height = 24.0f;
1558	bi.topleft.Set(258.0f, 31.0f);
1559	ati.SetButtonInfo(1, bi);
1560	bi.label = "";
1561	bi.width = 20.0f;
1562	bi.height = 30.0f;
1563	bi.topleft.Set(284.0f, 28.0f);
1564	ati.SetButtonInfo(2, bi);
1565
1566	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1567	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1568	ati.SetAlertType(B_INFO_ALERT);
1569
1570	ati.GuiInfoTest();
1571}
1572
1573void
1574AlertTest::Monkey_Dog_Cat_X_WW_ES_IA()
1575{
1576	AlertTestInfo ati(this);
1577	GuiInfo wi, ti, bi;
1578	wi.width = 310.0f;
1579	wi.height = 64.0f;
1580	ati.SetWinInfo(wi);
1581
1582	ti.label = "X";
1583	ti.width = 245.0f;
1584	ti.height = 13.0f;
1585	ti.topleft.Set(55.0f, 6.0f);
1586	ati.SetTextViewInfo(ti);
1587
1588	bi.label = "Monkey";
1589	bi.width = 56.0f;
1590	bi.height = 24.0f;
1591	bi.topleft.Set(121.0f, 31.0f);
1592	ati.SetButtonInfo(0, bi);
1593	bi.label = "Dog";
1594	bi.width = 56.0f;
1595	bi.height = 24.0f;
1596	bi.topleft.Set(186.0f, 31.0f);
1597	ati.SetButtonInfo(1, bi);
1598	bi.label = "Cat";
1599	bi.width = 56.0f;
1600	bi.height = 30.0f;
1601	bi.topleft.Set(248.0f, 28.0f);
1602	ati.SetButtonInfo(2, bi);
1603
1604	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1605	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1606	ati.SetAlertType(B_INFO_ALERT);
1607
1608	ati.GuiInfoTest();
1609}
1610
1611void
1612AlertTest::X_20X_X_WW_ES_IA()
1613{
1614	AlertTestInfo ati(this);
1615	GuiInfo wi, ti, bi;
1616	wi.width = 563.0f;
1617	wi.height = 64.0f;
1618	ati.SetWinInfo(wi);
1619
1620	ti.label = "X";
1621	ti.width = 498.0f;
1622	ti.height = 13.0f;
1623	ti.topleft.Set(55.0f, 6.0f);
1624	ati.SetTextViewInfo(ti);
1625
1626	bi.label = "X";
1627	bi.width = 160.0f;
1628	bi.height = 24.0f;
1629	bi.topleft.Set(62.0f, 31.0f);
1630	ati.SetButtonInfo(0, bi);
1631	bi.label = k20X;
1632	bi.width = 160.0f;
1633	bi.height = 24.0f;
1634	bi.topleft.Set(231.0f, 31.0f);
1635	ati.SetButtonInfo(1, bi);
1636	bi.label = "X";
1637	bi.width = 160.0f;
1638	bi.height = 30.0f;
1639	bi.topleft.Set(397.0f, 28.0f);
1640	ati.SetButtonInfo(2, bi);
1641
1642	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1643	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1644	ati.SetAlertType(B_INFO_ALERT);
1645
1646	ati.GuiInfoTest();
1647}
1648
1649void
1650AlertTest::Yes_No_Cancel_X_WW_ES_IA()
1651{
1652	AlertTestInfo ati(this);
1653	GuiInfo wi, ti, bi;
1654	wi.width = 310.0f;
1655	wi.height = 64.0f;
1656	ati.SetWinInfo(wi);
1657
1658	ti.label = "X";
1659	ti.width = 245.0f;
1660	ti.height = 13.0f;
1661	ti.topleft.Set(55.0f, 6.0f);
1662	ati.SetTextViewInfo(ti);
1663
1664	bi.label = "Yes";
1665	bi.width = 52.0f;
1666	bi.height = 24.0f;
1667	bi.topleft.Set(133.0f, 31.0f);
1668	ati.SetButtonInfo(0, bi);
1669	bi.label = "No";
1670	bi.width = 52.0f;
1671	bi.height = 24.0f;
1672	bi.topleft.Set(194.0f, 31.0f);
1673	ati.SetButtonInfo(1, bi);
1674	bi.label = "Cancel";
1675	bi.width = 52.0f;
1676	bi.height = 30.0f;
1677	bi.topleft.Set(252.0f, 28.0f);
1678	ati.SetButtonInfo(2, bi);
1679
1680	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1681	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1682	ati.SetAlertType(B_INFO_ALERT);
1683
1684	ati.GuiInfoTest();
1685}
1686
1687void
1688AlertTest::twentyX_20X_20X_60X_WW_ES_IA()
1689{
1690	AlertTestInfo ati(this);
1691	GuiInfo wi, ti, bi;
1692	wi.width = 563.0f;
1693	wi.height = 64.0f;
1694	ati.SetWinInfo(wi);
1695
1696	ti.label = k60X;
1697	ti.width = 498.0f;
1698	ti.height = 13.0f;
1699	ti.topleft.Set(55.0f, 6.0f);
1700	ati.SetTextViewInfo(ti);
1701
1702	bi.label = k20X;
1703	bi.width = 160.0f;
1704	bi.height = 24.0f;
1705	bi.topleft.Set(62.0f, 31.0f);
1706	ati.SetButtonInfo(0, bi);
1707	bi.label = k20X;
1708	bi.width = 160.0f;
1709	bi.height = 24.0f;
1710	bi.topleft.Set(231.0f, 31.0f);
1711	ati.SetButtonInfo(1, bi);
1712	bi.label = k20X;
1713	bi.width = 160.0f;
1714	bi.height = 30.0f;
1715	bi.topleft.Set(397.0f, 28.0f);
1716	ati.SetButtonInfo(2, bi);
1717
1718	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1719	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1720	ati.SetAlertType(B_INFO_ALERT);
1721
1722	ati.GuiInfoTest();
1723}
1724
1725
1726////// UW_ES_EA - Three Button //////
1727
1728void
1729AlertTest::twentyX_20X_20X_60X_UW_ES_EA()
1730{
1731	AlertTestInfo ati(this);
1732	GuiInfo wi, ti, bi;
1733	wi.label = "alert1";
1734	wi.width = 518.0f;
1735	wi.height = 64.0f;
1736	ati.SetWinInfo(wi);
1737
1738	ti.label = k60X;
1739	ti.width = 498.0f;
1740	ti.height = 13.0f;
1741	ti.topleft.Set(10.0f, 6.0f);
1742	ati.SetTextViewInfo(ti);
1743
1744	bi.label = k20X;
1745	bi.width = 160.0f;
1746	bi.height = 24.0f;
1747	bi.topleft.Set(17.0f, 31.0f);
1748	ati.SetButtonInfo(0, bi);
1749	bi.label = k20X;
1750	bi.width = 160.0f;
1751	bi.height = 24.0f;
1752	bi.topleft.Set(186.0f, 31.0f);
1753	ati.SetButtonInfo(1, bi);
1754	bi.label = k20X;
1755	bi.width = 160.0f;
1756	bi.height = 30.0f;
1757	bi.topleft.Set(352.0f, 28.0f);
1758	ati.SetButtonInfo(2, bi);
1759
1760	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1761	ati.SetButtonSpacingMode(B_EVEN_SPACING);
1762	ati.SetAlertType(B_EMPTY_ALERT);
1763
1764	ati.GuiInfoTest();
1765}
1766
1767////// UW_OS_IA - Three Button //////
1768
1769void
1770AlertTest::Yes_No_Cancel_60X_UW_OS_IA()
1771{
1772	AlertTestInfo ati(this);
1773	GuiInfo wi, ti, bi;
1774	wi.label = "alert1";
1775	wi.width = 335.0f;
1776	wi.height = 77.0f;
1777	ati.SetWinInfo(wi);
1778
1779	ti.label = k60X;
1780	ti.width = 270.0f;
1781	ti.height = 26.0f;
1782	ti.topleft.Set(55.0f, 6.0f);
1783	ati.SetTextViewInfo(ti);
1784
1785	bi.label = "Yes";
1786	bi.width = 75.0f;
1787	bi.height = 24.0f;
1788	bi.topleft.Set(66.0f, 44.0f);
1789	ati.SetButtonInfo(0, bi);
1790	bi.label = "No";
1791	bi.width = 75.0f;
1792	bi.height = 24.0f;
1793	bi.topleft.Set(173.0f, 44.0f);
1794	ati.SetButtonInfo(1, bi);
1795	bi.label = "Cancel";
1796	bi.width = 75.0f;
1797	bi.height = 30.0f;
1798	bi.topleft.Set(254.0f, 41.0f);
1799	ati.SetButtonInfo(2, bi);
1800
1801	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1802	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1803	ati.SetAlertType(B_INFO_ALERT);
1804
1805	ati.GuiInfoTest();
1806}
1807
1808////// LW_OS_IA - Three Button //////
1809
1810void
1811AlertTest::Yes_No_Cancel_60X_LW_OS_IA()
1812{
1813	AlertTestInfo ati(this);
1814	GuiInfo wi, ti, bi;
1815	wi.label = "alert1";
1816	wi.width = 335.0f;
1817	wi.height = 77.0f;
1818	ati.SetWinInfo(wi);
1819
1820	ti.label = k60X;
1821	ti.width = 270.0f;
1822	ti.height = 26.0f;
1823	ti.topleft.Set(55.0f, 6.0f);
1824	ati.SetTextViewInfo(ti);
1825
1826	bi.label = "Yes";
1827	bi.width = 37.0f;
1828	bi.height = 24.0f;
1829	bi.topleft.Set(169.0f, 44.0f);
1830	ati.SetButtonInfo(0, bi);
1831	bi.label = "No";
1832	bi.width = 33.0f;
1833	bi.height = 24.0f;
1834	bi.topleft.Set(238.0f, 44.0f);
1835	ati.SetButtonInfo(1, bi);
1836	bi.label = "Cancel";
1837	bi.width = 52.0f;
1838	bi.height = 30.0f;
1839	bi.topleft.Set(277.0f, 41.0f);
1840	ati.SetButtonInfo(2, bi);
1841
1842	ati.SetButtonWidthMode(B_WIDTH_FROM_LABEL);
1843	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1844	ati.SetAlertType(B_INFO_ALERT);
1845
1846	ati.GuiInfoTest();
1847}
1848
1849////// WW_OS_IA - Three Button //////
1850
1851void
1852AlertTest::Monkey_Dog_Cat_60X_WW_OS_IA()
1853{
1854	AlertTestInfo ati(this);
1855	GuiInfo wi, ti, bi;
1856	wi.label = "alert1";
1857	wi.width = 335.0f;
1858	wi.height = 77.0f;
1859	ati.SetWinInfo(wi);
1860
1861	ti.label = k60X;
1862	ti.width = 270.0f;
1863	ti.height = 26.0f;
1864	ti.topleft.Set(55.0f, 6.0f);
1865	ati.SetTextViewInfo(ti);
1866
1867	bi.label = "Monkey";
1868	bi.width = 56.0f;
1869	bi.height = 24.0f;
1870	bi.topleft.Set(123.0f, 44.0f);
1871	ati.SetButtonInfo(0, bi);
1872	bi.label = "Dog";
1873	bi.width = 56.0f;
1874	bi.height = 24.0f;
1875	bi.topleft.Set(211.0f, 44.0f);
1876	ati.SetButtonInfo(1, bi);
1877	bi.label = "Cat";
1878	bi.width = 56.0f;
1879	bi.height = 30.0f;
1880	bi.topleft.Set(273.0f, 41.0f);
1881	ati.SetButtonInfo(2, bi);
1882
1883	ati.SetButtonWidthMode(B_WIDTH_FROM_WIDEST);
1884	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1885	ati.SetAlertType(B_INFO_ALERT);
1886
1887	ati.GuiInfoTest();
1888}
1889
1890////// UW_OS_EA - Three Button //////
1891
1892void
1893AlertTest::twentyX_OK_Cancel_60X_UW_OS_EA()
1894{
1895	AlertTestInfo ati(this);
1896	GuiInfo wi, ti, bi;
1897	wi.label = "alert1";
1898	wi.width = 366.0f;
1899	wi.height = 77.0f;
1900	ati.SetWinInfo(wi);
1901
1902	ti.label = k60X;
1903	ti.width = 346.0f;
1904	ti.height = 26.0f;
1905	ti.topleft.Set(10.0f, 6.0f);
1906	ati.SetTextViewInfo(ti);
1907
1908	bi.label = k20X;
1909	bi.width = 160.0f;
1910	bi.height = 24.0f;
1911	bi.topleft.Set(12.0f, 44.0f);
1912	ati.SetButtonInfo(0, bi);
1913	bi.label = "OK";
1914	bi.width = 75.0f;
1915	bi.height = 24.0f;
1916	bi.topleft.Set(204.0f, 44.0f);
1917	ati.SetButtonInfo(1, bi);
1918	bi.label = "Cancel";
1919	bi.width = 75.0f;
1920	bi.height = 30.0f;
1921	bi.topleft.Set(285.0f, 41.0f);
1922	ati.SetButtonInfo(2, bi);
1923
1924	ati.SetButtonWidthMode(B_WIDTH_AS_USUAL);
1925	ati.SetButtonSpacingMode(B_OFFSET_SPACING);
1926	ati.SetAlertType(B_EMPTY_ALERT);
1927
1928	ati.GuiInfoTest();
1929}
1930
1931