- Timestamp:
- Feb 3, 2022, 10:53:30 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormTest.pas
r92 r94 115 115 116 116 procedure TFormTest.FormCreate(Sender: TObject); 117 const 118 VCardVersion = 'VERSION:2.1'; 117 119 begin 118 120 TestCases := TTestCases.Create; … … 120 122 with TTestCaseLoadSave(AddNew('Load and save', TTestCaseLoadSave)) do begin 121 123 Input := VCardBegin + LineEnding + 122 'VERSION:2.1'+ LineEnding +124 VCardVersion + LineEnding + 123 125 'N:Surname;Name' + LineEnding + 124 126 'FN:Name Surname' + LineEnding + … … 128 130 with TTestCaseLoadSave(AddNew('Long text', TTestCaseLoadSave)) do begin 129 131 Input := VCardBegin + LineEnding + 130 'VERSION:2.1'+ LineEnding +132 VCardVersion + LineEnding + 131 133 'NOTE:This is some long test which is really multi-lined each line is on d' + LineEnding + 132 134 ' ifferent line so it is on multiple lines.' + LineEnding + … … 136 138 with TTestCaseLoadSave(AddNew('Multi-line', TTestCaseLoadSave)) do begin 137 139 Input := VCardBegin + LineEnding + 138 'VERSION:2.1'+ LineEnding +140 VCardVersion + LineEnding + 139 141 'NOTE:First line\nsecond line\nempty line\n\nlast line' + LineEnding + 140 142 VCardEnd + LineEnding; 141 143 Output := Input; 142 144 end; 143 AddNew('Encoding base64', TTestCaseLoadSave);144 AddNew('Encoding quoted-printable', TTestCaseLoadSave);145 AddNew('Image format', TTestCaseLoadSave);145 //AddNew('Encoding base64', TTestCaseLoadSave); 146 //AddNew('Encoding quoted-printable', TTestCaseLoadSave); 147 //AddNew('Image format', TTestCaseLoadSave); 146 148 with TTestCaseLoadSave(AddNew('Empty', TTestCaseLoadSave)) do begin 147 149 Input := ''; … … 154 156 with TTestCaseLoadSave(AddNew('Missing end', TTestCaseLoadSave)) do begin 155 157 Input := VCardBegin + LineEnding + 156 'VERSION:2.1'+ LineEnding +158 VCardVersion + LineEnding + 157 159 'N:Surname;Name' + LineEnding + 158 160 'FN:Name Surname' + LineEnding; … … 160 162 end; 161 163 with TTestCaseLoadSave(AddNew('Missing start', TTestCaseLoadSave)) do begin 162 Input := 'VERSION:2.1'+ LineEnding +164 Input := VCardVersion + LineEnding + 163 165 'N:Surname;Name' + LineEnding + 164 166 'FN:Name Surname' + LineEnding + 165 167 VCardEnd + LineEnding; 166 168 Output := ''; 169 end; 170 with TTestCaseCheckProperty(AddNew('Propery FN', TTestCaseCheckProperty)) do begin 171 Index := cfFullName; 172 Value := 'Name Surname'; 173 Input := VCardBegin + LineEnding + 174 VCardVersion + LineEnding + 175 'FN:' + Value + LineEnding + 176 VCardEnd + LineEnding; 177 end; 178 with TTestCaseCheckProperty(AddNew('Escaped new lines in text', TTestCaseCheckProperty)) do begin 179 Index := cfNote; 180 Value := 'Line' + #13#10 + 'Line'; 181 Input := VCardBegin + LineEnding + 182 VCardVersion + LineEnding + 183 'NOTE:Line\nLine' + LineEnding + 184 VCardEnd + LineEnding; 185 end; 186 with TTestCaseCheckProperty(AddNew('Compound value', TTestCaseCheckProperty)) do begin 187 Index := cfFirstName; 188 Value := 'FirstName'; 189 Input := VCardBegin + LineEnding + 190 VCardVersion + LineEnding + 191 'N:Surname;FirstName;;;' + LineEnding + 192 VCardEnd + LineEnding; 167 193 end; 168 194 end; -
trunk/UTest.pas
r91 r94 6 6 7 7 uses 8 Classes, SysUtils, fgl ;8 Classes, SysUtils, fgl, UContact; 9 9 10 10 type … … 19 19 Log: string; 20 20 procedure Run; virtual; 21 procedure Evaluate(Passed: Boolean); 22 procedure Pass; 23 procedure Fail; 21 24 end; 22 25 … … 35 38 Output: string; 36 39 procedure Run; override; 37 procedure Evaluate(Passed: Boolean); 40 end; 41 42 { TTestCaseCheckProperty } 43 44 TTestCaseCheckProperty = class(TTestCase) 45 Input: string; 46 ContactIndex: Integer; 47 Index: TContactFieldIndex; 48 Value: string; 49 procedure Run; override; 38 50 end; 39 51 … … 44 56 implementation 45 57 46 uses 47 UContact; 58 { TTestCaseCheckProperty } 59 60 procedure TTestCaseCheckProperty.Run; 61 var 62 Lines: TStringList; 63 PropertyValue: string; 64 begin 65 Lines := TStringList.Create; 66 try 67 with TContactsFile.Create do 68 try 69 Lines.Text := Input; 70 LoadFromStrings(Lines); 71 if ContactIndex < Contacts.Count then begin 72 PropertyValue := Contacts[ContactIndex].Fields[Index]; 73 Evaluate(PropertyValue = Value); 74 end else Fail; 75 Log := 'Expected:' + LineEnding + 76 '"' + Value + '"' + LineEnding + LineEnding + 77 'Output:' + LineEnding + 78 '"' + PropertyValue + '"'; 79 finally 80 Free; 81 end; 82 finally 83 Lines.Free; 84 end; 85 end; 48 86 49 87 { TTestCaseLoadSave } … … 62 100 SaveToStrings(Lines); 63 101 Evaluate(Lines.Text = Output); 64 if Result <> trPassed then begin 65 Log := 'Expected:' + LineEnding + 66 '"' + Output + '"' + LineEnding + LineEnding + 67 'Output:' + LineEnding + 68 '"' + Lines.Text + '"'; 69 end; 102 Log := 'Expected:' + LineEnding + 103 '"' + Output + '"' + LineEnding + LineEnding + 104 'Output:' + LineEnding + 105 '"' + Lines.Text + '"'; 70 106 finally 71 107 Free; … … 76 112 end; 77 113 78 procedure TTestCaseLoadSave.Evaluate(Passed: Boolean); 114 { TTestCase } 115 116 procedure TTestCase.Run; 117 begin 118 end; 119 120 procedure TTestCase.Evaluate(Passed: Boolean); 79 121 begin 80 122 if Passed then Result := trPassed … … 82 124 end; 83 125 84 { TTestCase } 126 procedure TTestCase.Pass; 127 begin 128 Result := trPassed; 129 end; 85 130 86 procedure TTestCase. Run;131 procedure TTestCase.Fail; 87 132 begin 88 133 Result := trFailed; 89 134 end; 90 135
Note:
See TracChangeset
for help on using the changeset viewer.