Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
parse_utils_test.cc File Reference

Comprehensive tests for parse_utils.H. More...

#include <gtest/gtest.h>
#include <fstream>
#include <sstream>
#include <cstdio>
#include <parse_utils.H>
Include dependency graph for parse_utils_test.cc:

Go to the source code of this file.

Classes

class  ParseUtilsTest
 

Functions

 TEST (PutCharInBufferTest, BasicAppend)
 
 TEST (PutCharInBufferTest, PointerAdvances)
 
 TEST (PutCharInBufferTest, FillsToCapacity)
 
 TEST (TokenScanningTest, InitSavesPosition)
 
 TEST (TokenScanningTest, CloseSavesToken)
 
 TEST (TokenScanningTest, CloseAddsNullTerminator)
 
 TEST_F (ParseUtilsTest, ReadCharBasic)
 
 TEST_F (ParseUtilsTest, ReadCharUpdatesColumn)
 
 TEST_F (ParseUtilsTest, ReadCharNewlineUpdatesLine)
 
 TEST_F (ParseUtilsTest, ReadCharThrowsOnEOF)
 
 TEST_F (ParseUtilsTest, SkipSpaces)
 
 TEST_F (ParseUtilsTest, SkipTabs)
 
 TEST_F (ParseUtilsTest, SkipNewlines)
 
 TEST_F (ParseUtilsTest, SkipMixedWhitespace)
 
 TEST_F (ParseUtilsTest, SkipNothingIfNoWhitespace)
 
 TEST_F (ParseUtilsTest, LoadPositiveNumber)
 
 TEST_F (ParseUtilsTest, LoadNegativeNumber)
 
 TEST_F (ParseUtilsTest, LoadZero)
 
 TEST_F (ParseUtilsTest, LoadNumberWithLeadingSpaces)
 
 TEST_F (ParseUtilsTest, LoadMultipleNumbers)
 
 TEST_F (ParseUtilsTest, LoadNumberAtEOF)
 
 TEST_F (ParseUtilsTest, LoadNumberAtEOFWithNewline)
 
 TEST_F (ParseUtilsTest, LoadLargeNumber)
 
 TEST_F (ParseUtilsTest, LoadNegativeLargeNumber)
 
 TEST_F (ParseUtilsTest, LoadNumberSetsToken)
 
 TEST_F (ParseUtilsTest, LoadUnquotedString)
 
 TEST_F (ParseUtilsTest, LoadQuotedString)
 
 TEST_F (ParseUtilsTest, LoadQuotedStringWithSpaces)
 
 TEST_F (ParseUtilsTest, LoadStringWithLeadingSpaces)
 
 TEST_F (ParseUtilsTest, LoadMultipleStrings)
 
 TEST_F (ParseUtilsTest, LoadMixedQuotedUnquoted)
 
 TEST_F (ParseUtilsTest, LoadEmptyQuotedString)
 
 TEST_F (ParseUtilsTest, LoadStringSetsToken)
 
 TEST_F (ParseUtilsTest, LoadStringWithNumbers)
 
 TEST_F (ParseUtilsTest, LoadQuotedStringWithNewline)
 
 TEST (CommandLineTest, SingleArgument)
 
 TEST (CommandLineTest, MultipleArguments)
 
 TEST (CommandLineTest, EmptyArguments)
 
 TEST (ResetParseStateTest, ResetsLineNumbers)
 
 TEST (ResetParseStateTest, ClearsToken)
 
 TEST_F (ParseUtilsTest, ParseSimpleConfigFile)
 
 TEST_F (ParseUtilsTest, ParseMixedContent)
 
 TEST_F (ParseUtilsTest, ParseMultilineFile)
 
 TEST_F (ParseUtilsTest, PositionTrackingAccurate)
 
 TEST_F (ParseUtilsTest, NumberOnlyMinus)
 
 TEST_F (ParseUtilsTest, StringWithSpecialChars)
 
 TEST_F (ParseUtilsTest, StringWithBackslash)
 
 TEST_F (ParseUtilsTest, VeryLongString)
 
 TEST (BufferSizeTest, HasReasonableValue)
 
 TEST (SourceLocationTest, DefaultConstruction)
 
 TEST (SourceLocationTest, FullConstruction)
 
 TEST (SourceLocationTest, ToStringWithFilename)
 
 TEST (SourceLocationTest, ToStringWithoutFilename)
 
 TEST (SourceLocationTest, CurrentFactory)
 
 TEST (ParseErrorTest, WithLocation)
 
 TEST (ParseErrorTest, LocationAccessor)
 
 TEST_F (ParseUtilsTest, PeekCharDoesNotConsume)
 
 TEST_F (ParseUtilsTest, MarkAndRestorePosition)
 
 TEST_F (ParseUtilsTest, SkipLineComment)
 
 TEST_F (ParseUtilsTest, SkipBlockComment)
 
 TEST_F (ParseUtilsTest, SkipBlockCommentMultiline)
 
 TEST_F (ParseUtilsTest, SkipWhitespaceAndComments)
 
 TEST_F (ParseUtilsTest, SkipHashComment)
 
 TEST_F (ParseUtilsTest, LoadDoubleBasic)
 
 TEST_F (ParseUtilsTest, LoadDoubleNegative)
 
 TEST_F (ParseUtilsTest, LoadDoubleScientific)
 
 TEST_F (ParseUtilsTest, LoadDoubleNegativeExponent)
 
 TEST_F (ParseUtilsTest, LoadDoubleLeadingDecimal)
 
 TEST_F (ParseUtilsTest, LoadDoubleTrailingDecimal)
 
 TEST_F (ParseUtilsTest, LoadHexNumber)
 
 TEST_F (ParseUtilsTest, LoadHexNumberLowercase)
 
 TEST_F (ParseUtilsTest, LoadOctalNumber)
 
 TEST_F (ParseUtilsTest, LoadOctalZero)
 
 TEST_F (ParseUtilsTest, LoadBinaryNumber)
 
 TEST_F (ParseUtilsTest, LoadBinaryNumberUpper)
 
 TEST_F (ParseUtilsTest, LoadIdentifierBasic)
 
 TEST_F (ParseUtilsTest, LoadIdentifierWithUnderscore)
 
 TEST_F (ParseUtilsTest, LoadIdentifierWithNumbers)
 
 TEST_F (ParseUtilsTest, LoadIdentifierCamelCase)
 
 TEST_F (ParseUtilsTest, LoadIdentifierInvalid)
 
 TEST (KeywordTest, IsKeywordTrue)
 
 TEST (KeywordTest, IsKeywordFalse)
 
 TEST_F (ParseUtilsTest, ExpectCharSuccess)
 
 TEST_F (ParseUtilsTest, ExpectCharFailure)
 
 TEST_F (ParseUtilsTest, ExpectSuccess)
 
 TEST_F (ParseUtilsTest, ExpectFailure)
 
 TEST_F (ParseUtilsTest, TryCharSuccess)
 
 TEST_F (ParseUtilsTest, TryCharFailure)
 
 TEST (EscapeTest, ProcessBasicEscapes)
 
 TEST (EscapeTest, ProcessUnknownEscape)
 
 TEST_F (ParseUtilsTest, LoadEscapedStringBasic)
 
 TEST_F (ParseUtilsTest, LoadEscapedStringMultipleEscapes)
 
 TEST_F (ParseUtilsTest, LoadEscapedStringQuotes)
 
 TEST_F (ParseUtilsTest, LoadEscapedStringBackslash)
 
 TEST_F (ParseUtilsTest, LoadEscapedStringUnterminated)
 
 TEST_F (ParseUtilsTest, LoadCharLiteralBasic)
 
 TEST_F (ParseUtilsTest, LoadCharLiteralEscaped)
 
 TEST_F (ParseUtilsTest, LoadCharLiteralTab)
 
 TEST_F (ParseUtilsTest, LoadCharLiteralQuote)
 
 TEST (TokenTypeTest, ToString)
 
 TEST (TokenTest, Construction)
 
 TEST (TokenTest, IsEof)
 
 TEST_F (ParseUtilsTest, LoadFileContents)
 
 TEST_F (ParseUtilsTest, LoadFileLines)
 
 TEST (FileUtilsTest, LoadFileContentsNotFound)
 
 TEST (StringUtilsTest, SplitString)
 
 TEST (StringUtilsTest, SplitStringEmpty)
 
 TEST (StringUtilsTest, TrimSpaces)
 
 TEST (StringUtilsTest, TrimTabs)
 
 TEST (StringUtilsTest, TrimEmpty)
 
 TEST_F (ParseUtilsTest, ParseSimpleExpression)
 
 TEST_F (ParseUtilsTest, ParseWithComments)
 

