Revision 47734 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/test/java/org/gvsig/expresionevaluator/impl/TestCompiler.java

View differences:

TestCompiler.java
9 9
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
10 10
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
11 11
import org.gvsig.expressionevaluator.ExpressionSyntaxException;
12
import org.gvsig.expressionevaluator.Formatter;
12 13
import org.gvsig.expressionevaluator.MutableSymbolTable;
13 14
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
14 15

  
......
744 745
        code.link();
745 746
        checkEquals("((\"a\" + 3) BETWEEN (\"b\" + 10) AND (\"b\" + 20))", code.toString());
746 747
    }
748
    
749
    public void testBlockExcept1a() {
750
        String source = "BEGIN LET V1 = 11; LET V2 = 22; EXCEPT print('Hola'); TRUE; END";
751

  
752
        Compiler compiler = createCompiler();
753
        Code code = compiler.compileExpression(source);
754
        code.link();
755
        checkEquals("BEGIN \"V1\" := 11; \"V2\" := 22; EXCEPT print('Hola'); TRUE; END ", code.toString());
756
    }
757

  
758
    public void testBlockExcept1b() {
759
        String source = "BEGIN LET V1 = 11; LET V2 = 22; EXCEPT print('Hola'); TRUE; END";
760

  
761
        Formatter formatter = new Code.EmptyFormatter(true, 4);
762
        
763
        Compiler compiler = createCompiler();
764
        Code code = compiler.compileExpression(source);
765
        code.link();
766
        checkEquals("BEGIN \n    \"V1\" := 11; \n    \"V2\" := 22; \nEXCEPT \n    print('Hola'); \n    TRUE; \nEND \n", code.toString(formatter));
767
    }
768

  
769
    public void testBlockExcept2b() {
770
        String source = "DECLARE V1 := 0; V2 := 0; BEGIN V1 := 11; V2 := 22; EXCEPT print('Hola'); TRUE; END";
771

  
772
        Formatter formatter = new Code.EmptyFormatter(true, 4);
773
        
774
        Compiler compiler = createCompiler();
775
        Code code = compiler.compileExpression(source);
776
        code.link();
777
        checkEquals("DECLARE \n    \"V1\" := 0; \n    \"V2\" := 0; \nBEGIN \n    \"V1\" := 11; \n    \"V2\" := 22; \nEXCEPT \n    print('Hola'); \n    TRUE; \nEND \n", code.toString(formatter));
778
    }
779

  
747 780
}

Also available in: Unified diff