t-string.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * libdpkg - Debian packaging suite library routines
  3. * t-string.c - test string handling
  4. *
  5. * Copyright © 2009 Guillem Jover <guillem@debian.org>
  6. *
  7. * This is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2,
  10. * or (at your option) any later version.
  11. *
  12. * This is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public
  18. * License along with dpkg; if not, write to the Free Software
  19. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21. #include <dpkg-test.h>
  22. #include <dpkg-priv.h>
  23. #include <string.h>
  24. static void
  25. test_str_escape_fmt(void)
  26. {
  27. char buf[1024], *q;
  28. memset(buf, sizeof(buf), 'a');
  29. q = str_escape_fmt(buf, "");
  30. strcpy(q, " end");
  31. test_str(buf, ==, " end");
  32. memset(buf, sizeof(buf), 'a');
  33. q = str_escape_fmt(buf, "%");
  34. strcpy(q, " end");
  35. test_str(buf, ==, "%% end");
  36. memset(buf, sizeof(buf), 'a');
  37. q = str_escape_fmt(buf, "%%%");
  38. strcpy(q, " end");
  39. test_str(buf, ==, "%%%%%% end");
  40. memset(buf, sizeof(buf), 'a');
  41. q = str_escape_fmt(buf, "%b%b%c%c%%");
  42. strcpy(q, " end");
  43. test_str(buf, ==, "%%b%%b%%c%%c%%%% end");
  44. }
  45. static void
  46. test(void)
  47. {
  48. test_str_escape_fmt();
  49. }