Detailed Description

Comprehensive tests for parse_utils.H.

Definition in file parse_utils_test.cc.

Function Documentation

◆ TEST() [1/32]

TEST ( BufferSizeTest  ,
HasReasonableValue   
)

◆ TEST() [2/32]

TEST ( CommandLineTest  ,
EmptyArguments   
)

◆ TEST() [3/32]

TEST ( CommandLineTest  ,
MultipleArguments   
)

◆ TEST() [4/32]

TEST ( CommandLineTest  ,
SingleArgument   
)

◆ TEST() [5/32]

TEST ( EscapeTest  ,
ProcessBasicEscapes   
)

◆ TEST() [6/32]

TEST ( EscapeTest  ,
ProcessUnknownEscape   
)

◆ TEST() [7/32]

TEST ( FileUtilsTest  ,
LoadFileContentsNotFound   
)

◆ TEST() [8/32]

TEST ( KeywordTest  ,
IsKeywordFalse   
)

◆ TEST() [9/32]

TEST ( KeywordTest  ,
IsKeywordTrue   
)

◆ TEST() [10/32]

TEST ( ParseErrorTest  ,
LocationAccessor   
)

Definition at line 705 of file parse_utils_test.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [11/32]

TEST ( ParseErrorTest  ,
WithLocation   
)

