Ignore:
Timestamp:
Feb 3, 2022, 10:53:30 PM (2 years ago)
Author:
chronos
Message:
  • Added: Validation tests for contact properties.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormTest.pas

    r92 r94  
    115115
    116116procedure TFormTest.FormCreate(Sender: TObject);
     117const
     118  VCardVersion = 'VERSION:2.1';
    117119begin
    118120  TestCases := TTestCases.Create;
     
    120122    with TTestCaseLoadSave(AddNew('Load and save', TTestCaseLoadSave)) do begin
    121123      Input := VCardBegin + LineEnding +
    122         'VERSION:2.1' + LineEnding +
     124        VCardVersion + LineEnding +
    123125        'N:Surname;Name' + LineEnding +
    124126        'FN:Name Surname' + LineEnding +
     
    128130    with TTestCaseLoadSave(AddNew('Long text', TTestCaseLoadSave)) do begin
    129131      Input := VCardBegin + LineEnding +
    130         'VERSION:2.1' + LineEnding +
     132        VCardVersion + LineEnding +
    131133        'NOTE:This is some long test which is really multi-lined each line is on d' + LineEnding +
    132134        ' ifferent line so it is on multiple lines.' + LineEnding +
     
    136138    with TTestCaseLoadSave(AddNew('Multi-line', TTestCaseLoadSave)) do begin
    137139      Input := VCardBegin + LineEnding +
    138         'VERSION:2.1' + LineEnding +
     140        VCardVersion + LineEnding +
    139141        'NOTE:First line\nsecond line\nempty line\n\nlast line' + LineEnding +
    140142        VCardEnd + LineEnding;
    141143      Output := Input;
    142144    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);
    146148    with TTestCaseLoadSave(AddNew('Empty', TTestCaseLoadSave)) do begin
    147149      Input := '';
     
    154156    with TTestCaseLoadSave(AddNew('Missing end', TTestCaseLoadSave)) do begin
    155157      Input := VCardBegin + LineEnding +
    156         'VERSION:2.1' + LineEnding +
     158        VCardVersion + LineEnding +
    157159        'N:Surname;Name' + LineEnding +
    158160        'FN:Name Surname' + LineEnding;
     
    160162    end;
    161163    with TTestCaseLoadSave(AddNew('Missing start', TTestCaseLoadSave)) do begin
    162       Input := 'VERSION:2.1' + LineEnding +
     164      Input := VCardVersion + LineEnding +
    163165        'N:Surname;Name' + LineEnding +
    164166        'FN:Name Surname' + LineEnding +
    165167        VCardEnd + LineEnding;
    166168      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;
    167193    end;
    168194  end;
Note: See TracChangeset for help on using the changeset viewer.