Enable more fromTOML tests
cpptoml now parses almost all examples from the spec.
This commit is contained in:
		
							parent
							
								
									cfd74aef1e
								
							
						
					
					
						commit
						17ef3e6f41
					
				
					 2 changed files with 15 additions and 17 deletions
				
			
		|  | @ -1 +1 @@ | ||||||
| [ { clients = { data = [ [ "gamma" "delta" ] [ 1 2 ] ]; hosts = [ "alpha" "omega" ]; }; database = { connection_max = 5000; enabled = true; ports = [ 8001 8001 8002 ]; server = "192.168.1.1"; }; owner = { name = "Tom Preston-Werner"; }; servers = { alpha = { dc = "eqdc10"; ip = "10.0.0.1"; }; beta = { dc = "eqdc10"; ip = "10.0.0.2"; }; }; title = "TOML Example"; } { "1234" = "value"; "127.0.0.1" = "value"; a = { b = { c = { }; }; }; arr1 = [ 1 2 3 ]; arr2 = [ "red" "yellow" "green" ]; arr3 = [ [ 1 2 ] [ 3 4 5 ] ]; arr4 = [ "all" "strings" "are the same" "type" ]; arr5 = [ [ 1 2 ] [ "a" "b" "c" ] ]; arr7 = [ 1 2 3 ]; arr8 = [ 1 2 ]; bare-key = "value"; bare_key = "value"; bool1 = true; bool2 = false; "character encoding" = "value"; d = { e = { f = { }; }; }; flt1 = 1; flt2 = 3.1415; flt3 = -0.01; flt4 = 5e+22; flt5 = 1e+06; flt6 = -0.02; flt7 = 6.626e-34; flt8 = 9.22462e+06; g = { h = { i = { }; }; }; int1 = 99; int2 = 42; int3 = 0; int4 = -17; int5 = 1000; int6 = 5349221; int7 = 12345; j = { "ʞ" = { l = { }; }; }; key = "value"; key2 = "value"; name = "Orange"; products = [ { name = "Hammer"; sku = 738594937; } { } { color = "gray"; name = "Nail"; sku = 284758393; } ]; str = "I'm a string. \"You can quote me\". Name\tJosé\nLocation\tSF."; table-1 = { key1 = "some string"; key2 = 123; }; table-2 = { key1 = "another string"; key2 = 456; }; x = { y = { z = { w = { name = { first = "Tom"; last = "Preston-Werner"; }; point = { x = 1; y = 2; }; }; }; }; }; "ʎǝʞ" = "value"; } { metadata = { "checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4"; "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"; "checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"; "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"; }; package = [ { dependencies = [ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" ]; name = "aho-corasick"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.6.4"; } { name = "ansi_term"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.9.0"; } { dependencies = [ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" ]; name = "atty"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.2.10"; } ]; } ] | [ { clients = { data = [ [ "gamma" "delta" ] [ 1 2 ] ]; hosts = [ "alpha" "omega" ]; }; database = { connection_max = 5000; enabled = true; ports = [ 8001 8001 8002 ]; server = "192.168.1.1"; }; owner = { name = "Tom Preston-Werner"; }; servers = { alpha = { dc = "eqdc10"; ip = "10.0.0.1"; }; beta = { dc = "eqdc10"; ip = "10.0.0.2"; }; }; title = "TOML Example"; } { "1234" = "value"; "127.0.0.1" = "value"; a = { b = { c = { }; }; }; arr1 = [ 1 2 3 ]; arr2 = [ "red" "yellow" "green" ]; arr3 = [ [ 1 2 ] [ 3 4 5 ] ]; arr4 = [ "all" "strings" "are the same" "type" ]; arr5 = [ [ 1 2 ] [ "a" "b" "c" ] ]; arr7 = [ 1 2 3 ]; arr8 = [ 1 2 ]; bare-key = "value"; bare_key = "value"; bin1 = 214; bool1 = true; bool2 = false; "character encoding" = "value"; d = { e = { f = { }; }; }; dog = { "tater.man" = { type = { name = "pug"; }; }; }; flt1 = 1; flt2 = 3.1415; flt3 = -0.01; flt4 = 5e+22; flt5 = 1e+06; flt6 = -0.02; flt7 = 6.626e-34; flt8 = 9.22462e+06; g = { h = { i = { }; }; }; hex1 = 3735928559; hex2 = 3735928559; hex3 = 3735928559; int1 = 99; int2 = 42; int3 = 0; int4 = -17; int5 = 1000; int6 = 5349221; int7 = 12345; j = { "ʞ" = { l = { }; }; }; key = "value"; key2 = "value"; name = "Orange"; oct1 = 342391; oct2 = 493; physical = { color = "orange"; shape = "round"; }; products = [ { name = "Hammer"; sku = 738594937; } { } { color = "gray"; name = "Nail"; sku = 284758393; } ]; "quoted \"value\"" = "value"; site = { "google.com" = true; }; str = "I'm a string. \"You can quote me\". Name\tJosé\nLocation\tSF."; table-1 = { key1 = "some string"; key2 = 123; }; table-2 = { key1 = "another string"; key2 = 456; }; x = { y = { z = { w = { animal = { type = { name = "pug"; }; }; name = { first = "Tom"; last = "Preston-Werner"; }; point = { x = 1; y = 2; }; }; }; }; }; "ʎǝʞ" = "value"; } { metadata = { "checksum aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6531d44de723825aa81398a6415283229725a00fa30713812ab9323faa82fc4"; "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"; "checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"; "checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"; }; package = [ { dependencies = [ "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" ]; name = "aho-corasick"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.6.4"; } { name = "ansi_term"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.9.0"; } { dependencies = [ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" ]; name = "atty"; source = "registry+https://github.com/rust-lang/crates.io-index"; version = "0.2.10"; } ]; } ] | ||||||
|  |  | ||||||
|  | @ -46,15 +46,15 @@ | ||||||
|     "character encoding" = "value" |     "character encoding" = "value" | ||||||
|     "ʎǝʞ" = "value" |     "ʎǝʞ" = "value" | ||||||
|     'key2' = "value" |     'key2' = "value" | ||||||
|     #'quoted "value"' = "value" |     'quoted "value"' = "value" | ||||||
| 
 | 
 | ||||||
|     name = "Orange" |     name = "Orange" | ||||||
| 
 | 
 | ||||||
|     # FIXME: cpptoml doesn't handle dotted keys properly yet. |     physical.color = "orange" | ||||||
|     #physical.color = "orange" |     physical.shape = "round" | ||||||
|     #physical.shape = "round" |     site."google.com" = true | ||||||
|     #site."google.com" = true |  | ||||||
| 
 | 
 | ||||||
|  |     # This is legal according to the spec, but cpptoml doesn't handle it. | ||||||
|     #a.b.c = 1 |     #a.b.c = 1 | ||||||
|     #a.d = 2 |     #a.d = 2 | ||||||
| 
 | 
 | ||||||
|  | @ -68,16 +68,14 @@ | ||||||
|     int6 = 5_349_221 |     int6 = 5_349_221 | ||||||
|     int7 = 1_2_3_4_5 |     int7 = 1_2_3_4_5 | ||||||
| 
 | 
 | ||||||
|     # FIXME: cpptoml doesn't support these yet: |     hex1 = 0xDEADBEEF | ||||||
|  |     hex2 = 0xdeadbeef | ||||||
|  |     hex3 = 0xdead_beef | ||||||
| 
 | 
 | ||||||
|     #hex1 = 0xDEADBEEF |     oct1 = 0o01234567 | ||||||
|     #hex2 = 0xdeadbeef |     oct2 = 0o755 | ||||||
|     #hex3 = 0xdead_beef |  | ||||||
| 
 | 
 | ||||||
|     #oct1 = 0o01234567 |     bin1 = 0b11010110 | ||||||
|     #oct2 = 0o755 |  | ||||||
| 
 |  | ||||||
|     #bin1 = 0b11010110 |  | ||||||
| 
 | 
 | ||||||
|     flt1 = +1.0 |     flt1 = +1.0 | ||||||
|     flt2 = 3.1415 |     flt2 = 3.1415 | ||||||
|  | @ -126,8 +124,8 @@ | ||||||
|     key1 = "another string" |     key1 = "another string" | ||||||
|     key2 = 456 |     key2 = 456 | ||||||
| 
 | 
 | ||||||
|     #[dog."tater.man"] |     [dog."tater.man"] | ||||||
|     #type.name = "pug" |     type.name = "pug" | ||||||
| 
 | 
 | ||||||
|     [a.b.c] |     [a.b.c] | ||||||
|     [ d.e.f ] |     [ d.e.f ] | ||||||
|  | @ -137,7 +135,7 @@ | ||||||
| 
 | 
 | ||||||
|     name = { first = "Tom", last = "Preston-Werner" } |     name = { first = "Tom", last = "Preston-Werner" } | ||||||
|     point = { x = 1, y = 2 } |     point = { x = 1, y = 2 } | ||||||
|     #animal = { type.name = "pug" } |     animal = { type.name = "pug" } | ||||||
| 
 | 
 | ||||||
|     [[products]] |     [[products]] | ||||||
|     name = "Hammer" |     name = "Hammer" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue