177 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| --- %YAML:1.0
 | |
| test: Single ending newline
 | |
| brief: >
 | |
|     A pipe character, followed by an indented
 | |
|     block of text is treated as a literal
 | |
|     block, in which newlines are preserved
 | |
|     throughout the block, including the final
 | |
|     newline.
 | |
| yaml: |
 | |
|     ---
 | |
|     this: |
 | |
|         Foo
 | |
|         Bar
 | |
| php: |
 | |
|     array('this' => "Foo\nBar\n")
 | |
| ---
 | |
| test: The '+' indicator
 | |
| brief: >
 | |
|     The '+' indicator says to keep newlines at the end of text
 | |
|     blocks.
 | |
| yaml: |
 | |
|     normal: |
 | |
|       extra new lines not kept
 | |
| 
 | |
|     preserving: |+
 | |
|       extra new lines are kept
 | |
| 
 | |
| 
 | |
|     dummy: value
 | |
| php: |
 | |
|     array(
 | |
|         'normal' => "extra new lines not kept\n",
 | |
|         'preserving' => "extra new lines are kept\n\n\n",
 | |
|         'dummy' => 'value'
 | |
|     )
 | |
| ---
 | |
| test: Three trailing newlines in literals
 | |
| brief: >
 | |
|     To give you more control over how space
 | |
|     is preserved in text blocks, YAML has
 | |
|     the keep '+' and chomp '-' indicators.
 | |
|     The keep indicator will preserve all
 | |
|     ending newlines, while the chomp indicator
 | |
|     will strip all ending newlines.
 | |
| yaml: |
 | |
|     clipped: |
 | |
|         This has one newline.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "clipped" above: "This has one newline.\n"
 | |
| 
 | |
|     stripped: |-
 | |
|         This has no newline.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "stripped" above: "This has no newline."
 | |
| 
 | |
|     kept: |+
 | |
|         This has four newlines.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "kept" above: "This has four newlines.\n\n\n\n"
 | |
| php: |
 | |
|     array(
 | |
|       'clipped' => "This has one newline.\n",
 | |
|       'same as "clipped" above' => "This has one newline.\n",
 | |
|       'stripped' => 'This has no newline.',
 | |
|       'same as "stripped" above' => 'This has no newline.',
 | |
|       'kept' => "This has four newlines.\n\n\n\n",
 | |
|       'same as "kept" above' => "This has four newlines.\n\n\n\n"
 | |
|     )
 | |
| ---
 | |
| test: Extra trailing newlines with spaces
 | |
| todo: true
 | |
| brief: >
 | |
|     Normally, only a single newline is kept
 | |
|     from the end of a literal block, unless the
 | |
|     keep '+' character is used in combination
 | |
|     with the pipe.  The following example
 | |
|     will preserve all ending whitespace
 | |
|     since the last line of both literal blocks
 | |
|     contains spaces which extend past the indentation
 | |
|     level.
 | |
| yaml: |
 | |
|     ---
 | |
|     this: |
 | |
|         Foo
 | |
| 
 | |
| 
 | |
|     kept: |+
 | |
|         Foo
 | |
| 
 | |
| 
 | |
| php: |
 | |
|     array('this' => "Foo\n\n  \n",
 | |
|       'kept' => "Foo\n\n  \n" )
 | |
| 
 | |
| ---
 | |
| test: Folded Block in a Sequence
 | |
| brief: >
 | |
|     A greater-then character, followed by an indented
 | |
|     block of text is treated as a folded block, in
 | |
|     which lines of text separated by a single newline
 | |
|     are concatenated as a single line.
 | |
| yaml: |
 | |
|     ---
 | |
|     - apple
 | |
|     - banana
 | |
|     - >
 | |
|         can't you see
 | |
|         the beauty of yaml?
 | |
|         hmm
 | |
|     - dog
 | |
| php: |
 | |
|     array(
 | |
|         'apple',
 | |
|         'banana',
 | |
|         "can't you see the beauty of yaml? hmm\n",
 | |
|         'dog'
 | |
|     )
 | |
| ---
 | |
| test: Folded Block as a Mapping Value
 | |
| brief: >
 | |
|     Both literal and folded blocks can be
 | |
|     used in collections, as values in a
 | |
|     sequence or a mapping.
 | |
| yaml: |
 | |
|     ---
 | |
|     quote: >
 | |
|         Mark McGwire's
 | |
|         year was crippled
 | |
|         by a knee injury.
 | |
|     source: espn
 | |
| php: |
 | |
|     array(
 | |
|         'quote' => "Mark McGwire's year was crippled by a knee injury.\n",
 | |
|         'source' => 'espn'
 | |
|     )
 | |
| ---
 | |
| test: Three trailing newlines in folded blocks
 | |
| brief: >
 | |
|     The keep and chomp indicators can also
 | |
|     be applied to folded blocks.
 | |
| yaml: |
 | |
|     clipped: >
 | |
|         This has one newline.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "clipped" above: "This has one newline.\n"
 | |
| 
 | |
|     stripped: >-
 | |
|         This has no newline.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "stripped" above: "This has no newline."
 | |
| 
 | |
|     kept: >+
 | |
|         This has four newlines.
 | |
| 
 | |
| 
 | |
| 
 | |
|     same as "kept" above: "This has four newlines.\n\n\n\n"
 | |
| php: |
 | |
|     array(
 | |
|       'clipped' => "This has one newline.\n",
 | |
|       'same as "clipped" above' => "This has one newline.\n",
 | |
|       'stripped' => 'This has no newline.',
 | |
|       'same as "stripped" above' => 'This has no newline.',
 | |
|       'kept' => "This has four newlines.\n\n\n\n",
 | |
|       'same as "kept" above' => "This has four newlines.\n\n\n\n"
 | |
|     )
 | 
