PageRenderTime 242ms CodeModel.GetById 237ms app.highlight 2ms RepoModel.GetById 2ms app.codeStats 0ms

/js/lib/Socket.IO-node/support/expresso/deps/jscoverage/tests/asprintf.c

http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
C | 42 lines | 18 code | 6 blank | 18 comment | 4 complexity | 0503cfeca72ef70fe345b0fd44dae75c MD5 | raw file
 1/*
 2    asprintf.c - test `asprintf' function
 3    Copyright (C) 2008 siliconforks.com
 4
 5    This program is free software; you can redistribute it and/or modify
 6    it under the terms of the GNU General Public License as published by
 7    the Free Software Foundation; either version 2 of the License, or
 8    (at your option) any later version.
 9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14
15    You should have received a copy of the GNU General Public License along
16    with this program; if not, write to the Free Software Foundation, Inc.,
17    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#include <assert.h>

21#include <stdlib.h>

22#include <string.h>

23
24#include "util.h"

25
26int main(void) {
27  int result;
28  char * s;
29
30  result = asprintf(&s, "%s %d %c", "abc", 123, 'x');
31  assert(result == 9);
32  assert(strcmp("abc 123 x", s) == 0);
33  free(s);
34
35  char * long_string = "abcdefghijklmnopqrstuvwxyz";
36  result = asprintf(&s, "%s %s %s %s", long_string, long_string, long_string, long_string);
37  assert(result == 107);
38  assert(strcmp("abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz", s) == 0);
39  free(s);
40
41  exit(EXIT_SUCCESS);
42}