@Test
	public void inlineJobDefWithArgumentsAndTransitions() {
		if (JobParser.SUPPORTS_INLINE_JOB_DEFINITIONS) {
			js = parse("foo foo --name=value --x=y | aaa=bbb | ccc=ddd | eee=fff");
			List<JobDefinition> jds = js.getJobDefinitions();
			assertEquals(1, jds.size());
			assertEquals("foo foo --name=value --x=y | aaa = bbb | ccc = ddd | eee = fff", jds.get(0).stringify(false));

			js = parse("foo foo --name=value --x=y | aaa=bbb | ccc=ddd | eee=fff || bar bart || goo good");
			jds = js.getJobDefinitions();
			assertEquals(3, jds.size());
			assertEquals("bar bart", jds.get(1).stringify(false));
		}
		else {
			checkForParseError("foo foo --name=value --x=y | aaa=bbb | ccc=ddd | eee=fff",
					JobDSLMessage.EXPECTED_FLOW_OR_SPLIT_CHARS, 4, "foo");
			checkForParseError("foo foo --name=value --x=y | aaa = bbb | ccc = ddd | eee = fff",
					JobDSLMessage.EXPECTED_FLOW_OR_SPLIT_CHARS, 4, "foo");
			checkForParseError("foo foo --name=value --x=y | aaa=bbb | ccc=ddd | eee=fff || bar bart || goo good",
					JobDSLMessage.EXPECTED_FLOW_OR_SPLIT_CHARS, 4, "foo");
		}
	}
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