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

📄 metadata_object.cpp

📁 wince下著名的视频播放器源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing Application::operator=(const ::FLAC__StreamMetadata *)... +\n");	printf("        Application::operator==(const ::FLAC__StreamMetadata *)... ");	{		FLAC::Metadata::Application blockcopy = &application_;		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(!(blockcopy == application_))			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing Application::set_id()... ");	block.set_id(application_.data.application.id);	printf("OK\n");	printf("testing Application::set_data()... ");	block.set_data(application_.data.application.data, application_.length - sizeof(application_.data.application.id), /*copy=*/true);	printf("OK\n");	printf("testing Application::get_id()... ");	if(0 != memcmp(block.get_id(), application_.data.application.id, sizeof(application_.data.application.id)))		return die_("value mismatch, doesn't match previously set value");	printf("OK\n");	printf("testing Application::get_data()... ");	if(0 != memcmp(block.get_data(), application_.data.application.data, application_.length - sizeof(application_.data.application.id)))		return die_("value mismatch, doesn't match previously set value");	printf("OK\n");	printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");	FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);	if(0 == clone_)		return die_("returned NULL");	if(0 == dynamic_cast<FLAC::Metadata::Application *>(clone_))		return die_("downcast is NULL");	if(*dynamic_cast<FLAC::Metadata::Application *>(clone_) != block)		return die_("clone is not identical");	printf("OK\n");	printf("testing Application::~Application()... ");	delete clone_;	printf("OK\n");	printf("PASSED\n\n");	return true;}bool test_metadata_object_seektable(){	unsigned expected_length;	printf("testing class FLAC::Metadata::SeekTable\n");	printf("testing SeekTable::SeekTable()... ");	FLAC::Metadata::SeekTable block;	if(!block.is_valid())		return die_("!block.is_valid()");	expected_length = 0;	if(block.get_length() != expected_length) {		printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());		return false;	}	printf("OK\n");	printf("testing SeekTable::SeekTable(const SeekTable &)... +\n");	printf("        SeekTable::operator!=(const SeekTable &)... ");	{		FLAC::Metadata::SeekTable blockcopy(block);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != block)			return die_("copy is not identical to original");		printf("OK\n");		printf("testing SeekTable::~SeekTable()... ");	}	printf("OK\n");	printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata &)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata &)... ");	{		FLAC::Metadata::SeekTable blockcopy(seektable_);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata *)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");	{		FLAC::Metadata::SeekTable blockcopy(&seektable_);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata *, copy=true)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");	{		FLAC::Metadata::SeekTable blockcopy(&seektable_, /*copy=*/true);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::SeekTable(const ::FLAC__StreamMetadata *, copy=false)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");	{		::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&seektable_);		FLAC::Metadata::SeekTable blockcopy(copy, /*copy=*/false);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::assign(const ::FLAC__StreamMetadata *, copy=true)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");	{		FLAC::Metadata::SeekTable blockcopy;		blockcopy.assign(&seektable_, /*copy=*/true);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::assign(const ::FLAC__StreamMetadata *, copy=false)... +\n");	printf("        SeekTable::operator!=(const ::FLAC__StreamMetadata *)... ");	{		::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&seektable_);		FLAC::Metadata::SeekTable blockcopy;		blockcopy.assign(copy, /*copy=*/false);		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(blockcopy != seektable_)			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::operator=(const SeekTable &)... +\n");	printf("        SeekTable::operator==(const SeekTable &)... ");	{		FLAC::Metadata::SeekTable blockcopy = block;		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(!(blockcopy == block))			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::operator=(const ::FLAC__StreamMetadata &)... +\n");	printf("        SeekTable::operator==(const ::FLAC__StreamMetadata &)... ");	{		FLAC::Metadata::SeekTable blockcopy = seektable_;		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(!(blockcopy == seektable_))			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::operator=(const ::FLAC__StreamMetadata *)... +\n");	printf("        SeekTable::operator==(const ::FLAC__StreamMetadata *)... ");	{		FLAC::Metadata::SeekTable blockcopy = &seektable_;		if(!blockcopy.is_valid())			return die_("!block.is_valid()");		if(!(blockcopy == seektable_))			return die_("copy is not identical to original");		printf("OK\n");	}	printf("testing SeekTable::insert_point() x 3... ");	if(!block.insert_point(0, seektable_.data.seek_table.points[1]))		return die_("returned false");	if(!block.insert_point(0, seektable_.data.seek_table.points[1]))		return die_("returned false");	if(!block.insert_point(1, seektable_.data.seek_table.points[0]))		return die_("returned false");	printf("OK\n");	printf("testing SeekTable::is_legal()... ");	if(block.is_legal())		return die_("returned true");	printf("OK\n");	printf("testing SeekTable::set_point()... ");	block.set_point(0, seektable_.data.seek_table.points[0]);	printf("OK\n");	printf("testing SeekTable::delete_point()... ");	if(!block.delete_point(0))		return die_("returned false");	printf("OK\n");	printf("testing SeekTable::is_legal()... ");	if(!block.is_legal())		return die_("returned false");	printf("OK\n");	printf("testing SeekTable::get_num_points()... ");	if(block.get_num_points() != seektable_.data.seek_table.num_points)		return die_("number mismatch");	printf("OK\n");	printf("testing SeekTable::operator!=(const ::FLAC__StreamMetadata &)... ");	if(block != seektable_)		return die_("data mismatch");	printf("OK\n");	printf("testing SeekTable::get_point()... ");	if(		block.get_point(1).sample_number != seektable_.data.seek_table.points[1].sample_number ||		block.get_point(1).stream_offset != seektable_.data.seek_table.points[1].stream_offset ||		block.get_point(1).frame_samples != seektable_.data.seek_table.points[1].frame_samples	)		return die_("point mismatch");	printf("OK\n");	printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");	FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);	if(0 == clone_)		return die_("returned NULL");	if(0 == dynamic_cast<FLAC::Metadata::SeekTable *>(clone_))		return die_("downcast is NULL");	if(*dynamic_cast<FLAC::Metadata::SeekTable *>(clone_) != block)		return die_("clone is not identical");	printf("OK\n");	printf("testing SeekTable::~SeekTable()... ");	delete clone_;	printf("OK\n");	printf("PASSED\n\n");	return true;}bool test_metadata_object_vorbiscomment(){	unsigned expected_length;	printf("testing class FLAC::Metadata::VorbisComment::Entry\n");	printf("testing Entry::Entry()... ");	{		FLAC::Metadata::VorbisComment::Entry entry1;		if(!entry1.is_valid())			return die_("!is_valid()");		printf("OK\n");		printf("testing Entry::~Entry()... ");	}	printf("OK\n");	printf("testing Entry::Entry(const char *field, unsigned field_length)... ");	FLAC::Metadata::VorbisComment::Entry entry2("name2=value2", strlen("name2=value2"));	if(!entry2.is_valid())		return die_("!is_valid()");	printf("OK\n");	{		printf("testing Entry::Entry(const char *field)... ");		FLAC::Metadata::VorbisComment::Entry entry2z("name2=value2");		if(!entry2z.is_valid())			return die_("!is_valid()");		if(strcmp(entry2.get_field(), entry2z.get_field()))			return die_("bad value");		printf("OK\n");	}	printf("testing Entry::Entry(const char *field_name, const char *field_value, unsigned field_value_length)... ");	FLAC::Metadata::VorbisComment::Entry entry3("name3", "value3", strlen("value3"));	if(!entry3.is_valid())		return die_("!is_valid()");	printf("OK\n");	{		printf("testing Entry::Entry(const char *field_name, const char *field_value)... ");		FLAC::Metadata::VorbisComment::Entry entry3z("name3", "value3");		if(!entry3z.is_valid())			return die_("!is_valid()");		if(strcmp(entry3.get_field(), entry3z.get_field()))			return die_("bad value");		printf("OK\n");	}	printf("testing Entry::Entry(const Entry &entry)... ");	{		FLAC::Metadata::VorbisComment::Entry entry2copy(entry2);		if(!entry2copy.is_valid())			return die_("!is_valid()");		printf("OK\n");		printf("testing Entry::~Entry()... ");	}	printf("OK\n");	printf("testing Entry::operator=(const Entry &entry)... ");	FLAC::Metadata::VorbisComment::Entry entry1 = entry2;	if(!entry2.is_valid())		return die_("!is_valid()");	printf("OK\n");	printf("testing Entry::get_field_length()... ");	if(entry1.get_field_length() != strlen("name2=value2"))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::get_field_name_length()... ");	if(entry1.get_field_name_length() != strlen("name2"))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::get_field_value_length()... ");	if(entry1.get_field_value_length() != strlen("value2"))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::get_entry()... ");	{		::FLAC__StreamMetadata_VorbisComment_Entry entry = entry1.get_entry();		if(entry.length != strlen("name2=value2"))			return die_("entry length mismatch");		if(0 != memcmp(entry.entry, "name2=value2", entry.length))			return die_("entry value mismatch");	}	printf("OK\n");	printf("testing Entry::get_field()... ");	if(0 != memcmp(entry1.get_field(), "name2=value2", strlen("name2=value2")))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::get_field_name()... ");	if(0 != memcmp(entry1.get_field_name(), "name2", strlen("name2")))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::get_field_value()... ");	if(0 != memcmp(entry1.get_field_value(), "value2", strlen("value2")))		return die_("value mismatch");	printf("OK\n");	printf("testing Entry::set_field_name()... ");	if(!entry1.set_field_name("name1"))

⌨️ 快捷键说明

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