⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 actionscripttest.c

📁 Ming is a library for generating Macromedia Flash files (.swf), written in C, and includes useful ut
💻 C
字号:
/**************************************************************************** * *  ActionScriptTest.c - Ming testing framework tool * *  Copyright (C) 2003 2004 2005 2006 2007 Free Software Foundation, Inc. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *************************************************************************** * *  Authors: * 	- "Sandro Santilli" <strk@keybit.net> * ***************************************************************************//* This is needed to get vasprintf definition */#define _GNU_SOURCE 1#include <libming.h>#include <run_test.h>#include <stdio.h>#include <string.h>#include <stdarg.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <limits.h>#include <makeswf.h>static SWFMoviecompile(const char* filename, const char* ppfile, int version){	SWFAction ac;	SWFMovie mo = newSWFMovieWithVersion(version);	makeswf_set_swfversion(version);	ac = makeswf_compile_source(filename, ppfile, 0);	SWFMovie_add(mo, (SWFBlock)ac);	SWFMovie_nextFrame(mo);	return mo;}static intdo_test(const char* name, int version){	char source[PATH_MAX];	char ppfile[PATH_MAX];	sprintf(ppfile, "%s.as.pp", name);	snprintf(source, PATH_MAX, "%s/%s.as", TOP_SOURCEDIR, name);	source[PATH_MAX-1] = '\0';	SWFMovie m = compile(source, ppfile, version);	return run_test(m, name);}static intdo_tests(){	int failures=0;	const char *all_tests = AS_TESTS;	char testfile[PATH_MAX];	char vstr[2];	const char *from, *to, *end;	char *ptr;	int version;	from = all_tests;	end = from+strlen(all_tests);	do	{		while (*from && *from == ' ') ++from;		if ( ! *from ) break;		to=strchr(from, ' ');		if ( ! to ) to = end;		size_t len = to-from;		if ( len+1 >= PATH_MAX )		{			fprintf(stderr,				"Name of test exceeds PATH_MAX, skipping"				" [from: %s]\n", from);			from = to;			continue;		}		vstr[0] = from[len - 1];		vstr[1] = '\0';		strncpy(testfile, from, len-2);		testfile[len-2]='\0';		/* strip the .as part (if any) */		if ( (ptr=strstr(testfile+len-5, ".as")) )		{			*ptr='\0';		}		printf("Testing %s with swfversion %i\n", testfile, atoi(vstr));		failures += do_test(testfile, atoi(vstr));		from=to;	} while (from < end);	return failures;}intmain(){	int swfcompression=-1; // be fast, we don't care	                       // about compression, do we ?	if ( Ming_init() )	{		fprintf(stderr, "Ming initialization error\n");		exit(EXIT_FAILURE);	}	// TODO: use multiple SWF target versions !	Ming_setSWFCompression(swfcompression);	return do_tests();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -