IdTestMessageCoderMime.pas 918 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. unit IdTestMessageCoderMime;
  2. interface
  3. uses
  4. IdMessageCoderMIME,
  5. IdSys,
  6. IdTest;
  7. type
  8. TIdTestMessageCoderMime = class(TIdTest)
  9. published
  10. procedure TestFilename;
  11. end;
  12. implementation
  13. procedure TIdTestMessageCoderMime.TestFilename;
  14. //http://support.microsoft.com/kb/177506/EN-US/
  15. var
  16. d:TIdMessageDecoderMIME;
  17. s:string;
  18. begin
  19. d:=TIdMessageDecoderMIME.Create(nil);
  20. try
  21. //basic check of invalid chars at begin,middle,end
  22. s:=d.RemoveInvalidCharsFromFilename(':a:b:');
  23. Assert(s='_a_b_',s);
  24. {
  25. should this routine be platform specific?
  26. eg under nt-based system, space is a valid character?
  27. or is this an invalid test?
  28. //space is only invalid on win95 etc
  29. s:=d.RemoveInvalidCharsFromFilename('a b.txt');
  30. Assert(s='a b.txt',s);
  31. }
  32. finally
  33. Sys.FreeAndNil(d);
  34. end;
  35. end;
  36. initialization
  37. TIdTest.RegisterTest(TIdTestMessageCoderMime);
  38. end.