Definition at line 694 of file parse_utils_test.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [12/32]

TEST ( PutCharInBufferTest  ,
BasicAppend   
)

◆ TEST() [13/32]

TEST ( PutCharInBufferTest  ,
FillsToCapacity   
)

◆ TEST() [14/32]

TEST ( PutCharInBufferTest  ,
PointerAdvances   
)

◆ TEST() [15/32]

TEST ( ResetParseStateTest  ,
ClearsToken   
)

◆ TEST() [16/32]

◆ TEST() [17/32]

◆ TEST() [18/32]

TEST ( SourceLocationTest  ,
DefaultConstruction   
)

◆ TEST() [19/32]

TEST ( SourceLocationTest  ,
FullConstruction   
)

◆ TEST() [20/32]

TEST ( SourceLocationTest  ,
ToStringWithFilename   
)

◆ TEST() [21/32]

TEST ( SourceLocationTest  ,
ToStringWithoutFilename   
)

◆ TEST() [22/32]

TEST ( StringUtilsTest  ,
SplitString   
)

◆ TEST() [23/32]

TEST ( StringUtilsTest  ,
SplitStringEmpty   
)

◆ TEST() [24/32]

TEST ( StringUtilsTest  ,
TrimEmpty   
)

◆ TEST() [25/32]

TEST ( StringUtilsTest  ,
TrimSpaces   
)

◆ TEST() [26/32]

TEST ( StringUtilsTest  ,
TrimTabs   
)

◆ TEST() [27/32]

TEST ( TokenScanningTest  ,
CloseAddsNullTerminator   
)

◆ TEST() [28/32]

TEST ( TokenScanningTest  ,
CloseSavesToken   
)

◆ TEST() [29/32]

◆ TEST() [30/32]

TEST ( TokenTest  ,
Construction   
)

Definition at line 1161 of file parse_utils_test.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [31/32]

TEST ( TokenTest  ,
IsEof   
)

Definition at line 1171 of file parse_utils_test.cc.

References Aleph::divide_and_conquer_partition_dp().

◆ TEST() [32/32]

TEST ( TokenTypeTest  ,
ToString   
)

◆ TEST_F() [1/80]

TEST_F ( ParseUtilsTest  ,
ExpectCharFailure   
)

◆ TEST_F() [2/80]

TEST_F ( ParseUtilsTest  ,
ExpectCharSuccess   
)

◆ TEST_F() [3/80]

TEST_F ( ParseUtilsTest  ,
ExpectFailure   
)

◆ TEST_F() [4/80]

TEST_F ( ParseUtilsTest  ,
ExpectSuccess   
)

◆ TEST_F() [5/80]

TEST_F ( ParseUtilsTest  ,
LoadBinaryNumber   
)

