/** * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. * This file is licensed under the terms of the Modified BSD License. */ package abs.frontend.parser; import org.junit.Test; import abs.frontend.FrontendTest; import static abs.ABSTest.Config.*; public class IncompleteExpTests extends FrontendTest { @Test public void incompleteSyncAccess() { assertParseOk("{ x = x.; }", ALLOW_INCOMPLETE_EXPR); assertParseOk("{ x.; }", ALLOW_INCOMPLETE_EXPR); } @Test public void incompleteAsyncAccess() { assertParseOk("{ x = x!; }", ALLOW_INCOMPLETE_EXPR); assertParseOk("{ x!; }", ALLOW_INCOMPLETE_EXPR); } @Test public void incompleteThisAsyncAccess() { assertParse(" { this!x await x!foo();}", ALLOW_INCOMPLETE_EXPR, EXPECT_PARSE_ERROR); } @Test public void incompleteNewExp() { assertParseOk("{ new local ; }", ALLOW_INCOMPLETE_EXPR); assertParseOk("{ new ; }", ALLOW_INCOMPLETE_EXPR); assertParseOk("{ x = new local ; }", ALLOW_INCOMPLETE_EXPR); assertParseOk("{ x = new ; }", ALLOW_INCOMPLETE_EXPR); } @Test public void incompleteStmt() { assertParseOk("class C { Unit m() { I i; i.; } }", ALLOW_INCOMPLETE_EXPR); } }