203 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			203 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| --- %YAML:1.0
 | |
| test: Simple Sequence
 | |
| brief: |
 | |
|     You can specify a list in YAML by placing each
 | |
|     member of the list on a new line with an opening
 | |
|     dash. These lists are called sequences.
 | |
| yaml: |
 | |
|     - apple
 | |
|     - banana
 | |
|     - carrot
 | |
| php: |
 | |
|     array('apple', 'banana', 'carrot')
 | |
| ---
 | |
| test: Sequence With Item Being Null In The Middle
 | |
| brief: |
 | |
|     You can specify a list in YAML by placing each
 | |
|     member of the list on a new line with an opening
 | |
|     dash. These lists are called sequences.
 | |
| yaml: |
 | |
|     - apple
 | |
|     -
 | |
|     - carrot
 | |
| php: |
 | |
|     array('apple', null, 'carrot')
 | |
| ---
 | |
| test: Sequence With Last Item Being Null
 | |
| brief: |
 | |
|     You can specify a list in YAML by placing each
 | |
|     member of the list on a new line with an opening
 | |
|     dash. These lists are called sequences.
 | |
| yaml: |
 | |
|     - apple
 | |
|     - banana
 | |
|     -
 | |
| php: |
 | |
|     array('apple', 'banana', null)
 | |
| ---
 | |
| test: Nested Sequences
 | |
| brief: |
 | |
|     You can include a sequence within another
 | |
|     sequence by giving the sequence an empty
 | |
|     dash, followed by an indented list.
 | |
| yaml: |
 | |
|     -
 | |
|      - foo
 | |
|      - bar
 | |
|      - baz
 | |
| php: |
 | |
|     array(array('foo', 'bar', 'baz'))
 | |
| ---
 | |
| test: Mixed Sequences
 | |
| brief: |
 | |
|     Sequences can contain any YAML data,
 | |
|     including strings and other sequences.
 | |
| yaml: |
 | |
|     - apple
 | |
|     -
 | |
|      - foo
 | |
|      - bar
 | |
|      - x123
 | |
|     - banana
 | |
|     - carrot
 | |
| php: |
 | |
|     array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot')
 | |
| ---
 | |
| test: Deeply Nested Sequences
 | |
| brief: |
 | |
|     Sequences can be nested even deeper, with each
 | |
|     level of indentation representing a level of
 | |
|     depth.
 | |
| yaml: |
 | |
|     -
 | |
|      -
 | |
|       - uno
 | |
|       - dos
 | |
| php: |
 | |
|     array(array(array('uno', 'dos')))
 | |
| ---
 | |
| test: Simple Mapping
 | |
| brief: |
 | |
|     You can add a keyed list (also known as a dictionary or
 | |
|     hash) to your document by placing each member of the
 | |
|     list on a new line, with a colon separating the key
 | |
|     from its value.  In YAML, this type of list is called
 | |
|     a mapping.
 | |
| yaml: |
 | |
|     foo: whatever
 | |
|     bar: stuff
 | |
| php: |
 | |
|     array('foo' => 'whatever', 'bar' => 'stuff')
 | |
| ---
 | |
| test: Sequence in a Mapping
 | |
| brief: |
 | |
|     A value in a mapping can be a sequence.
 | |
| yaml: |
 | |
|     foo: whatever
 | |
|     bar:
 | |
|      - uno
 | |
|      - dos
 | |
| php: |
 | |
|     array('foo' => 'whatever', 'bar' => array('uno', 'dos'))
 | |
| ---
 | |
| test: Nested Mappings
 | |
| brief: |
 | |
|     A value in a mapping can be another mapping.
 | |
| yaml: |
 | |
|     foo: whatever
 | |
|     bar:
 | |
|      fruit: apple
 | |
|      name: steve
 | |
|      sport: baseball
 | |
| php: |
 | |
|     array(
 | |
|       'foo' => 'whatever',
 | |
|       'bar' => array(
 | |
|          'fruit' => 'apple',
 | |
|          'name' => 'steve',
 | |
|          'sport' => 'baseball'
 | |
|        )
 | |
|     )
 | |
| ---
 | |
| test: Mixed Mapping
 | |
| brief: |
 | |
|     A mapping can contain any assortment
 | |
|     of mappings and sequences as values.
 | |
| yaml: |
 | |
|     foo: whatever
 | |
|     bar:
 | |
|      -
 | |
|        fruit: apple
 | |
|        name: steve
 | |
|        sport: baseball
 | |
|      - more
 | |
|      -
 | |
|        python: rocks
 | |
|        perl: papers
 | |
|        ruby: scissorses
 | |
| php: |
 | |
|     array(
 | |
|       'foo' => 'whatever',
 | |
|       'bar' => array(
 | |
|         array(
 | |
|             'fruit' => 'apple',
 | |
|             'name' => 'steve',
 | |
|             'sport' => 'baseball'
 | |
|         ),
 | |
|         'more',
 | |
|         array(
 | |
|             'python' => 'rocks',
 | |
|             'perl' => 'papers',
 | |
|             'ruby' => 'scissorses'
 | |
|         )
 | |
|       )
 | |
|     )
 | |
| ---
 | |
| test: Mapping-in-Sequence Shortcut
 | |
| todo: true
 | |
| brief: |
 | |
|      If you are adding a mapping to a sequence, you
 | |
|      can place the mapping on the same line as the
 | |
|      dash as a shortcut.
 | |
| yaml: |
 | |
|      - work on YAML.py:
 | |
|         - work on Store
 | |
| php: |
 | |
|     array(array('work on YAML.py' => array('work on Store')))
 | |
| ---
 | |
| test: Sequence-in-Mapping Shortcut
 | |
| todo: true
 | |
| brief: |
 | |
|      The dash in a sequence counts as indentation, so
 | |
|      you can add a sequence inside of a mapping without
 | |
|      needing spaces as indentation.
 | |
| yaml: |
 | |
|      allow:
 | |
|      - 'localhost'
 | |
|      - '%.sourceforge.net'
 | |
|      - '%.freepan.org'
 | |
| php: |
 | |
|      array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org'))
 | |
| ---
 | |
| todo: true
 | |
| test: Merge key
 | |
| brief: |
 | |
|      A merge key ('<<') can be used in a mapping to insert other mappings.  If
 | |
|      the value associated with the merge key is a mapping, each of its key/value
 | |
|      pairs is inserted into the current mapping.
 | |
| yaml: |
 | |
|      mapping:
 | |
|        name: Joe
 | |
|        job: Accountant
 | |
|        <<:
 | |
|          age: 38
 | |
| php: |
 | |
|      array(
 | |
|        'mapping' =>
 | |
|        array(
 | |
|          'name' => 'Joe',
 | |
|          'job' => 'Accountant',
 | |
|          'age' => 38
 | |
|        )
 | |
|      )
 | 
