diff -r d4014e0a47a0 -r f729f6cd3c76 compiler/tests/PPCLL1OptimizingTest.st --- a/compiler/tests/PPCLL1OptimizingTest.st Wed May 20 16:47:52 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -"{ Package: 'stx:goodies/petitparser/compiler/tests' }" - -"{ NameSpace: Smalltalk }" - -TestCase subclass:#PPCLL1OptimizingTest - instanceVariableNames:'configuration parser result' - classVariableNames:'' - poolDictionaries:'' - category:'PetitCompiler-Tests-Core' -! - -!PPCLL1OptimizingTest methodsFor:'as yet unclassified'! - -assert: object type: class - self assert: (object isKindOf: class) -! - -configuration - configuration := PPCLL1Configuration new. - configuration arguments generate: false. - ^ configuration -! - -optimize: aPPParser - ^ self configuration compile: aPPParser. -! - -testCompileToken - parser := 'foo' asParser token. - result := self optimize: parser. - - self assert: result type: PPCTokenizingParserNode. - self assert: result parser type: PPCTokenConsumeNode. - self assert: result parser child type: PPCTokenNode. - self assert: result parser child child literal = 'foo'. -! - -testCompileTrim - parser := 'foo' asParser token trim. - result := self optimize: parser. - - self assert: result type: PPCTokenizingParserNode. - self assert: result parser type: PPCTokenConsumeNode. - self assert: result parser child type: PPCTrimmingTokenNode. - self assert: result parser child whitespace type: PPCTokenStarSeparatorNode. -! - -testCompileTrimmingToken - parser := 'foo' asParser trimmingToken. - result := self optimize: parser. - - self assert: result type: PPCTokenizingParserNode. - self assert: result parser type: PPCTokenConsumeNode. - self assert: result parser child type: PPCTrimmingTokenNode. - self assert: result parser child whitespace type: PPCTokenStarSeparatorNode. - - self assert: result tokenizer children size = 2. - self assert: (result tokenizer children anySatisfy: [ :e | e isKindOf: PPCTrimmingTokenNode ]) -! - -testCompileTrimmingToken2 - | token | - token := 'foo' asParser trimmingToken. - parser := token wrapped - name: 'fooToken'; - yourself. - result := self optimize: parser. - - self assert: result type: PPCTokenizingParserNode. - self assert: result parser type: PPCTokenConsumeNode. - self assert: result parser name = 'fooToken'. - self assert: result parser child name = 'token_fooToken'. - - self assert: result tokenizer children size = 2. - self assert: (result tokenizer children anySatisfy: [ :e | e isKindOf: PPCTrimmingTokenNode ]). - self assert: (result tokenizer children anySatisfy: [ :e | e name = 'token_fooToken']). -! ! -