@Test
	public void toGraph$END3() {
		// The trailing 'bbb' is redundant here...
		js = parse("aaa | foo = $END | B = bbb | '*' = $END || bbb");

		// AST creation (and DSL printing from it)
		assertEquals("aaa | foo = $END | B = bbb | '*' = $END || bbb", js.stringify());

		// Graph creation
		//		assertEquals(
		//				toExpectedGraph("n:0:START,n:1:aaa,n:2:bbb,n:3:ccc,n:4:END," +
		//						"l:0:1,l:2:3,l:1:4:transitionName=foo,l:1:2:transitionName=B,l:1:3:transitionName='*',l:3:4"),
		//				js.toGraph().toJSON());

		// Graph to DSL
		checkDSLToGraphAndBackToDSL("aaa | foo = $END | B = bbb | '*' = $END");

		// toXML
		assertEquals(loadXml("end3"), js.toXML("test1", true));
	}
Parse job specifications and verify either the correct abstract syntax tree is produced or the current exception comes out.
The parser does no semantic validation, it is purely syntax checking.

@author Andy Clement
spring-xd-dirt/src/test/java/org/springframework/xd/dirt/job/dsl/JobParserTests.java