mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-11-04 05:23:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Unit Tests for Scintilla internal data structures
 | 
						|
 | 
						|
/*
 | 
						|
    Currently tested:
 | 
						|
        SplitVector
 | 
						|
        Partitioning
 | 
						|
        RunStyles
 | 
						|
        ContractionState
 | 
						|
        CharClassify
 | 
						|
        Decoration
 | 
						|
        DecorationList
 | 
						|
        CellBuffer
 | 
						|
        UniConversion
 | 
						|
 | 
						|
    To do:
 | 
						|
        PerLine *
 | 
						|
        Range
 | 
						|
        StyledText
 | 
						|
        CaseFolder ...
 | 
						|
        Document
 | 
						|
        RESearch
 | 
						|
        Selection
 | 
						|
        Style
 | 
						|
 | 
						|
        lexlib:
 | 
						|
        Accessor
 | 
						|
        LexAccessor
 | 
						|
        CharacterSet
 | 
						|
        OptionSet
 | 
						|
        PropSetSimple
 | 
						|
        StyleContext
 | 
						|
        WordList
 | 
						|
*/
 | 
						|
 | 
						|
#include <cstdio>
 | 
						|
#include <cstdarg>
 | 
						|
 | 
						|
#include <string_view>
 | 
						|
#include <vector>
 | 
						|
#include <memory>
 | 
						|
 | 
						|
#include "Platform.h"
 | 
						|
 | 
						|
#if defined(__GNUC__)
 | 
						|
// Want to avoid misleading indentation warnings in catch.hpp but the pragma
 | 
						|
// may not be available so protect by turning off pragma warnings
 | 
						|
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
 | 
						|
#pragma GCC diagnostic ignored "-Wpragmas"
 | 
						|
#if !defined(__clang__)
 | 
						|
#pragma GCC diagnostic ignored "-Wmisleading-indentation"
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#define CATCH_CONFIG_MAIN  // This tells Catch to provide a main() - only do this in one cpp file
 | 
						|
#include "catch.hpp"
 | 
						|
 | 
						|
using namespace Scintilla;
 | 
						|
 | 
						|
// Needed for PLATFORM_ASSERT in code being tested
 | 
						|
 | 
						|
void Platform::Assert(const char *c, const char *file, int line) {
 | 
						|
	fprintf(stderr, "Assertion [%s] failed at %s %d\n", c, file, line);
 | 
						|
	abort();
 | 
						|
}
 | 
						|
 | 
						|
void Platform::DebugPrintf(const char *format, ...) {
 | 
						|
	char buffer[2000];
 | 
						|
	va_list pArguments;
 | 
						|
	va_start(pArguments, format);
 | 
						|
	vsprintf(buffer, format, pArguments);
 | 
						|
	va_end(pArguments);
 | 
						|
	fprintf(stderr, "%s", buffer);
 | 
						|
}
 |