class Stream {
public:
/// \brief This keeps a reference to the string referenced by \p Input.
- Stream(StringRef Input, SourceMgr &);
+ Stream(StringRef Input, SourceMgr &, bool ShowColors = true);
- Stream(MemoryBufferRef InputBuffer, SourceMgr &);
+ Stream(MemoryBufferRef InputBuffer, SourceMgr &, bool ShowColors = true);
~Stream();
document_iterator begin();
/// @brief Scans YAML tokens from a MemoryBuffer.
class Scanner {
public:
- Scanner(StringRef Input, SourceMgr &SM);
- Scanner(MemoryBufferRef Buffer, SourceMgr &SM_);
+ Scanner(StringRef Input, SourceMgr &SM, bool ShowColors = true);
+ Scanner(MemoryBufferRef Buffer, SourceMgr &SM_, bool ShowColors = true);
/// @brief Parse the next token and return it without popping it.
Token &peekNext();
void printError(SMLoc Loc, SourceMgr::DiagKind Kind, const Twine &Message,
ArrayRef<SMRange> Ranges = None) {
- SM.PrintMessage(Loc, Kind, Message, Ranges);
+ SM.PrintMessage(Loc, Kind, Message, Ranges, /* FixIts= */ None, ShowColors);
}
void setError(const Twine &Message, StringRef::iterator Position) {
/// @brief True if an error has occurred.
bool Failed;
+ /// @brief Should colors be used when printing out the diagnostic messages?
+ bool ShowColors;
+
/// @brief Queue of tokens. This is required to queue up tokens while looking
/// for the end of a simple key. And for cases where a single character
/// can produce multiple tokens (e.g. BlockEnd).
return EscapedInput;
}
-Scanner::Scanner(StringRef Input, SourceMgr &sm) : SM(sm) {
+Scanner::Scanner(StringRef Input, SourceMgr &sm, bool ShowColors)
+ : SM(sm), ShowColors(ShowColors) {
init(MemoryBufferRef(Input, "YAML"));
}
-Scanner::Scanner(MemoryBufferRef Buffer, SourceMgr &SM_) : SM(SM_) {
+Scanner::Scanner(MemoryBufferRef Buffer, SourceMgr &SM_, bool ShowColors)
+ : SM(SM_), ShowColors(ShowColors) {
init(Buffer);
}
return false;
}
-Stream::Stream(StringRef Input, SourceMgr &SM)
- : scanner(new Scanner(Input, SM)), CurrentDoc() {}
+Stream::Stream(StringRef Input, SourceMgr &SM, bool ShowColors)
+ : scanner(new Scanner(Input, SM, ShowColors)), CurrentDoc() {}
-Stream::Stream(MemoryBufferRef InputBuffer, SourceMgr &SM)
- : scanner(new Scanner(InputBuffer, SM)), CurrentDoc() {}
+Stream::Stream(MemoryBufferRef InputBuffer, SourceMgr &SM, bool ShowColors)
+ : scanner(new Scanner(InputBuffer, SM, ShowColors)), CurrentDoc() {}
Stream::~Stream() {}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- yes
-- NO
-- True
-- on
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- yes
+- NO
+- True
+- on
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: yes
-answer: NO
-logical: True
-option: on
-
-
-but:
- y: is a string
- n: is a string
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: yes
+answer: NO
+logical: True
+option: on
+
+
+but:
+ y: is a string
+ n: is a string
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-- !tag1
- x: 1
-- !tag1
- x: 1
- 'y': 2
- z: 3
-- !tag2
- 10
-- !tag2
- =: 10
- 'y': 20
- z: 30
-- !tag3
- x: 1
-- !tag3
- x: 1
- 'y': 2
- z: 3
-- !tag3
- =: 1
- 'y': 2
- z: 3
-- !foo
- my-parameter: foo
- my-another-parameter: [1,2,3]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+- !tag1
+ x: 1
+- !tag1
+ x: 1
+ 'y': 2
+ z: 3
+- !tag2
+ 10
+- !tag2
+ =: 10
+ 'y': 20
+ z: 30
+- !tag3
+ x: 1
+- !tag3
+ x: 1
+ 'y': 2
+ z: 3
+- !tag3
+ =: 1
+ 'y': 2
+ z: 3
+- !foo
+ my-parameter: foo
+ my-another-parameter: [1,2,3]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 6.8523015e+5
-exponential: 685.230_15e+03
-fixed: 685_230.15
-sexagesimal: 190:20:30.15
-negative infinity: -.inf
-not a number: .NaN
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 6.8523015e+5
+exponential: 685.230_15e+03
+fixed: 685_230.15
+sexagesimal: 190:20:30.15
+negative infinity: -.inf
+not a number: .NaN
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 685230
-decimal: +685_230
-octal: 02472256
-hexadecimal: 0x_0A_74_AE
-binary: 0b1010_0111_0100_1010_1110
-sexagesimal: 190:20:30
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 685230
+decimal: +685_230
+octal: 02472256
+hexadecimal: 0x_0A_74_AE
+binary: 0b1010_0111_0100_1010_1110
+sexagesimal: 190:20:30
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Unordered set of key: value pairs.
-Block style: !!map
- Clark : Evans
- Brian : Ingerson
- Oren : Ben-Kiki
-Flow style: !!map { Clark: Evans, Brian: Ingerson, Oren: Ben-Kiki }
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Unordered set of key: value pairs.
+Block style: !!map
+ Clark : Evans
+ Brian : Ingerson
+ Oren : Ben-Kiki
+Flow style: !!map { Clark: Evans, Brian: Ingerson, Oren: Ben-Kiki }
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-- &CENTER { x: 1, 'y': 2 }
-- &LEFT { x: 0, 'y': 2 }
-- &BIG { r: 10 }
-- &SMALL { r: 1 }
-
-# All the following maps are equal:
-
-- # Explicit keys
- x: 1
- 'y': 2
- r: 10
- label: center/big
-
-- # Merge one map
- << : *CENTER
- r: 10
- label: center/big
-
-- # Merge multiple maps
- << : [ *CENTER, *BIG ]
- label: center/big
-
-- # Override
- << : [ *BIG, *LEFT, *SMALL ]
- x: 1
- label: center/big
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+- &CENTER { x: 1, 'y': 2 }
+- &LEFT { x: 0, 'y': 2 }
+- &BIG { r: 10 }
+- &SMALL { r: 1 }
+
+# All the following maps are equal:
+
+- # Explicit keys
+ x: 1
+ 'y': 2
+ r: 10
+ label: center/big
+
+- # Merge one map
+ << : *CENTER
+ r: 10
+ label: center/big
+
+- # Merge multiple maps
+ << : [ *CENTER, *BIG ]
+ label: center/big
+
+- # Override
+ << : [ *BIG, *LEFT, *SMALL ]
+ x: 1
+ label: center/big
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# A document may be null.
----
----
-# This mapping has four keys,
-# one has a value.
-empty:
-canonical: ~
-english: null
-~: null key
----
-# This sequence has five
-# entries, two have values.
-sparse:
- - ~
- - 2nd entry
- -
- - 4th entry
- - Null
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# A document may be null.
+---
+---
+# This mapping has four keys,
+# one has a value.
+empty:
+canonical: ~
+english: null
+~: null key
+---
+# This sequence has five
+# entries, two have values.
+sparse:
+ - ~
+ - 2nd entry
+ -
+ - 4th entry
+ - Null
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Explicitly typed ordered map (dictionary).
-Bestiary: !!omap
- - aardvark: African pig-like ant eater. Ugly.
- - anteater: South-American ant eater. Two species.
- - anaconda: South-American constrictor snake. Scaly.
- # Etc.
-# Flow style
-Numbers: !!omap [ one: 1, two: 2, three : 3 ]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Explicitly typed ordered map (dictionary).
+Bestiary: !!omap
+ - aardvark: African pig-like ant eater. Ugly.
+ - anteater: South-American ant eater. Two species.
+ - anaconda: South-American constrictor snake. Scaly.
+ # Etc.
+# Flow style
+Numbers: !!omap [ one: 1, two: 2, three : 3 ]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Explicitly typed pairs.
-Block tasks: !!pairs
- - meeting: with team.
- - meeting: with boss.
- - break: lunch.
- - meeting: with client.
-Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Explicitly typed pairs.
+Block tasks: !!pairs
+ - meeting: with team.
+ - meeting: with boss.
+ - break: lunch.
+ - meeting: with client.
+Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Ordered sequence of nodes
-Block style: !!seq
-- Mercury # Rotates - no light/dark sides.
-- Venus # Deadliest. Aptly named.
-- Earth # Mostly dirt.
-- Mars # Seems empty.
-- Jupiter # The king.
-- Saturn # Pretty.
-- Uranus # Where the sun hardly shines.
-- Neptune # Boring. No rings.
-- Pluto # You call this a planet?
-Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks
- Jupiter, Saturn, Uranus, Neptune, # Gas
- Pluto ] # Overrated
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Ordered sequence of nodes
+Block style: !!seq
+- Mercury # Rotates - no light/dark sides.
+- Venus # Deadliest. Aptly named.
+- Earth # Mostly dirt.
+- Mars # Seems empty.
+- Jupiter # The king.
+- Saturn # Pretty.
+- Uranus # Where the sun hardly shines.
+- Neptune # Boring. No rings.
+- Pluto # You call this a planet?
+Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks
+ Jupiter, Saturn, Uranus, Neptune, # Gas
+ Pluto ] # Overrated
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Explicitly typed set.
-baseball players: !!set
- ? Mark McGwire
- ? Sammy Sosa
- ? Ken Griffey
-# Flow style
-baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Explicitly typed set.
+baseball players: !!set
+ ? Mark McGwire
+ ? Sammy Sosa
+ ? Ken Griffey
+# Flow style
+baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
---- !!str "ascii string"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+--- !!str "ascii string"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-string: abcd
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+string: abcd
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 2001-12-15T02:59:43.1Z
-valid iso8601: 2001-12-14t21:59:43.10-05:00
-space separated: 2001-12-14 21:59:43.10 -5
-no time zone (Z): 2001-12-15 2:59:43.10
-date (00:00:00Z): 2002-12-14
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 2001-12-15T02:59:43.1Z
+valid iso8601: 2001-12-14t21:59:43.10-05:00
+space separated: 2001-12-14 21:59:43.10 -5
+no time zone (Z): 2001-12-15 2:59:43.10
+date (00:00:00Z): 2002-12-14
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
---- # Old schema
-link with:
- - library1.dll
- - library2.dll
---- # New schema
-link with:
- - = : library1.dll
- version: 1.2
- - = : library2.dll
- version: 2.3
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+--- # Old schema
+link with:
+ - library1.dll
+ - library2.dll
+--- # New schema
+link with:
+ - = : library1.dll
+ version: 1.2
+ - = : library2.dll
+ version: 2.3
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-foo: bar
-foo: baz
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+foo: bar
+foo: baz
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-&anchor foo:
- foo: bar
- *anchor: duplicate key
- baz: bat
- *anchor: duplicate key
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+&anchor foo:
+ foo: bar
+ *anchor: duplicate key
+ baz: bat
+ *anchor: duplicate key
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-<<: {x: 1, y: 2}
-foo: bar
-<<: {z: 3, t: 4}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+<<: {x: 1, y: 2}
+foo: bar
+<<: {z: 3, t: 4}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-=: 1
-foo: bar
-=: 2
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+=: 1
+foo: bar
+=: 2
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-? |-
- foo
-: |-
- bar
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+? |-
+ foo
+: |-
+ bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- 6.8523015e+5
-- 685.230_15e+03
-- 685_230.15
-- 190:20:30.15
-- -.inf
-- .NaN
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- 6.8523015e+5
+- 685.230_15e+03
+- 685_230.15
+- 190:20:30.15
+- -.inf
+- .NaN
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- 685230
-- +685_230
-- 02472256
-- 0x_0A_74_AE
-- 0b1010_0111_0100_1010_1110
-- 190:20:30
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- 685230
+- +685_230
+- 02472256
+- 0x_0A_74_AE
+- 0b1010_0111_0100_1010_1110
+- 190:20:30
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- "foo 'bar'"
-- "foo\n'bar'"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- "foo 'bar'"
+- "foo\n'bar'"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- <<
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- <<
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-[0.0, +1.0, -1.0, +.inf, -.inf, .nan, .nan]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+[0.0, +1.0, -1.0, +.inf, -.inf, .nan, .nan]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
--1.0
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+-1.0
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
--
-- ~
-- null
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+-
+- ~
+- null
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-"this scalar should be selected"
----
-key11: !foo
- key12:
- is: [selected]
- key22:
- key13: [not, selected]
- key23: [not, selected]
- key32:
- key31: [not, selected]
- key32: [not, selected]
- key33: {not: selected}
-key21: !bar
- - not selected
- - selected
- - not selected
-key31: !baz
- key12:
- key13:
- key14: {selected}
- key23:
- key14: [not, selected]
- key33:
- key14: {selected}
- key24: {not: selected}
- key22:
- - key14: {selected}
- key24: {not: selected}
- - key14: {selected}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+"this scalar should be selected"
+---
+key11: !foo
+ key12:
+ is: [selected]
+ key22:
+ key13: [not, selected]
+ key23: [not, selected]
+ key32:
+ key31: [not, selected]
+ key32: [not, selected]
+ key33: {not: selected}
+key21: !bar
+ - not selected
+ - selected
+ - not selected
+key31: !baz
+ key12:
+ key13:
+ key14: {selected}
+ key23:
+ key14: [not, selected]
+ key33:
+ key14: {selected}
+ key24: {not: selected}
+ key22:
+ - key14: {selected}
+ key24: {not: selected}
+ - key14: {selected}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-- Harry Potter and the Prisoner of Azkaban
-- Harry Potter and the Goblet of Fire
-- Harry Potter and the Order of the Phoenix
----
-- Memoirs Found in a Bathtub
-- Snow Crash
-- Ghost World
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+- Harry Potter and the Prisoner of Azkaban
+- Harry Potter and the Goblet of Fire
+- Harry Potter and the Order of the Phoenix
+---
+- Memoirs Found in a Bathtub
+- Snow Crash
+- Ghost World
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Ticket #4
----
-...
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Ticket #4
+---
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-foo:
- bar
- baz
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+foo:
+ bar
+ baz
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-in the block context:
- indentation should be kept: {
- but in the flow context: [
-it may be violated]
-}
----
-the parser does not require scalars
-to be indented with at least one space
-...
----
-"the parser does not require scalars
-to be indented with at least one space"
----
-foo:
- bar: 'quoted scalars
-may not adhere indentation'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+in the block context:
+ indentation should be kept: {
+ but in the flow context: [
+it may be violated]
+}
+---
+the parser does not require scalars
+to be indented with at least one space
+...
+---
+"the parser does not require scalars
+to be indented with at least one space"
+---
+foo:
+ bar: 'quoted scalars
+may not adhere indentation'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- Mark McGwire
-- Sammy Sosa
-- Ken Griffey
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- Mark McGwire
+- Sammy Sosa
+- Ken Griffey
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-hr: 65 # Home runs
-avg: 0.278 # Batting average
-rbi: 147 # Runs Batted In
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+hr: 65 # Home runs
+avg: 0.278 # Batting average
+rbi: 147 # Runs Batted In
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-american:
- - Boston Red Sox
- - Detroit Tigers
- - New York Yankees
-national:
- - New York Mets
- - Chicago Cubs
- - Atlanta Braves
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+american:
+ - Boston Red Sox
+ - Detroit Tigers
+ - New York Yankees
+national:
+ - New York Mets
+ - Chicago Cubs
+ - Atlanta Braves
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
--
- name: Mark McGwire
- hr: 65
- avg: 0.278
--
- name: Sammy Sosa
- hr: 63
- avg: 0.288
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+-
+ name: Mark McGwire
+ hr: 65
+ avg: 0.278
+-
+ name: Sammy Sosa
+ hr: 63
+ avg: 0.288
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- [name , hr, avg ]
-- [Mark McGwire, 65, 0.278]
-- [Sammy Sosa , 63, 0.288]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- [name , hr, avg ]
+- [Mark McGwire, 65, 0.278]
+- [Sammy Sosa , 63, 0.288]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-Mark McGwire: {hr: 65, avg: 0.278}
-Sammy Sosa: {
- hr: 63,
- avg: 0.288
- }
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+Mark McGwire: {hr: 65, avg: 0.278}
+Sammy Sosa: {
+ hr: 63,
+ avg: 0.288
+ }
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Ranking of 1998 home runs
----
-- Mark McGwire
-- Sammy Sosa
-- Ken Griffey
-
-# Team ranking
----
-- Chicago Cubs
-- St Louis Cardinals
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Ranking of 1998 home runs
+---
+- Mark McGwire
+- Sammy Sosa
+- Ken Griffey
+
+# Team ranking
+---
+- Chicago Cubs
+- St Louis Cardinals
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-time: 20:03:20
-player: Sammy Sosa
-action: strike (miss)
-...
----
-time: 20:03:47
-player: Sammy Sosa
-action: grand slam
-...
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+time: 20:03:20
+player: Sammy Sosa
+action: strike (miss)
+...
+---
+time: 20:03:47
+player: Sammy Sosa
+action: grand slam
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-hr: # 1998 hr ranking
- - Mark McGwire
- - Sammy Sosa
-rbi:
- # 1998 rbi ranking
- - Sammy Sosa
- - Ken Griffey
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+hr: # 1998 hr ranking
+ - Mark McGwire
+ - Sammy Sosa
+rbi:
+ # 1998 rbi ranking
+ - Sammy Sosa
+ - Ken Griffey
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-hr:
- - Mark McGwire
- # Following node labeled SS
- - &SS Sammy Sosa
-rbi:
- - *SS # Subsequent occurrence
- - Ken Griffey
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+hr:
+ - Mark McGwire
+ # Following node labeled SS
+ - &SS Sammy Sosa
+rbi:
+ - *SS # Subsequent occurrence
+ - Ken Griffey
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-? - Detroit Tigers
- - Chicago cubs
-:
- - 2001-07-23
-
-? [ New York Yankees,
- Atlanta Braves ]
-: [ 2001-07-02, 2001-08-12,
- 2001-08-14 ]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+? - Detroit Tigers
+ - Chicago cubs
+:
+ - 2001-07-23
+
+? [ New York Yankees,
+ Atlanta Braves ]
+: [ 2001-07-02, 2001-08-12,
+ 2001-08-14 ]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-# products purchased
-- item : Super Hoop
- quantity: 1
-- item : Basketball
- quantity: 4
-- item : Big Shoes
- quantity: 1
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+# products purchased
+- item : Super Hoop
+ quantity: 1
+- item : Basketball
+ quantity: 4
+- item : Big Shoes
+ quantity: 1
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# ASCII Art
---- |
- \//||\/||
- // || ||__
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# ASCII Art
+--- |
+ \//||\/||
+ // || ||__
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
- Mark McGwire's
- year was crippled
- by a knee injury.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+ Mark McGwire's
+ year was crippled
+ by a knee injury.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->
- Sammy Sosa completed another
- fine season with great stats.
-
- 63 Home Runs
- 0.288 Batting Average
-
- What a year!
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>
+ Sammy Sosa completed another
+ fine season with great stats.
+
+ 63 Home Runs
+ 0.288 Batting Average
+
+ What a year!
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-name: Mark McGwire
-accomplishment: >
- Mark set a major league
- home run record in 1998.
-stats: |
- 65 Home Runs
- 0.278 Batting Average
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+name: Mark McGwire
+accomplishment: >
+ Mark set a major league
+ home run record in 1998.
+stats: |
+ 65 Home Runs
+ 0.278 Batting Average
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-unicode: "Sosa did fine.\u263A"
-control: "\b1998\t1999\t2000\n"
-hexesc: "\x13\x10 is \r\n"
-
-single: '"Howdy!" he cried.'
-quoted: ' # not a ''comment''.'
-tie-fighter: '|\-*-/|'
-
-# CHECK: !!str "Sosa did fine.\u263A"
-# CHECK: !!str "\b1998\t1999\t2000\n"
-# CHECK: !!str "\x13\x10 is \r\n"
-# CHECK: !!str "\"Howdy!\" he cried."
-# CHECK: !!str " # not a 'comment'."
-# CHECK: !!str "|\\-*-/|"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+unicode: "Sosa did fine.\u263A"
+control: "\b1998\t1999\t2000\n"
+hexesc: "\x13\x10 is \r\n"
+
+single: '"Howdy!" he cried.'
+quoted: ' # not a ''comment''.'
+tie-fighter: '|\-*-/|'
+
+# CHECK: !!str "Sosa did fine.\u263A"
+# CHECK: !!str "\b1998\t1999\t2000\n"
+# CHECK: !!str "\x13\x10 is \r\n"
+# CHECK: !!str "\"Howdy!\" he cried."
+# CHECK: !!str " # not a 'comment'."
+# CHECK: !!str "|\\-*-/|"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-plain:
- This unquoted scalar
- spans many lines.
-
-quoted: "So does this
- quoted scalar.\n"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+plain:
+ This unquoted scalar
+ spans many lines.
+
+quoted: "So does this
+ quoted scalar.\n"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 12345
-decimal: +12,345
-sexagesimal: 3:25:45
-octal: 014
-hexadecimal: 0xC
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 12345
+decimal: +12,345
+sexagesimal: 3:25:45
+octal: 014
+hexadecimal: 0xC
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 1.23015e+3
-exponential: 12.3015e+02
-sexagesimal: 20:30.15
-fixed: 1,230.15
-negative infinity: -.inf
-not a number: .NaN
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 1.23015e+3
+exponential: 12.3015e+02
+sexagesimal: 20:30.15
+fixed: 1,230.15
+negative infinity: -.inf
+not a number: .NaN
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-null: ~
-true: y
-false: n
-string: '12345'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+null: ~
+true: y
+false: n
+string: '12345'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-canonical: 2001-12-15T02:59:43.1Z
-iso8601: 2001-12-14t21:59:43.10-05:00
-spaced: 2001-12-14 21:59:43.10 -5
-date: 2002-12-14
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+canonical: 2001-12-15T02:59:43.1Z
+iso8601: 2001-12-14t21:59:43.10-05:00
+spaced: 2001-12-14 21:59:43.10 -5
+date: 2002-12-14
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-not-date: !!str 2002-04-28
-
-picture: !!binary |
- R0lGODlhDAAMAIQAAP//9/X
- 17unp5WZmZgAAAOfn515eXv
- Pz7Y6OjuDg4J+fn5OTk6enp
- 56enmleECcgggoBADs=
-
-application specific tag: !something |
- The semantics of the tag
- above may be different for
- different documents.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+not-date: !!str 2002-04-28
+
+picture: !!binary |
+ R0lGODlhDAAMAIQAAP//9/X
+ 17unp5WZmZgAAAOfn515eXv
+ Pz7Y6OjuDg4J+fn5OTk6enp
+ 56enmleECcgggoBADs=
+
+application specific tag: !something |
+ The semantics of the tag
+ above may be different for
+ different documents.
+++ /dev/null
-# RUN: yaml-bench -canonical %s | FileCheck %s
-
-%TAG ! tag:clarkevans.com,2002:
---- !shape
- # Use the ! handle for presenting
- # tag:clarkevans.com,2002:circle
-- !circle
- center: &ORIGIN {x: 73, y: 129}
- radius: 7
-- !line
- start: *ORIGIN
- finish: { x: 89, y: 102 }
-- !label
- start: *ORIGIN
- color: 0xFFEEBB
- text: Pretty vector drawing.
-
-#CHECK: !<tag:clarkevans.com,2002:shape>
-#CHECK: !<tag:clarkevans.com,2002:circle>
-#CHECK: !<tag:clarkevans.com,2002:line>
-#CHECK: !<tag:clarkevans.com,2002:label>
--- /dev/null
+# RUN: yaml-bench -canonical %s | FileCheck %s
+
+%TAG ! tag:clarkevans.com,2002:
+--- !shape
+ # Use the ! handle for presenting
+ # tag:clarkevans.com,2002:circle
+- !circle
+ center: &ORIGIN {x: 73, y: 129}
+ radius: 7
+- !line
+ start: *ORIGIN
+ finish: { x: 89, y: 102 }
+- !label
+ start: *ORIGIN
+ color: 0xFFEEBB
+ text: Pretty vector drawing.
+
+#CHECK: !<tag:clarkevans.com,2002:shape>
+#CHECK: !<tag:clarkevans.com,2002:circle>
+#CHECK: !<tag:clarkevans.com,2002:line>
+#CHECK: !<tag:clarkevans.com,2002:label>
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# sets are represented as a
-# mapping where each key is
-# associated with the empty string
---- !!set
-? Mark McGwire
-? Sammy Sosa
-? Ken Griff
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# sets are represented as a
+# mapping where each key is
+# associated with the empty string
+--- !!set
+? Mark McGwire
+? Sammy Sosa
+? Ken Griff
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# ordered maps are represented as
-# a sequence of mappings, with
-# each mapping having one key
---- !!omap
-- Mark McGwire: 65
-- Sammy Sosa: 63
-- Ken Griffy: 58
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# ordered maps are represented as
+# a sequence of mappings, with
+# each mapping having one key
+--- !!omap
+- Mark McGwire: 65
+- Sammy Sosa: 63
+- Ken Griffy: 58
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
---- !<tag:clarkevans.com,2002:invoice>
-invoice: 34843
-date : 2001-01-23
-bill-to: &id001
- given : Chris
- family : Dumars
- address:
- lines: |
- 458 Walkman Dr.
- Suite #292
- city : Royal Oak
- state : MI
- postal : 48046
-ship-to: *id001
-product:
- - sku : BL394D
- quantity : 4
- description : Basketball
- price : 450.00
- - sku : BL4438H
- quantity : 1
- description : Super Hoop
- price : 2392.00
-tax : 251.42
-total: 4443.52
-comments:
- Late afternoon is best.
- Backup contact is Nancy
- Billsmer @ 338-4338.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+--- !<tag:clarkevans.com,2002:invoice>
+invoice: 34843
+date : 2001-01-23
+bill-to: &id001
+ given : Chris
+ family : Dumars
+ address:
+ lines: |
+ 458 Walkman Dr.
+ Suite #292
+ city : Royal Oak
+ state : MI
+ postal : 48046
+ship-to: *id001
+product:
+ - sku : BL394D
+ quantity : 4
+ description : Basketball
+ price : 450.00
+ - sku : BL4438H
+ quantity : 1
+ description : Super Hoop
+ price : 2392.00
+tax : 251.42
+total: 4443.52
+comments:
+ Late afternoon is best.
+ Backup contact is Nancy
+ Billsmer @ 338-4338.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-Time: 2001-11-23 15:01:42 -5
-User: ed
-Warning:
- This is an error message
- for the log file
----
-Time: 2001-11-23 15:02:31 -5
-User: ed
-Warning:
- A slightly different error
- message.
----
-Date: 2001-11-23 15:03:17 -5
-User: ed
-Fatal:
- Unknown variable "bar"
-Stack:
- - file: TopClass.py
- line: 23
- code: |
- x = MoreObject("345\n")
- - file: MoreClass.py
- line: 58
- code: |-
- foo = bar
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+Time: 2001-11-23 15:01:42 -5
+User: ed
+Warning:
+ This is an error message
+ for the log file
+---
+Time: 2001-11-23 15:02:31 -5
+User: ed
+Warning:
+ A slightly different error
+ message.
+---
+Date: 2001-11-23 15:03:17 -5
+User: ed
+Fatal:
+ Unknown variable "bar"
+Stack:
+ - file: TopClass.py
+ line: 23
+ code: |
+ x = MoreObject("345\n")
+ - file: MoreClass.py
+ line: 58
+ code: |-
+ foo = bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Comment only.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Comment only.
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-
-# Invalid use of BOM
-# inside a
-# document.
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+# Invalid use of BOM
+# inside a
+# document.
+
+# CHECK: error
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-sequence:
-- one
-- two
-mapping:
- ? sky
- : blue
- ? sea : green
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+sequence:
+- one
+- two
+mapping:
+ ? sky
+ : blue
+ ? sea : green
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-sequence: [ one, two, ]
-mapping: { sky: blue, sea: green }
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+sequence: [ one, two, ]
+mapping: { sky: blue, sea: green }
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Comment only.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Comment only.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-anchored: !local &anchor value
-alias: *anchor
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+anchored: !local &anchor value
+alias: *anchor
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-literal: |
- text
-folded: >
- text
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+literal: |
+ text
+folded: >
+ text
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-single: 'text'
-double: "text"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+single: 'text'
+double: "text"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-%YAML 1.1
---- text
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+%YAML 1.1
+--- text
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-
-commercial-at: @text
-grave-accent: `text
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+commercial-at: @text
+grave-accent: `text
+
+# CHECK: error
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-|
- Generic line break (no glyph)
- Generic line break (glyphed)\85 Line separator
Paragraph separator
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+|
+ Generic line break (no glyph)
+ Generic line break (glyphed)\85 Line separator
Paragraph separator
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# We don't currently reject tabs as indentation.
-# XFAIL: *
-
-# Tabs do's and don'ts:
-# comment:
-quoted: "Quoted "
-block: |
- void main() {
- printf("Hello, world!\n");
- }
-elsewhere: # separation
- indentation, in plain scalar
-
-# CHECK: error
--- /dev/null
+# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# FIXME: This test should actually fail. Yaml-bench should report an error
+# that a tab is being used to indent a plain scalar at line 15.
+# We don't currently reject tabs as indentation.
+
+# Tabs do's and don'ts:
+# comment:
+quoted: "Quoted "
+block: |
+ void main() {
+ printf("Hello, world!\n");
+ }
+elsewhere: # separation
+ indentation, in plain scalar
+
+
+# CHECK: !!str "Quoted\t\t"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- "Text containing
- both space and
- tab characters"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ "Text containing
+ both space and
+ tab characters"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-"Fun with \\
-\" \a \b \e \f \
-\n \r \t \v \0 \
-\ \_ \N \L \P \
-\x41 \u0041 \U00000041"
-
-# CHECK: !!str "Fun with \\\n\" \a \b \e \f \n \r \t \v \0 \_ \N \L \P A A A"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+"Fun with \\
+\" \a \b \e \f \
+\n \r \t \v \0 \
+\ \_ \N \L \P \
+\x41 \u0041 \U00000041"
+
+# CHECK: !!str "Fun with \\\n\" \a \b \e \f \n \r \t \v \0 \_ \N \L \P A A A"
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-
-Bad escapes:
- "\c
- \xq-"
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+Bad escapes:
+ "\c
+ \xq-"
+
+# CHECK: error
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- # Leading comment line spaces are
- # neither content nor indentation.
-
-Not indented:
- By one space: |
- By four
- spaces
- Flow style: [ # Leading spaces
- By two, # in flow style
- Also by two, # are neither
-# Tabs are not allowed:
-# Still by two # content nor
- Still by two # content nor
- ] # indentation.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ # Leading comment line spaces are
+ # neither content nor indentation.
+
+Not indented:
+ By one space: |
+ By four
+ spaces
+ Flow style: [ # Leading spaces
+ By two, # in flow style
+ Also by two, # are neither
+# Tabs are not allowed:
+# Still by two # content nor
+ Still by two # content nor
+ ] # indentation.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- # Comment
-
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ # Comment
+
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-key: # Comment
- value
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+key: # Comment
+ value
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-key: # Comment
- # lines
- value
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+key: # Comment
+ # lines
+ value
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-{ first: Sammy, last: Sosa }:
-# Statistics:
- hr: # Home runs
- 65
- avg: # Average
- 0.278
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+{ first: Sammy, last: Sosa }:
+# Statistics:
+ hr: # Home runs
+ 65
+ avg: # Average
+ 0.278
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-plain: text
- lines
-quoted: "text
- lines"
-block: |
- text
- lines
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+plain: text
+ lines
+quoted: "text
+ lines"
+block: |
+ text
+ lines
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- foo
-
- bar
-- |-
- foo
-
- bar
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- foo
+
+ bar
+- |-
+ foo
+
+ bar
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->-
- specific
trimmed\85 \85 \85\85 as\85 space
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>-
+ specific
trimmed\85 \85 \85\85 as\85 space
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-%FOO bar baz # Should be ignored
- # with a warning.
---- "foo"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+%FOO bar baz # Should be ignored
+ # with a warning.
+--- "foo"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-%YAML 1.2 # Attempt parsing
- # with a warning
----
-"foo"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+%YAML 1.2 # Attempt parsing
+ # with a warning
+---
+"foo"
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-
-%YAML 1.1
-%YAML 1.1
-foo
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+%YAML 1.1
+%YAML 1.1
+foo
+
+# CHECK: error
+++ /dev/null
-# RUN: yaml-bench -canonical %s | FileCheck %s
-
-%TAG !yaml! tag:yaml.org,2002:
----
-!yaml!str "foo"
-
-#CHECK: !!str "foo"
--- /dev/null
+# RUN: yaml-bench -canonical %s | FileCheck %s
+
+%TAG !yaml! tag:yaml.org,2002:
+---
+!yaml!str "foo"
+
+#CHECK: !!str "foo"
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# We don't currently parse TAG directives.
-# XFAIL: *
-
-%TAG ! !foo
-%TAG ! !foo
-bar
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# We don't currently parse TAG directives.
+# CHECK: error: Unexpected token
+
+%TAG ! !foo
+%TAG ! !foo
+bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-%TAG ! !foo
-%TAG !yaml! tag:yaml.org,2002:
----
-- !bar "baz"
-- !yaml!str "string"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+%TAG ! !foo
+%TAG !yaml! tag:yaml.org,2002:
+---
+- !bar "baz"
+- !yaml!str "string"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Private application:
-!foo "bar"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Private application:
+!foo "bar"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Migrated to global:
-%TAG ! tag:ben-kiki.org,2000:app/
----
-!foo "bar"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Migrated to global:
+%TAG ! tag:ben-kiki.org,2000:app/
+---
+!foo "bar"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Explicitly specify default settings:
-%TAG ! !
-%TAG !! tag:yaml.org,2002:
-# Named handles have no default:
-%TAG !o! tag:ben-kiki.org,2000:
----
-- !foo "bar"
-- !!str "string"
-- !o!type "baz"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Explicitly specify default settings:
+%TAG ! !
+%TAG !! tag:yaml.org,2002:
+# Named handles have no default:
+%TAG !o! tag:ben-kiki.org,2000:
+---
+- !foo "bar"
+- !!str "string"
+- !o!type "baz"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-foo
-...
-# Repeated end marker.
-...
----
-bar
-# No end marker.
----
-baz
-...
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+foo
+...
+# Repeated end marker.
+...
+---
+bar
+# No end marker.
+---
+baz
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-"Root flow
- scalar"
---- !!str >
- Root block
- scalar
----
-# Root collection:
-foo : bar
-... # Is optional.
----
-# Explicit document may be empty.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+"Root flow
+ scalar"
+--- !!str >
+ Root block
+ scalar
+---
+# Root collection:
+foo : bar
+... # Is optional.
+---
+# Explicit document may be empty.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# A stream may contain
-# no documents.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# A stream may contain
+# no documents.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Implicit document. Root
-# collection (mapping) node.
-foo : bar
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Implicit document. Root
+# collection (mapping) node.
+foo : bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Explicit document. Root
-# scalar (literal) node.
---- |
- Text content
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Explicit document. Root
+# scalar (literal) node.
+--- |
+ Text content
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-! "First document"
----
-!foo "No directives"
-%TAG ! !foo
----
-!bar "With directives"
-%YAML 1.1
----
-!baz "Reset settings"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+! "First document"
+---
+!foo "No directives"
+%TAG ! !foo
+---
+!bar "With directives"
+%YAML 1.1
+---
+!baz "Reset settings"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-!!str &a1 "foo" : !!str bar
-&a2 baz : *a1
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+!!str &a1 "foo" : !!str bar
+&a2 baz : *a1
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-First occurrence: &anchor Value
-Second occurrence: *anchor
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+First occurrence: &anchor Value
+Second occurrence: *anchor
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-!<tag:yaml.org,2002:str> foo :
- !<!bar> baz
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+!<tag:yaml.org,2002:str> foo :
+ !<!bar> baz
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# We don't currently look at the content of literal tags.
-# XFAIL: *
-
-- !<!> foo
-- !<$:?> bar
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# We don't currently look at the content of literal tags.
+# CHECK: error: Unknown tag handle
+
+- !<!> foo
+- !<$:?> bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-%TAG !o! tag:ben-kiki.org,2000:
----
-- !local foo
-- !!str bar
-- !o!type baz
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+%TAG !o! tag:ben-kiki.org,2000:
+---
+- !local foo
+- !!str bar
+- !o!type baz
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# We don't currently validate tags.
-# XFAIL: *
-
-%TAG !o! tag:ben-kiki.org,2000:
----
-- !$a!b foo
-- !o! bar
-- !h!type baz
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# We don't currently validate tags.
+# CHECK: error: Unknown tag handle
+
+%TAG !o! tag:ben-kiki.org,2000:
+---
+- !$a!b foo
+- !o! bar
+- !h!type baz
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Assuming conventional resolution:
-- "12"
-- 12
-- ! 12
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Assuming conventional resolution:
+- "12"
+- 12
+- ! 12
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-foo:
- "bar
- baz"
----
-"foo
- bar"
----
-foo
- bar
---- |
- foo
-...
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+foo:
+ "bar
+ baz"
+---
+"foo
+ bar"
+---
+foo
+ bar
+--- |
+ foo
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-scalars:
- plain: !!str some text
- quoted:
- single: 'some text'
- double: "some text"
-collections:
- sequence: !!seq [ !!str entry,
- # Mapping entry:
- key: value ]
- mapping: { key: value }
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+scalars:
+ plain: !!str some text
+ quoted:
+ single: 'some text'
+ double: "some text"
+collections:
+ sequence: !!seq [ !!str entry,
+ # Mapping entry:
+ key: value ]
+ mapping: { key: value }
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-block styles:
- scalars:
- literal: !!str |
- #!/usr/bin/perl
- print "Hello, world!\n";
- folded: >
- This sentence
- is false.
- collections: !!map
- sequence: !!seq # Entry:
- - entry # Plain
- # Mapping entry:
- - key: value
- mapping:
- key: value
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+block styles:
+ scalars:
+ literal: !!str |
+ #!/usr/bin/perl
+ print "Hello, world!\n";
+ folded: >
+ This sentence
+ is false.
+ collections: !!map
+ sequence: !!seq # Entry:
+ - entry # Plain
+ # Mapping entry:
+ - key: value
+ mapping:
+ key: value
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-First occurrence: &anchor Value
-Second occurrence: *anchor
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+First occurrence: &anchor Value
+Second occurrence: *anchor
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-[
- Without properties,
- &anchor "Anchored",
- !!str 'Tagged',
- *anchor, # Alias node
- !!str , # Empty plain scalar
- '', # Empty plain scalar
-]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+[
+ Without properties,
+ &anchor "Anchored",
+ !!str 'Tagged',
+ *anchor, # Alias node
+ !!str , # Empty plain scalar
+ '', # Empty plain scalar
+]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-{
- ? foo :,
- ? : bar,
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+{
+ ? foo :,
+ ? : bar,
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- "flow in block"
-- >
- Block scalar
-- !!map # Block collection
- foo : bar
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- "flow in block"
+- >
+ Block scalar
+- !!map # Block collection
+ foo : bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- # Empty plain scalar
-- ? foo
- :
- ?
- : bar
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- # Empty plain scalar
+- ? foo
+ :
+ ?
+ : bar
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-"simple key" : {
- "also simple" : value,
- ? "not a
- simple key" : "any
- value"
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+"simple key" : {
+ "also simple" : value,
+ ? "not a
+ simple key" : "any
+ value"
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# Indent trimming is not yet implemented.
-# XFAIL: *
-
- "as space
- trimmed
-
- specific
-
- escaped \
- none"
-
-# CHECK: !!str "as space trimmed\nspecific\nescaped\tnone"
--- /dev/null
+# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+ "as space
+ trimmed
+
+ specific
+
+ escaped \
+ none"
+
+# FIXME: The string below should actually be
+# "as space trimmed\nspecific\nescaped\tnone", but the parser currently has
+# a bug when parsing multiline quoted strings.
+# CHECK: !!str "as space\n trimmed\n specific\n escaped\t none"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- "
- last"
-- "
- last"
-- " first
- last"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- "
+ last"
+- "
+ last"
+- " first
+ last"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- "first
- inner 1
- \ inner 2 \
- last"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ "first
+ inner 1
+ \ inner 2 \
+ last"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- "first
- "
-- "first
-
- last"
-- "first
- inner
- \ last"
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- "first
+ "
+- "first
+
+ last"
+- "first
+ inner
+ \ last"
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- 'here''s to "quotes"'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ 'here''s to "quotes"'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-'simple key' : {
- 'also simple' : value,
- ? 'not a
- simple key' : 'any
- value'
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+'simple key' : {
+ 'also simple' : value,
+ ? 'not a
+ simple key' : 'any
+ value'
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- 'as space \85 trimmed \85\85 specific
\85 none'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ 'as space \85 trimmed \85\85 specific
\85 none'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- '
- last'
-- '
- last'
-- ' first
- last'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- '
+ last'
+- '
+ last'
+- ' first
+ last'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- 'first
- inner
- last'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ 'first
+ inner
+ last'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- 'first
- '
-- 'first
-
- last'
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- 'first
+ '
+- 'first
+
+ last'
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Outside flow collection:
-- ::std::vector
-- Up, up, and away!
-- -123
-# Inside flow collection:
-- [ '::std::vector',
- "Up, up, and away!",
- -123 ]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Outside flow collection:
+- ::std::vector
+- Up, up, and away!
+- -123
+# Inside flow collection:
+- [ '::std::vector',
+ "Up, up, and away!",
+ -123 ]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-simple key : {
- also simple : value,
- ? not a
- simple key : any
- value
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+simple key : {
+ also simple : value,
+ ? not a
+ simple key : any
+ value
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# Not quite sure why this doesn't fail.
-# XFAIL: *
-
----
---- ||| : foo
-... >>>: bar
----
-[
----
-,
-... ,
-{
---- :
-... # Nested
-}
-]
-...
-
-# CHECK: error
--- /dev/null
+# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# FIXME: This test should actually fail. Yaml bench should report an error that
+# says that the '---' and '...' document start/end markers must not be specified
+# as the first content line of a non-indented plain scalar.
+# CHECK: !!str
+
+---
+--- ||| : foo
+... >>>: bar
+---
+[
+---
+,
+... ,
+{
+--- :
+... # Nested
+}
+]
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
----
-"---" : foo
-...: bar
----
-[
----,
-...,
-{
-? ---
-: ...
-}
-]
-...
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+---
+"---" : foo
+...: bar
+---
+[
+---,
+...,
+{
+? ---
+: ...
+}
+]
+...
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-# Tabs are confusing:
-# as space/trimmed/specific/none
- as space \85 trimmed \85\85 specific
\85 none
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+# Tabs are confusing:
+# as space/trimmed/specific/none
+ as space \85 trimmed \85\85 specific
\85 none
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- first line
-
- more line
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ first line
+
+ more line
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- | # Just the style
- literal
-- >1 # Indentation indicator
- folded
-- |+ # Chomping indicator
- keep
-
-- >-1 # Both indicators
- strip
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- | # Just the style
+ literal
+- >1 # Indentation indicator
+ folded
+- |+ # Chomping indicator
+ keep
+
+- >-1 # Both indicators
+ strip
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- |
- literal
-- >
- folded
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- |
+ literal
+- >
+ folded
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- |
- detected
-- >
-
-
- # detected
-- |1
- explicit
-- >
-
- detected
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- |
+ detected
+- >
+
+
+ # detected
+- |1
+ explicit
+- >
+
+ detected
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-
-- |
-
- text
-- >
- text
- text
-- |1
- text
-
-# CHECK: error
--- /dev/null
+# RUN: not yaml-bench -canonical %s 2>&1 | FileCheck %s
+
+- |
+
+ text
+- >
+ text
+ text
+- |1
+ text
+
+# CHECK: error
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-strip: |-
- text
clip: |
- text\85keep: |+
- text
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+strip: |-
+ text
clip: |
+ text\85keep: |+
+ text
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
- # Strip
- # Comments:
-strip: |-
- # text
# Clip
- # comments:
-\85clip: |
- # text\85
# Keep
- # comments:
-\85keep: |+
- # text
\85 # Trail
- # comments.
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+ # Strip
+ # Comments:
+strip: |-
+ # text
# Clip
+ # comments:
+\85clip: |
+ # text\85
# Keep
+ # comments:
+\85keep: |+
+ # text
\85 # Trail
+ # comments.
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-strip: >-
-
-clip: >
-
-keep: |+
-
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+strip: >-
+
+clip: >
+
+keep: |+
+
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-| # Simple block scalar
- literal
- text
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+| # Simple block scalar
+ literal
+ text
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-|
-
-
- literal
-
- text
-
- # Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+|
+
+
+ literal
+
+ text
+
+ # Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-|
-
-
- literal
-
- text
-
- # Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+|
+
+
+ literal
+
+ text
+
+ # Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-|
-
-
- literal
-
- text
-
- # Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+|
+
+
+ literal
+
+ text
+
+ # Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-> # Simple folded scalar
- folded
- text
- lines
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+> # Simple folded scalar
+ folded
+ text
+ lines
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->
- folded
- line
-
- next
- line
-
- * bullet
- * list
-
- last
- line
-
-# Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>
+ folded
+ line
+
+ next
+ line
+
+ * bullet
+ * list
+
+ last
+ line
+
+# Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->
- folded
- line
-
- next
- line
-
- * bullet
- * list
-
- last
- line
-
-# Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>
+ folded
+ line
+
+ next
+ line
+
+ * bullet
+ * list
+
+ last
+ line
+
+# Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->
- folded
- line
-
- next
- line
-
- * bullet
- * list
-
- last
- line
-
-# Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>
+ folded
+ line
+
+ next
+ line
+
+ * bullet
+ * list
+
+ last
+ line
+
+# Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
->
- folded
- line
-
- next
- line
-
- * bullet
- * list
-
- last
- line
-
-# Comment
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+>
+ folded
+ line
+
+ next
+ line
+
+ * bullet
+ * list
+
+ last
+ line
+
+# Comment
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- [ inner, inner, ]
-- [inner,last]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- [ inner, inner, ]
+- [inner,last]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-[
-"double
- quoted", 'single
- quoted',
-plain
- text, [ nested ],
-single: pair ,
-]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+[
+"double
+ quoted", 'single
+ quoted',
+plain
+ text, [ nested ],
+single: pair ,
+]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-block: # Block
- # sequence
-- one
-- two : three
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+block: # Block
+ # sequence
+- one
+- two : three
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-block:
-- one
--
- - two
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+block:
+- one
+-
+ - two
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- # Empty
-- |
- block node
-- - one # in-line
- - two # sequence
-- one: two # in-line
- # mapping
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- # Empty
+- |
+ block node
+- - one # in-line
+ - two # sequence
+- one: two # in-line
+ # mapping
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- { inner : entry , also: inner , }
-- {inner: entry,last : entry}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- { inner : entry , also: inner , }
+- {inner: entry,last : entry}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-{
-? : value, # Empty key
-? explicit
- key: value,
-simple key : value,
-[ collection, simple, key ]: value
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+{
+? : value, # Empty key
+? explicit
+ key: value,
+simple key : value,
+[ collection, simple, key ]: value
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
-#
-# This fails because even without a key token, some contexts (in this case flow
-# maps) allow implicit null keys, which mix with this in weird ways.
-# XFAIL: *
-
-{
-multi-line
- simple key : value,
-very long ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................(>1KB)................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... key: value
-}
-
-# CHECK: error
--- /dev/null
+# RUN: yaml-bench -canonical %s 2>&1 | FileCheck %s
+#
+# FIXME: This test should fail. Yaml bench should report an error that a simple
+# key spans across multiple lines and that another simple key is longer than
+# 1024 characters.
+
+{
+multi-line
+ simple key : value,
+very long ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................(>1KB)................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... key: value
+}
+
+# CHECK: ? !!str "very long
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-{
-key : value,
-empty: # empty value↓
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+{
+key : value,
+empty: # empty value↓
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-{
-? explicit key1 : explicit value,
-? explicit key2 : , # Explicit empty
-? explicit key3, # Empty value
-simple key1 : explicit value,
-simple key2 : , # Explicit empty
-simple key3, # Empty value
-}
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+{
+? explicit key1 : explicit value,
+? explicit key2 : , # Explicit empty
+? explicit key3, # Empty value
+simple key1 : explicit value,
+simple key2 : , # Explicit empty
+simple key3, # Empty value
+}
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-[
-? explicit key1 : explicit value,
-? explicit key2 : , # Explicit empty
-? explicit key3, # Implicit empty
-simple key1 : explicit value,
-simple key2 : , # Explicit empty
-]
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+[
+? explicit key1 : explicit value,
+? explicit key2 : , # Explicit empty
+? explicit key3, # Implicit empty
+simple key1 : explicit value,
+simple key2 : , # Explicit empty
+]
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-block: # Block
- # mapping
- key: value
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+block: # Block
+ # mapping
+ key: value
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-? explicit key # implicit value
-? |
- block key
-: - one # explicit in-line
- - two # block value
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+? explicit key # implicit value
+? |
+ block key
+: - one # explicit in-line
+ - two # block value
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-plain key: # empty value
-"quoted key":
-- one # explicit next-line
-- two # block value
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+plain key: # empty value
+"quoted key":
+- one # explicit next-line
+- two # block value
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- sun: yellow
-- ? earth: blue
- : moon: white
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- sun: yellow
+- ? earth: blue
+ : moon: white
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- abcd
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- abcd
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- 2001-12-14 21:59:43.10 -5:30
-- 2001-12-14 21:59:43.10 +5:30
-- 2001-12-14 21:59:43.00101
-- 2001-12-14 21:59:43+1
-- 2001-12-14 21:59:43-1:30
-- 2005-07-08 17:35:04.517600
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- 2001-12-14 21:59:43.10 -5:30
+- 2001-12-14 21:59:43.10 +5:30
+- 2001-12-14 21:59:43.00101
+- 2001-12-14 21:59:43+1
+- 2001-12-14 21:59:43-1:30
+- 2005-07-08 17:35:04.517600
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- 2001-12-15T02:59:43.1Z
-- 2001-12-14t21:59:43.10-05:00
-- 2001-12-14 21:59:43.10 -5
-- 2001-12-15 2:59:43.10
-- 2002-12-14
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- 2001-12-15T02:59:43.1Z
+- 2001-12-14t21:59:43.10-05:00
+- 2001-12-14 21:59:43.10 -5
+- 2001-12-15 2:59:43.10
+- 2002-12-14
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
---- implicit UTF-8
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+--- implicit UTF-8
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
---- UTF-8
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+--- UTF-8
+++ /dev/null
-# RUN: yaml-bench -canonical %s
-
-- =
--- /dev/null
+# RUN: yaml-bench -canonical %s
+
+- =
+++ /dev/null
-# RUN: yaml-bench -canonical %s | FileCheck %s
-
-- !!yaml '!'
-- !!yaml '&'
-- !!yaml '*'
-
-# CHECK: !!seq [
-# CHECK: !!yaml "!",
-# CHECK: !!yaml "&",
-# CHECK: !!yaml "*",
-# CHECK: ]
--- /dev/null
+# RUN: yaml-bench -canonical %s | FileCheck %s
+
+- !!yaml '!'
+- !!yaml '&'
+- !!yaml '*'
+
+# CHECK: !!seq [
+# CHECK: !!yaml "!",
+# CHECK: !!yaml "&",
+# CHECK: !!yaml "*",
+# CHECK: ]
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/Timer.h"
+#include "llvm/Support/Process.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/Support/raw_ostream.h"
#include <system_error>
"Do not use more megabytes of memory"),
cl::init(1000));
+cl::opt<cl::boolOrDefault>
+ UseColor("use-color", cl::desc("Emit colored output (default=autodetect)"),
+ cl::init(cl::BOU_UNSET));
+
struct indent {
unsigned distance;
indent(unsigned d) : distance(d) {}
int main(int argc, char **argv) {
llvm::cl::ParseCommandLineOptions(argc, argv);
+ bool ShowColors = UseColor == cl::BOU_UNSET
+ ? sys::Process::StandardOutHasColors()
+ : UseColor == cl::BOU_TRUE;
if (Input.getNumOccurrences()) {
ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =
MemoryBuffer::getFileOrSTDIN(Input);
}
if (DumpCanonical) {
- yaml::Stream stream(Buf.getBuffer(), sm);
+ yaml::Stream stream(Buf.getBuffer(), sm, ShowColors);
dumpStream(stream);
+ if (stream.failed())
+ return 1;
}
}