test_block.c
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:2k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * block.c: Test for block_t stuff
  3.  *****************************************************************************
  4.  * Copyright (C) 2008 Rémi Denis-Courmont
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 2 of the License, or
  9.  * (at your option) any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  19.  *****************************************************************************/
  20. #ifdef HAVE_CONFIG_H
  21. # include "config.h"
  22. #endif
  23. #include <stdio.h>
  24. #include <string.h>
  25. #undef NDEBUG
  26. #include <assert.h>
  27. #include <vlc_common.h>
  28. #include <vlc_block.h>
  29. static const char text[] =
  30.     "This is a test!n"
  31.     "This file can be deleted safely!n";
  32. static void test_block_File (void)
  33. {
  34.     FILE *stream;
  35.     int res;
  36.     stream = fopen ("testfile.txt", "wb+");
  37.     assert (stream != NULL);
  38.     res = fputs (text, stream);
  39.     assert (res != EOF);
  40.     res = fflush (stream);
  41.     assert (res != EOF);
  42.     block_t *block = block_File (fileno (stream));
  43.     fclose (stream);
  44.     assert (block != NULL);
  45.     assert (block->i_buffer == strlen (text));
  46.     assert (!memcmp (block->p_buffer, text, block->i_buffer));
  47.     block_Release (block);
  48.     remove ("testfile.txt");
  49. }
  50. int main (void)
  51. {
  52.     test_block_File ();
  53.     return 0;
  54. }