◆ TEST_F() [6/80]

TEST_F ( ParseUtilsTest  ,
LoadBinaryNumberUpper   
)

◆ TEST_F() [7/80]

TEST_F ( ParseUtilsTest  ,
LoadCharLiteralBasic   
)

◆ TEST_F() [8/80]

TEST_F ( ParseUtilsTest  ,
LoadCharLiteralEscaped   
)

◆ TEST_F() [9/80]

TEST_F ( ParseUtilsTest  ,
LoadCharLiteralQuote   
)

◆ TEST_F() [10/80]

TEST_F ( ParseUtilsTest  ,
LoadCharLiteralTab   
)

◆ TEST_F() [11/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleBasic   
)

◆ TEST_F() [12/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleLeadingDecimal   
)

◆ TEST_F() [13/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleNegative   
)

◆ TEST_F() [14/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleNegativeExponent   
)

◆ TEST_F() [15/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleScientific   
)

◆ TEST_F() [16/80]

TEST_F ( ParseUtilsTest  ,
LoadDoubleTrailingDecimal   
)

◆ TEST_F() [17/80]

TEST_F ( ParseUtilsTest  ,
LoadEmptyQuotedString   
)

◆ TEST_F() [18/80]

TEST_F ( ParseUtilsTest  ,
LoadEscapedStringBackslash   
)

◆ TEST_F() [19/80]

TEST_F ( ParseUtilsTest  ,
LoadEscapedStringBasic   
)

◆ TEST_F() [20/80]

TEST_F ( ParseUtilsTest  ,
LoadEscapedStringMultipleEscapes   
)

◆ TEST_F() [21/80]

TEST_F ( ParseUtilsTest  ,
LoadEscapedStringQuotes   
)

◆ TEST_F() [22/80]

TEST_F ( ParseUtilsTest  ,
LoadEscapedStringUnterminated   
)

◆ TEST_F() [23/80]

TEST_F ( ParseUtilsTest  ,
LoadFileContents   
)

◆ TEST_F() [24/80]

TEST_F ( ParseUtilsTest  ,
LoadFileLines   
)

◆ TEST_F() [25/80]

TEST_F ( ParseUtilsTest  ,
LoadHexNumber   
)

◆ TEST_F() [26/80]

TEST_F ( ParseUtilsTest  ,
LoadHexNumberLowercase   
)

◆ TEST_F() [27/80]

TEST_F ( ParseUtilsTest  ,
LoadIdentifierBasic   
)

◆ TEST_F() [28/80]

TEST_F ( ParseUtilsTest  ,
LoadIdentifierCamelCase   
)

◆ TEST_F() [29/80]

TEST_F ( ParseUtilsTest  ,
LoadIdentifierInvalid   
)

◆ TEST_F() [30/80]

TEST_F ( ParseUtilsTest  ,
LoadIdentifierWithNumbers   
)

◆ TEST_F() [31/80]

TEST_F ( ParseUtilsTest  ,
LoadIdentifierWithUnderscore   
)

◆ TEST_F() [32/80]

TEST_F ( ParseUtilsTest  ,
LoadLargeNumber   
)

◆ TEST_F() [33/80]

TEST_F ( ParseUtilsTest  ,
LoadMixedQuotedUnquoted   
)

◆ TEST_F() [34/80]

TEST_F ( ParseUtilsTest  ,
LoadMultipleNumbers   
)

◆ TEST_F() [35/80]

TEST_F ( ParseUtilsTest  ,
LoadMultipleStrings   
)

◆ TEST_F() [36/80]

TEST_F ( ParseUtilsTest  ,
LoadNegativeLargeNumber   
)

◆ TEST_F() [37/80]

TEST_F ( ParseUtilsTest  ,
LoadNegativeNumber   
)

◆ TEST_F() [38/80]

TEST_F ( ParseUtilsTest  ,
LoadNumberAtEOF   
)

◆ TEST_F() [39/80]

TEST_F ( ParseUtilsTest  ,
LoadNumberAtEOFWithNewline   
)

◆ TEST_F() [40/80]

TEST_F ( ParseUtilsTest  ,
LoadNumberSetsToken   
)

◆ TEST_F() [41/80]

TEST_F ( ParseUtilsTest  ,
LoadNumberWithLeadingSpaces   
)

