compiler/tests/extras/PPCSmalltalkTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Jul 2015 08:37:37 +0100
changeset 510 869853decf31
parent 465 f729f6cd3c76
child 516 3b81c9e53352
permissions -rw-r--r--
Tests refactoring - use generated test cases to make sure all posibilities are tested. Do not generate resource for all combinations, use PPCSetUpBeforeTearDownAfterResource instead that delegates parser compilation to the testcase itself (it calls it's #setUpBefore method).

"{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"

"{ NameSpace: Smalltalk }"

TestCase subclass:#PPCSmalltalkTests
	instanceVariableNames:'configuration arguments'
	classVariableNames:''
	poolDictionaries:''
	category:'PetitCompiler-Extras-Tests-Smalltalk'
!

!PPCSmalltalkTests methodsFor:'as yet unclassified'!

setUp
    arguments := PPCArguments default
        profile: true;
        yourself.
        
    configuration := PPCTokenizingConfiguration new
        arguments: arguments;
        yourself.
!

testSmalltakToken
    | token1 token2 |
    arguments generate: false.
    token1 := 'a' asParser smalltalkToken compileWithConfiguration: configuration.
    token2 := 'b' asParser smalltalkToken compileWithConfiguration: configuration.
    
    self assert: token1 tokenizer children first tokenClass = PPSmalltalkToken.
    self assert: token1 tokenizer children first whitespace = token1 tokenizer children first  whitespace.
!

testSmalltakWhitespace
    | ws1 ws2 |
    ws1 := PPSmalltalkWhitespaceParser new.
    ws2 := PPSmalltalkWhitespaceParser new.
    
    self assert: ws1 = ws2.
    self assert: ws1 ~~ ws2.
    
    self assert: ws1 hash = ws2 hash.

    "Modified: / 30-07-2015 / 06:56:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !