Changeset 91 for trunk/Forms/UFormTest.pas
- Timestamp:
- Feb 2, 2022, 4:33:25 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormTest.pas
r90 r91 7 7 uses 8 8 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, StdCtrls, 9 UTest;9 ActnList, Menus, UTest; 10 10 11 11 type … … 14 14 15 15 TFormTest = class(TForm) 16 ARun: TAction; 17 AShow: TAction; 18 ActionList1: TActionList; 16 19 ButtonRun: TButton; 17 20 ListViewTestCases: TListView; 21 MenuItem1: TMenuItem; 22 MenuItem2: TMenuItem; 23 PopupMenuTest: TPopupMenu; 24 procedure ARunExecute(Sender: TObject); 25 procedure AShowExecute(Sender: TObject); 18 26 procedure ButtonRunClick(Sender: TObject); 19 27 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); … … 22 30 procedure FormShow(Sender: TObject); 23 31 procedure ListViewTestCasesData(Sender: TObject; Item: TListItem); 32 procedure ListViewTestCasesSelectItem(Sender: TObject; Item: TListItem; 33 Selected: Boolean); 24 34 private 25 35 procedure ReloadList; 36 procedure UpdateInterface; 26 37 public 27 38 TestCases: TTestCases; … … 37 48 38 49 uses 39 UCore ;50 UCore, UFormTestCase; 40 51 41 52 { TFormTest } … … 46 57 with TestCases[Item.Index] do begin 47 58 Item.Caption := Name; 59 Item.Data := TestCases[Item.Index]; 60 Item.SubItems.Add(ResultText[Result]); 48 61 end; 62 end; 63 64 procedure TFormTest.ListViewTestCasesSelectItem(Sender: TObject; 65 Item: TListItem; Selected: Boolean); 66 begin 67 UpdateInterface; 49 68 end; 50 69 … … 53 72 ListViewTestCases.Items.Count := TestCases.Count; 54 73 ListViewTestCases.Refresh; 74 end; 75 76 procedure TFormTest.UpdateInterface; 77 begin 78 ARun.Enabled := Assigned(ListViewTestCases.Selected); 79 AShow.Enabled := Assigned(ListViewTestCases.Selected); 55 80 end; 56 81 … … 66 91 for I := 0 to TestCases.Count - 1 do 67 92 TestCases[I].Run; 93 ReloadList; 94 end; 95 96 procedure TFormTest.AShowExecute(Sender: TObject); 97 begin 98 if Assigned(ListViewTestCases.Selected) then 99 with TFormTestCase.Create(nil) do 100 try 101 MemoLog.Text := TTestCase(ListViewTestCases.Selected.Data).Log; 102 ShowModal; 103 finally 104 Free; 105 end; 106 end; 107 108 procedure TFormTest.ARunExecute(Sender: TObject); 109 begin 110 if Assigned(ListViewTestCases.Selected) then begin 111 TTestCase(ListViewTestCases.Selected.Data).Run; 112 ReloadList; 113 end; 68 114 end; 69 115 … … 72 118 TestCases := TTestCases.Create; 73 119 with TestCases do begin 74 AddNew('Load and save'); 75 AddNew('Multi-line'); 76 AddNew('Encoding base64'); 77 AddNew('Encoding quoted-printable'); 78 AddNew('Image format'); 120 with TTestCaseLoadSave(AddNew('Load and save', TTestCaseLoadSave)) do begin 121 Input := 'BEGIN:VCARD' + LineEnding + 122 'VERSION:2.1' + LineEnding + 123 'N:Surname;Name' + LineEnding + 124 'FN:Name Surname' + LineEnding + 125 'END:VCARD' + LineEnding; 126 Output := Input; 127 end; 128 with TTestCaseLoadSave(AddNew('Multi-line', TTestCaseLoadSave)) do begin 129 Input := 'BEGIN:VCARD' + LineEnding + 130 'VERSION:2.1' + LineEnding + 131 'NOTE:This is some long test which is really multi-lined\neach line\nis on' + LineEnding + 132 ' different\nline so it is on multiple\nlines.' + LineEnding + 133 'END:VCARD' + LineEnding; 134 Output := Input; 135 end; 136 AddNew('Encoding base64', TTestCaseLoadSave); 137 AddNew('Encoding quoted-printable', TTestCaseLoadSave); 138 AddNew('Image format', TTestCaseLoadSave); 139 with TTestCaseLoadSave(AddNew('Empty', TTestCaseLoadSave)) do begin 140 Input := ''; 141 Output := ''; 142 end; 143 with TTestCaseLoadSave(AddNew('Begin only', TTestCaseLoadSave)) do begin 144 Input := 'BEGIN:VCARD'; 145 Output := ''; 146 end; 147 with TTestCaseLoadSave(AddNew('Missing end', TTestCaseLoadSave)) do begin 148 Input := 'BEGIN:VCARD' + LineEnding + 149 'VERSION:2.1' + LineEnding + 150 'N:Surname;Name' + LineEnding + 151 'FN:Name Surname' + LineEnding; 152 Output := ''; 153 end; 79 154 end; 80 155 end; … … 89 164 Core.PersistentForm1.Load(Self); 90 165 ReloadList; 166 UpdateInterface; 91 167 end; 92 168
Note:
See TracChangeset
for help on using the changeset viewer.