◆ TEST_F() [42/80]

TEST_F ( ParseUtilsTest  ,
LoadOctalNumber   
)

◆ TEST_F() [43/80]

TEST_F ( ParseUtilsTest  ,
LoadOctalZero   
)

◆ TEST_F() [44/80]

TEST_F ( ParseUtilsTest  ,
LoadPositiveNumber   
)

◆ TEST_F() [45/80]

TEST_F ( ParseUtilsTest  ,
LoadQuotedString   
)

◆ TEST_F() [46/80]

TEST_F ( ParseUtilsTest  ,
LoadQuotedStringWithNewline   
)

◆ TEST_F() [47/80]

TEST_F ( ParseUtilsTest  ,
LoadQuotedStringWithSpaces   
)

◆ TEST_F() [48/80]

TEST_F ( ParseUtilsTest  ,
LoadStringSetsToken   
)

◆ TEST_F() [49/80]

TEST_F ( ParseUtilsTest  ,
LoadStringWithLeadingSpaces   
)

◆ TEST_F() [50/80]

TEST_F ( ParseUtilsTest  ,
LoadStringWithNumbers   
)

◆ TEST_F() [51/80]

TEST_F ( ParseUtilsTest  ,
LoadUnquotedString   
)

◆ TEST_F() [52/80]

TEST_F ( ParseUtilsTest  ,
LoadZero   
)

◆ TEST_F() [53/80]

◆ TEST_F() [54/80]

TEST_F ( ParseUtilsTest  ,
NumberOnlyMinus   
)

◆ TEST_F() [55/80]

TEST_F ( ParseUtilsTest  ,
ParseMixedContent   
)

◆ TEST_F() [56/80]

TEST_F ( ParseUtilsTest  ,
ParseMultilineFile   
)

◆ TEST_F() [57/80]

TEST_F ( ParseUtilsTest  ,
ParseSimpleConfigFile   
)

◆ TEST_F() [58/80]

◆ TEST_F() [59/80]

◆ TEST_F() [60/80]

TEST_F ( ParseUtilsTest  ,
PeekCharDoesNotConsume   
)

◆ TEST_F() [61/80]

TEST_F ( ParseUtilsTest  ,
PositionTrackingAccurate   
)

◆ TEST_F() [62/80]

TEST_F ( ParseUtilsTest  ,
ReadCharBasic   
)

◆ TEST_F() [63/80]

◆ TEST_F() [64/80]

TEST_F ( ParseUtilsTest  ,
ReadCharThrowsOnEOF   
)

◆ TEST_F() [65/80]

TEST_F ( ParseUtilsTest  ,
ReadCharUpdatesColumn   
)

◆ TEST_F() [66/80]

TEST_F ( ParseUtilsTest  ,
SkipBlockComment   
)

◆ TEST_F() [67/80]

◆ TEST_F() [68/80]

TEST_F ( ParseUtilsTest  ,
SkipHashComment   
)

◆ TEST_F() [69/80]

◆ TEST_F() [70/80]

TEST_F ( ParseUtilsTest  ,
SkipMixedWhitespace   
)

◆ TEST_F() [71/80]

TEST_F ( ParseUtilsTest  ,
SkipNewlines   
)

◆ TEST_F() [72/80]

TEST_F ( ParseUtilsTest  ,
SkipNothingIfNoWhitespace   
)

◆ TEST_F() [73/80]

TEST_F ( ParseUtilsTest  ,
SkipSpaces   
)

◆ TEST_F() [74/80]

TEST_F ( ParseUtilsTest  ,
SkipTabs   
)

◆ TEST_F() [75/80]

TEST_F ( ParseUtilsTest  ,
SkipWhitespaceAndComments   
)

◆ TEST_F() [76/80]

TEST_F ( ParseUtilsTest  ,
StringWithBackslash   
)

◆ TEST_F() [77/80]

TEST_F ( ParseUtilsTest  ,
StringWithSpecialChars   
)

◆ TEST_F() [78/80]

TEST_F ( ParseUtilsTest  ,
TryCharFailure   
)

◆ TEST_F() [79/80]

TEST_F ( ParseUtilsTest  ,
TryCharSuccess   
)

◆ TEST_F() [80/80]

TEST_F ( ParseUtilsTest  ,
VeryLongString   
)