diff --git a/README.md b/README.md index 05a8e90..12b3804 100644 --- a/README.md +++ b/README.md @@ -51,21 +51,16 @@ The default behaviour is to fold tree branches with no sub-branches into a singl Having restructured the data into a tree format we can output in other formats. We can ask for JSON by adding the `-format json` option. When passed through a formatter (`jq '.'`) we get this output: ```json -{ - "etc": { - "bluetooth": [ - "rfcomm.conf.dpkg-remove", - "serial.conf.dpkg-remove", - "input.conf", - "audio.conf.dpkg-remove", - "network.conf", - "main.conf" - ], - "fish": { - "completions": "task.fish" - } - } -} +{"etc" : + {"bluetooth" : + ["rfcomm.conf.dpkg-remove", + "serial.conf.dpkg-remove", + "input.conf", + "audio.conf.dpkg-remove", + "network.conf", + "main.conf"], + "fish" : + {"completions" : "task.fish"}}} ``` By default, `frangipanni` breaks lines into tokens on any non-alphanumeric character. @@ -158,32 +153,25 @@ XDG_SESSION_COOKIE=fe37f2ef4-158904.727668-469753 And run with ``` -$ env | egrep '^XDG' | ./frangipanni -breaks '_=' -order alpha -format json | jq '.' +$ env | egrep '^XDG' | ./frangipanni -breaks '_=' -order alpha -format json ``` we get ```json -{ - "XDG": { - "CURRENT": { - "DESKTOP": "KDE" - }, - "DATA": { - "DIRS": "/usr/share:/usr/share:/usr/local/share" - }, - "RUNTIME": { - "DIR": "/run/user/1000" - }, - "SEAT": "seat0", - "SESSION": { - "COOKIE": "fe37f2ef4-158904.727668-469753", - "DESKTOP": "plasma", - "ID": 5, - "TYPE": "x11" - }, - "VTNR": 2 - } -} +{"XDG" : + {"CURRENT" : + {"DESKTOP" : "KDE"}, + "DATA" : + {"DIRS" : "/usr/share:/usr/share:/usr/local/share"}, + "RUNTIME" : + {"DIR" : "/run/user/1000"}, + "SEAT" : "seat0", + "SESSION" : + {"COOKIE" : "fe3c308cda1ed18ad0deaaba527f2ef4-1589682304.727668-469721653", + "DESKTOP" : "plasma", + "ID" : 5, + "TYPE" : "x11"}, + "VTNR" : 2}} ``` ## Split the PATH @@ -248,7 +236,7 @@ $ cat test/fixtures/triples.csv | \ jq '."jupiter"' ``` -``` +```json { "defaultAccount": "alice1", "hasUser": [ diff --git a/frangipanni.go b/frangipanni.go index 9511b3e..a658e25 100644 --- a/frangipanni.go +++ b/frangipanni.go @@ -163,7 +163,6 @@ func indent(out io.Writer, depth int) { func fprintNodeChildrenListJSON(out io.Writer, childs []*node, depth int) { if depth+1 > printDepth { - //fmt.Fprint(out, "null") return } if len(childs) == 0 { @@ -173,14 +172,22 @@ func fprintNodeChildrenListJSON(out io.Writer, childs []*node, depth int) { fprintNodeJSON(out, childs[0], depth) return } + if depth >= 0 { + fmt.Fprint(out, "\n") + } + indent(out, depth+1) fmt.Fprint(out, "[") for i, c := range childs { + if i > 0 { + fmt.Fprint(out, "\n") + indent(out, depth+1) + } fprintNodeJSON(out, c, depth) if i < len(childs)-1 { - fmt.Fprint(out, ",\n") + fmt.Fprint(out, ",") } } - fmt.Fprint(out, "]\n") + fmt.Fprint(out, "]") } @@ -193,6 +200,10 @@ func fprintNodeChildrenMapJSON(out io.Writer, childs []*node, depth int, parent if len(childs) == 0 { return } + if depth >= 0 { + fmt.Fprint(out, "\n") + } + indent(out, depth+1) fmt.Fprint(out, "{") for i, c := range childs { ctext := escapeJSON(c.text) @@ -200,13 +211,17 @@ func fprintNodeChildrenMapJSON(out io.Writer, childs []*node, depth int, parent ctext = escapeJSON(c.sep + c.text) } + if i > 0 { + fmt.Fprint(out, "\n") + indent(out, depth+1) + } fmt.Fprint(out, ctext+" : ") fprintNodeChildrenJSON(out, c.children, depth+1, c) if i < len(childs)-1 { - fmt.Fprint(out, ",\n") + fmt.Fprint(out, ",") } } - fmt.Fprint(out, "}\n") + fmt.Fprint(out, "}") } func fprintNodeChildrenJSON(out io.Writer, nodemap map[string]*node, depth int, parent *node) { @@ -249,7 +264,7 @@ func fprintNodeJSON(out io.Writer, n *node, depth int) { } fmt.Fprint(out, "{"+ntext+" : ") fprintNodeChildrenJSON(out, n.children, depth+1, n) - fmt.Fprint(out, "}\n") + fmt.Fprint(out, "}") } func fakeCounts(n *node) { @@ -402,7 +417,8 @@ func main() { if printCounts { fakeCounts(&root) } - fprintNodeChildrenJSON(stdoutBuffered, root.children, 0, &root) + fprintNodeChildrenJSON(stdoutBuffered, root.children, -1, &root) + fmt.Fprintln(stdoutBuffered) default: log.Fatalf("Error: unknown format option '%v'", format) diff --git a/test/confidence.sh b/test/confidence.sh index e390397..293ab27 100755 --- a/test/confidence.sh +++ b/test/confidence.sh @@ -14,6 +14,7 @@ do for sw in '' '-breaks /' -separators -counts '-level 2' '-depth 2' do echo "$tf--- -format json -order alpha $sw ----------------------------------------------------------------------------------------------------" >> "$tempfile" + head -50 "$tf" | ../frangipanni $sw -format json -order alpha | jq '.' > /dev/null head -50 "$tf" | ../frangipanni $sw -format json -order alpha >> "$tempfile" done done diff --git a/test/fixtures.log b/test/fixtures.log index e09ad66..7e2f8cf 100644 --- a/test/fixtures.log +++ b/test/fixtures.log @@ -398,479 +398,466 @@ usr/local/go test3/fixedbugs/bug196.go test4/fixedbugs/issue19667.go fixtures/find.txt--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -[{"boot" : {"System" : {"map" : {"4" : {"9" : {"0" : {"11" : "amd64", -"12" : "amd64", -"8" : "amd64"} -} -} -} -} -, -"config" : {"4" : {"9" : {"0" : {"11" : "amd64", -"12" : "amd64", -"8" : "amd64"} -} -} -} -, -"grub" : [{"device" : "map"} -, -"fonts", -{"grub" : "cfg"} -, -"grubenv", -{"i386" : "pc"} -, -"locale", -{"unicode" : "pf2"} -] -, -"initrd" : {"img" : {"4" : {"9" : {"0" : {"11" : "amd64", -"12" : "amd64", -"8" : "amd64"} -} -} -} -} -, -"vmlinuz" : {"4" : {"9" : {"0" : {"11" : "amd64", -"12" : "amd64", -"8" : "amd64"} -} -} -} -} -} -, +[{"boot" : + {"System" : + {"map" : + {"4" : + {"9" : + {"0" : + {"11" : "amd64", + "12" : "amd64", + "8" : "amd64"}}}}}, + "config" : + {"4" : + {"9" : + {"0" : + {"11" : "amd64", + "12" : "amd64", + "8" : "amd64"}}}}, + "grub" : + [{"device" : "map"}, + "fonts", + {"grub" : "cfg"}, + "grubenv", + {"i386" : "pc"}, + "locale", + {"unicode" : "pf2"}], + "initrd" : + {"img" : + {"4" : + {"9" : + {"0" : + {"11" : "amd64", + "12" : "amd64", + "8" : "amd64"}}}}}, + "vmlinuz" : + {"4" : + {"9" : + {"0" : + {"11" : "amd64", + "12" : "amd64", + "8" : "amd64"}}}}}}, "oldroot", -{"proc" : {"22468" : [{"gid" : "map"} -, -"io", -{"projid" : "map"} -, -"setgroups", -"timers", -{"timerslack" : "ns"} -, -{"uid" : "map"} -] -} -} -, +{"proc" : + {"22468" : + [{"gid" : "map"}, + "io", + {"projid" : "map"}, + "setgroups", + "timers", + {"timerslack" : "ns"}, + {"uid" : "map"}]}}, "srv", -{"usr" : {"local" : {"go" : {"test" : {"fixedbugs" : {"bug028" : "go"} -} -, -"test2" : {"fixedbugs1" : {"bug205" : "go", -"bug206" : "go"} -, -"fixedbugs2" : {"bug481" : "go", -"bug482" : "go"} -} -, -"test3" : {"fixedbugs" : {"bug196" : "go"} -} -, -"test4" : {"fixedbugs" : {"issue19667" : "go"} -} -} -} -} -} -] +{"usr" : + {"local" : + {"go" : + {"test" : + {"fixedbugs" : + {"bug028" : "go"}}, + "test2" : + {"fixedbugs1" : + {"bug205" : "go", + "bug206" : "go"}, + "fixedbugs2" : + {"bug481" : "go", + "bug482" : "go"}}, + "test3" : + {"fixedbugs" : + {"bug196" : "go"}}, + "test4" : + {"fixedbugs" : + {"issue19667" : "go"}}}}}}] fixtures/find.txt--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- [".oldroot", -{"boot" : ["System.map-4.9.0-11-amd64", -"System.map-4.9.0-12-amd64", -"System.map-4.9.0-8-amd64", -"config-4.9.0-11-amd64", -"config-4.9.0-12-amd64", -"config-4.9.0-8-amd64", -{"grub" : ["device.map", -"fonts", -"grub.cfg", -"grubenv", -"i386-pc", -"locale", -"unicode.pf2"] -} -, -"initrd.img-4.9.0-11-amd64", -"initrd.img-4.9.0-12-amd64", -"initrd.img-4.9.0-8-amd64", -"vmlinuz-4.9.0-11-amd64", -"vmlinuz-4.9.0-12-amd64", -"vmlinuz-4.9.0-8-amd64"] -} -, -{"proc" : {"22468" : ["gid_map", -"io", -"projid_map", -"setgroups", -"timers", -"timerslack_ns", -"uid_map"] -} -} -, +{"boot" : + ["System.map-4.9.0-11-amd64", + "System.map-4.9.0-12-amd64", + "System.map-4.9.0-8-amd64", + "config-4.9.0-11-amd64", + "config-4.9.0-12-amd64", + "config-4.9.0-8-amd64", + {"grub" : + ["device.map", + "fonts", + "grub.cfg", + "grubenv", + "i386-pc", + "locale", + "unicode.pf2"]}, + "initrd.img-4.9.0-11-amd64", + "initrd.img-4.9.0-12-amd64", + "initrd.img-4.9.0-8-amd64", + "vmlinuz-4.9.0-11-amd64", + "vmlinuz-4.9.0-12-amd64", + "vmlinuz-4.9.0-8-amd64"]}, +{"proc" : + {"22468" : + ["gid_map", + "io", + "projid_map", + "setgroups", + "timers", + "timerslack_ns", + "uid_map"]}}, "srv", -{"usr" : {"local" : {"go" : {"test" : {"fixedbugs" : "bug028.go"} -, -"test2" : {"fixedbugs1" : ["bug205.go", -"bug206.go"] -, -"fixedbugs2" : ["bug481.go", -"bug482.go"] -} -, -"test3" : {"fixedbugs" : "bug196.go"} -, -"test4" : {"fixedbugs" : "issue19667.go"} -} -} -} -} -] +{"usr" : + {"local" : + {"go" : + {"test" : + {"fixedbugs" : "bug028.go"}, + "test2" : + {"fixedbugs1" : + ["bug205.go", + "bug206.go"], + "fixedbugs2" : + ["bug481.go", + "bug482.go"]}, + "test3" : + {"fixedbugs" : "bug196.go"}, + "test4" : + {"fixedbugs" : "issue19667.go"}}}}}] fixtures/find.txt--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -[{"/boot" : {"/System" : {".map" : {"-4" : {".9" : {".0" : {"-11" : "-amd64", -"-12" : "-amd64", -"-8" : "-amd64"} -} -} -} -} -, -"/config" : {"-4" : {".9" : {".0" : {"-11" : "-amd64", -"-12" : "-amd64", -"-8" : "-amd64"} -} -} -} -, -"/grub" : [{"/device" : ".map"} -, -"/fonts", -{"/grub" : ".cfg"} -, -"/grubenv", -{"/i386" : "-pc"} -, -"/locale", -{"/unicode" : ".pf2"} -] -, -"/initrd" : {".img" : {"-4" : {".9" : {".0" : {"-11" : "-amd64", -"-12" : "-amd64", -"-8" : "-amd64"} -} -} -} -} -, -"/vmlinuz" : {"-4" : {".9" : {".0" : {"-11" : "-amd64", -"-12" : "-amd64", -"-8" : "-amd64"} -} -} -} -} -} -, +[{"/boot" : + {"/System" : + {".map" : + {"-4" : + {".9" : + {".0" : + {"-11" : "-amd64", + "-12" : "-amd64", + "-8" : "-amd64"}}}}}, + "/config" : + {"-4" : + {".9" : + {".0" : + {"-11" : "-amd64", + "-12" : "-amd64", + "-8" : "-amd64"}}}}, + "/grub" : + [{"/device" : ".map"}, + "/fonts", + {"/grub" : ".cfg"}, + "/grubenv", + {"/i386" : "-pc"}, + "/locale", + {"/unicode" : ".pf2"}], + "/initrd" : + {".img" : + {"-4" : + {".9" : + {".0" : + {"-11" : "-amd64", + "-12" : "-amd64", + "-8" : "-amd64"}}}}}, + "/vmlinuz" : + {"-4" : + {".9" : + {".0" : + {"-11" : "-amd64", + "-12" : "-amd64", + "-8" : "-amd64"}}}}}}, "/.oldroot", -{"/proc" : {"/22468" : [{"/gid" : "_map"} -, -"/io", -{"/projid" : "_map"} -, -"/setgroups", -"/timers", -{"/timerslack" : "_ns"} -, -{"/uid" : "_map"} -] -} -} -, +{"/proc" : + {"/22468" : + [{"/gid" : "_map"}, + "/io", + {"/projid" : "_map"}, + "/setgroups", + "/timers", + {"/timerslack" : "_ns"}, + {"/uid" : "_map"}]}}, "/srv", -{"/usr" : {"/local" : {"/go" : {"/test" : {"/fixedbugs" : {"/bug028" : ".go"} -} -, -"/test2" : {"/fixedbugs1" : {"/bug205" : ".go", -"/bug206" : ".go"} -, -"/fixedbugs2" : {"/bug481" : ".go", -"/bug482" : ".go"} -} -, -"/test3" : {"/fixedbugs" : {"/bug196" : ".go"} -} -, -"/test4" : {"/fixedbugs" : {"/issue19667" : ".go"} -} -} -} -} -} -] +{"/usr" : + {"/local" : + {"/go" : + {"/test" : + {"/fixedbugs" : + {"/bug028" : ".go"}}, + "/test2" : + {"/fixedbugs1" : + {"/bug205" : ".go", + "/bug206" : ".go"}, + "/fixedbugs2" : + {"/bug481" : ".go", + "/bug482" : ".go"}}, + "/test3" : + {"/fixedbugs" : + {"/bug196" : ".go"}}, + "/test4" : + {"/fixedbugs" : + {"/issue19667" : ".go"}}}}}}] fixtures/find.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- {"_count_" : 1, -"boot" : {"System" : {"_count_" : 3, -"map" : {"4" : {"9" : {"0" : {"11" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"12" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"8" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -} -, -"_count_" : 28, -"config" : {"4" : {"9" : {"0" : {"11" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"12" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"8" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -, -"grub" : {"_count_" : 15, -"device" : {"_count_" : 2, -"map" : {"_count_" : 2} -} -, -"fonts" : {"_count_" : 2} -, -"grub" : {"_count_" : 2, -"cfg" : {"_count_" : 2} -} -, -"grubenv" : {"_count_" : 2} -, -"i386" : {"_count_" : 1, -"pc" : {"_count_" : 1} -} -, -"locale" : {"_count_" : 2} -, -"unicode" : {"_count_" : 2, -"pf2" : {"_count_" : 2} -} -} -, -"initrd" : {"_count_" : 3, -"img" : {"4" : {"9" : {"0" : {"11" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"12" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"8" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -} -, -"vmlinuz" : {"4" : {"9" : {"0" : {"11" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"12" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"8" : {"_count_" : 1, -"amd64" : {"_count_" : 1} -} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -, -"_count_" : 3} -} -, -"oldroot" : {"_count_" : 1} -, -"proc" : {"22468" : {"_count_" : 7, -"gid" : {"_count_" : 1, -"map" : {"_count_" : 1} -} -, -"io" : {"_count_" : 1} -, -"projid" : {"_count_" : 1, -"map" : {"_count_" : 1} -} -, -"setgroups" : {"_count_" : 1} -, -"timers" : {"_count_" : 1} -, -"timerslack" : {"_count_" : 1, -"ns" : {"_count_" : 1} -} -, -"uid" : {"_count_" : 1, -"map" : {"_count_" : 1} -} -} -, -"_count_" : 7} -, -"srv" : {"_count_" : 1} -, -"usr" : {"_count_" : 7, -"local" : {"_count_" : 7, -"go" : {"_count_" : 7, -"test" : {"_count_" : 1, -"fixedbugs" : {"_count_" : 1, -"bug028" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -} -} -, -"test2" : {"_count_" : 4, -"fixedbugs1" : {"_count_" : 2, -"bug205" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -, -"bug206" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -} -, -"fixedbugs2" : {"_count_" : 2, -"bug481" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -, -"bug482" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -} -} -, -"test3" : {"_count_" : 1, -"fixedbugs" : {"_count_" : 1, -"bug196" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -} -} -, -"test4" : {"_count_" : 1, -"fixedbugs" : {"_count_" : 1, -"issue19667" : {"_count_" : 1, -"go" : {"_count_" : 1} -} -} -} -} -} -} -} +"boot" : + {"System" : + {"_count_" : 3, + "map" : + {"4" : + {"9" : + {"0" : + {"11" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "12" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "8" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}}, + "_count_" : 28, + "config" : + {"4" : + {"9" : + {"0" : + {"11" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "12" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "8" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}, + "grub" : + {"_count_" : 15, + "device" : + {"_count_" : 2, + "map" : + {"_count_" : 2}}, + "fonts" : + {"_count_" : 2}, + "grub" : + {"_count_" : 2, + "cfg" : + {"_count_" : 2}}, + "grubenv" : + {"_count_" : 2}, + "i386" : + {"_count_" : 1, + "pc" : + {"_count_" : 1}}, + "locale" : + {"_count_" : 2}, + "unicode" : + {"_count_" : 2, + "pf2" : + {"_count_" : 2}}}, + "initrd" : + {"_count_" : 3, + "img" : + {"4" : + {"9" : + {"0" : + {"11" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "12" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "8" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}}, + "vmlinuz" : + {"4" : + {"9" : + {"0" : + {"11" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "12" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "8" : + {"_count_" : 1, + "amd64" : + {"_count_" : 1}}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}, + "_count_" : 3}}, +"oldroot" : + {"_count_" : 1}, +"proc" : + {"22468" : + {"_count_" : 7, + "gid" : + {"_count_" : 1, + "map" : + {"_count_" : 1}}, + "io" : + {"_count_" : 1}, + "projid" : + {"_count_" : 1, + "map" : + {"_count_" : 1}}, + "setgroups" : + {"_count_" : 1}, + "timers" : + {"_count_" : 1}, + "timerslack" : + {"_count_" : 1, + "ns" : + {"_count_" : 1}}, + "uid" : + {"_count_" : 1, + "map" : + {"_count_" : 1}}}, + "_count_" : 7}, +"srv" : + {"_count_" : 1}, +"usr" : + {"_count_" : 7, + "local" : + {"_count_" : 7, + "go" : + {"_count_" : 7, + "test" : + {"_count_" : 1, + "fixedbugs" : + {"_count_" : 1, + "bug028" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}}}, + "test2" : + {"_count_" : 4, + "fixedbugs1" : + {"_count_" : 2, + "bug205" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}, + "bug206" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}}, + "fixedbugs2" : + {"_count_" : 2, + "bug481" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}, + "bug482" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}}}, + "test3" : + {"_count_" : 1, + "fixedbugs" : + {"_count_" : 1, + "bug196" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}}}, + "test4" : + {"_count_" : 1, + "fixedbugs" : + {"_count_" : 1, + "issue19667" : + {"_count_" : 1, + "go" : + {"_count_" : 1}}}}}}}} fixtures/find.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -[{"boot" : {"System" : [".map-4.9.0-11-amd64", -".map-4.9.0-12-amd64", -".map-4.9.0-8-amd64"] -, -"config" : ["-4.9.0-11-amd64", -"-4.9.0-12-amd64", -"-4.9.0-8-amd64"] -, -"grub" : ["/device.map", -"/fonts", -"/grub.cfg", -"/grubenv", -"/i386-pc", -"/locale", -"/unicode.pf2"] -, -"initrd" : [".img-4.9.0-11-amd64", -".img-4.9.0-12-amd64", -".img-4.9.0-8-amd64"] -, -"vmlinuz" : ["-4.9.0-11-amd64", -"-4.9.0-12-amd64", -"-4.9.0-8-amd64"] -} -} -, +[{"boot" : + {"System" : + [".map-4.9.0-11-amd64", + ".map-4.9.0-12-amd64", + ".map-4.9.0-8-amd64"], + "config" : + ["-4.9.0-11-amd64", + "-4.9.0-12-amd64", + "-4.9.0-8-amd64"], + "grub" : + ["/device.map", + "/fonts", + "/grub.cfg", + "/grubenv", + "/i386-pc", + "/locale", + "/unicode.pf2"], + "initrd" : + [".img-4.9.0-11-amd64", + ".img-4.9.0-12-amd64", + ".img-4.9.0-8-amd64"], + "vmlinuz" : + ["-4.9.0-11-amd64", + "-4.9.0-12-amd64", + "-4.9.0-8-amd64"]}}, "oldroot", -{"proc" : {"22468" : ["/gid_map", -"/io", -"/projid_map", -"/setgroups", -"/timers", -"/timerslack_ns", -"/uid_map"] -} -} -, +{"proc" : + {"22468" : + ["/gid_map", + "/io", + "/projid_map", + "/setgroups", + "/timers", + "/timerslack_ns", + "/uid_map"]}}, "srv", -{"usr" : {"local" : ["/go/test/fixedbugs/bug028.go", -"/go/test2/fixedbugs1/bug205.go", -"/go/test2/fixedbugs1/bug206.go", -"/go/test2/fixedbugs2/bug481.go", -"/go/test2/fixedbugs2/bug482.go", -"/go/test3/fixedbugs/bug196.go", -"/go/test4/fixedbugs/issue19667.go"] -} -} -] +{"usr" : + {"local" : + ["/go/test/fixedbugs/bug028.go", + "/go/test2/fixedbugs1/bug205.go", + "/go/test2/fixedbugs1/bug206.go", + "/go/test2/fixedbugs2/bug481.go", + "/go/test2/fixedbugs2/bug482.go", + "/go/test3/fixedbugs/bug196.go", + "/go/test4/fixedbugs/issue19667.go"]}}] fixtures/find.txt--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -[{"boot" : {"System" : null, -"config" : null, -"grub" : null, -"initrd" : null, -"vmlinuz" : null} -} -, +[{"boot" : + {"System" : + {"map" : null}, + "config" : + {"4" : null}, + "grub" : + [{"device" : null}, + "fonts", + {"grub" : null}, + "grubenv", + {"i386" : null}, + "locale", + {"unicode" : null}], + "initrd" : + {"img" : null}, + "vmlinuz" : + {"4" : null}}}, "oldroot", -{"proc" : {"22468" : null} -} -, +{"proc" : + {"22468" : + [{"gid" : null}, + "io", + {"projid" : null}, + "setgroups", + "timers", + {"timerslack" : null}, + {"uid" : null}]}}, "srv", -{"usr" : {"local" : null} -} -] +{"usr" : + {"local" : + {"go" : null}}}] fixtures/firewall.txt--- ---------------------------------------------------------------------------------------------------- WARNING ICMP type @@ -1163,48 +1150,48 @@ WARNING COMMAND_FAILED: '/usr/sbin/iptables -w2 h' or 'iptables --help' for more information fixtures/firewall.txt--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -{"WARNING" : {"ICMP" : {"type" : {"beyond" : {"scope" : {"is" : {"not" : {"supported" : "by"} -} -} -} -, -"failed" : {"policy" : {"is" : {"not" : {"supported" : "by"} -} -} -} -, -"reject" : {"route" : {"is" : {"not" : {"supported" : "by"} -} -} -} -} -} -, -"beyond" : {"scope" : {"INVALID" : {"ICMPTYPE" : {"No" : {"supported" : {"ICMP" : {"type" : "ignoring"} -} -} -} -} -} -} -, -"failed" : {"policy" : {"INVALID" : {"ICMPTYPE" : {"No" : {"supported" : {"ICMP" : {"type" : "ignoring"} -} -} -} -} -} -} -, -"reject" : {"route" : {"INVALID" : {"ICMPTYPE" : {"No" : {"supported" : {"ICMP" : {"type" : "ignoring"} -} -} -} -} -} -} -} -} +{"WARNING" : + {"ICMP" : + {"type" : + {"beyond" : + {"scope" : + {"is" : + {"not" : + {"supported" : "by"}}}}, + "failed" : + {"policy" : + {"is" : + {"not" : + {"supported" : "by"}}}}, + "reject" : + {"route" : + {"is" : + {"not" : + {"supported" : "by"}}}}}}, + "beyond" : + {"scope" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"supported" : + {"ICMP" : + {"type" : "ignoring"}}}}}}}, + "failed" : + {"policy" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"supported" : + {"ICMP" : + {"type" : "ignoring"}}}}}}}, + "reject" : + {"route" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"supported" : + {"ICMP" : + {"type" : "ignoring"}}}}}}}}} fixtures/firewall.txt--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- ["WARNING: ICMP type 'beyond-scope' is not supported by", "WARNING: ICMP type 'failed-policy' is not supported by", @@ -1213,161 +1200,165 @@ fixtures/firewall.txt--- -format json -order alpha -breaks / ------------------- "WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring", "WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring"] fixtures/firewall.txt--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -{"WARNING" : {": ICMP" : {" type" : {" 'beyond" : {"-scope" : {"' is" : {" not" : {" supported" : " by"} -} -} -} -, -" 'failed" : {"-policy" : {"' is" : {" not" : {" supported" : " by"} -} -} -} -, -" 'reject" : {"-route" : {"' is" : {" not" : {" supported" : " by"} -} -} -} -} -} -, -": beyond" : {"-scope" : {": INVALID" : {"_ICMPTYPE" : {": No" : {" supported" : {" ICMP" : {" type" : "., ignoring"} -} -} -} -} -} -} -, -": failed" : {"-policy" : {": INVALID" : {"_ICMPTYPE" : {": No" : {" supported" : {" ICMP" : {" type" : "., ignoring"} -} -} -} -} -} -} -, -": reject" : {"-route" : {": INVALID" : {"_ICMPTYPE" : {": No" : {" supported" : {" ICMP" : {" type" : "., ignoring"} -} -} -} -} -} -} -} -} +{"WARNING" : + {": ICMP" : + {" type" : + {" 'beyond" : + {"-scope" : + {"' is" : + {" not" : + {" supported" : " by"}}}}, + " 'failed" : + {"-policy" : + {"' is" : + {" not" : + {" supported" : " by"}}}}, + " 'reject" : + {"-route" : + {"' is" : + {" not" : + {" supported" : " by"}}}}}}, + ": beyond" : + {"-scope" : + {": INVALID" : + {"_ICMPTYPE" : + {": No" : + {" supported" : + {" ICMP" : + {" type" : "., ignoring"}}}}}}}, + ": failed" : + {"-policy" : + {": INVALID" : + {"_ICMPTYPE" : + {": No" : + {" supported" : + {" ICMP" : + {" type" : "., ignoring"}}}}}}}, + ": reject" : + {"-route" : + {": INVALID" : + {"_ICMPTYPE" : + {": No" : + {" supported" : + {" ICMP" : + {" type" : "., ignoring"}}}}}}}}} fixtures/firewall.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"WARNING" : {"ICMP" : {"_count_" : 25, -"type" : {"_count_" : 25, -"beyond" : {"_count_" : 9, -"scope" : {"_count_" : 9, -"is" : {"_count_" : 9, -"not" : {"_count_" : 9, -"supported" : {"_count_" : 9, -"by" : {"_count_" : 9} -} -} -} -} -} -, -"failed" : {"_count_" : 8, -"policy" : {"_count_" : 8, -"is" : {"_count_" : 8, -"not" : {"_count_" : 8, -"supported" : {"_count_" : 8, -"by" : {"_count_" : 8} -} -} -} -} -} -, -"reject" : {"_count_" : 8, -"route" : {"_count_" : 8, -"is" : {"_count_" : 8, -"not" : {"_count_" : 8, -"supported" : {"_count_" : 8, -"by" : {"_count_" : 8} -} -} -} -} -} -} -} -, -"_count_" : 50, -"beyond" : {"_count_" : 9, -"scope" : {"INVALID" : {"ICMPTYPE" : {"No" : {"_count_" : 9, -"supported" : {"ICMP" : {"_count_" : 9, -"type" : {"_count_" : 9, -"ignoring" : {"_count_" : 9} -} -} -, -"_count_" : 9} -} -, -"_count_" : 9} -, -"_count_" : 9} -, -"_count_" : 9} -} -, -"failed" : {"_count_" : 8, -"policy" : {"INVALID" : {"ICMPTYPE" : {"No" : {"_count_" : 8, -"supported" : {"ICMP" : {"_count_" : 8, -"type" : {"_count_" : 8, -"ignoring" : {"_count_" : 8} -} -} -, -"_count_" : 8} -} -, -"_count_" : 8} -, -"_count_" : 8} -, -"_count_" : 8} -} -, -"reject" : {"_count_" : 8, -"route" : {"INVALID" : {"ICMPTYPE" : {"No" : {"_count_" : 8, -"supported" : {"ICMP" : {"_count_" : 8, -"type" : {"_count_" : 8, -"ignoring" : {"_count_" : 8} -} -} -, -"_count_" : 8} -} -, -"_count_" : 8} -, -"_count_" : 8} -, -"_count_" : 8} -} -} -, +{"WARNING" : + {"ICMP" : + {"_count_" : 25, + "type" : + {"_count_" : 25, + "beyond" : + {"_count_" : 9, + "scope" : + {"_count_" : 9, + "is" : + {"_count_" : 9, + "not" : + {"_count_" : 9, + "supported" : + {"_count_" : 9, + "by" : + {"_count_" : 9}}}}}}, + "failed" : + {"_count_" : 8, + "policy" : + {"_count_" : 8, + "is" : + {"_count_" : 8, + "not" : + {"_count_" : 8, + "supported" : + {"_count_" : 8, + "by" : + {"_count_" : 8}}}}}}, + "reject" : + {"_count_" : 8, + "route" : + {"_count_" : 8, + "is" : + {"_count_" : 8, + "not" : + {"_count_" : 8, + "supported" : + {"_count_" : 8, + "by" : + {"_count_" : 8}}}}}}}}, + "_count_" : 50, + "beyond" : + {"_count_" : 9, + "scope" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"_count_" : 9, + "supported" : + {"ICMP" : + {"_count_" : 9, + "type" : + {"_count_" : 9, + "ignoring" : + {"_count_" : 9}}}, + "_count_" : 9}}, + "_count_" : 9}, + "_count_" : 9}, + "_count_" : 9}}, + "failed" : + {"_count_" : 8, + "policy" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"_count_" : 8, + "supported" : + {"ICMP" : + {"_count_" : 8, + "type" : + {"_count_" : 8, + "ignoring" : + {"_count_" : 8}}}, + "_count_" : 8}}, + "_count_" : 8}, + "_count_" : 8}, + "_count_" : 8}}, + "reject" : + {"_count_" : 8, + "route" : + {"INVALID" : + {"ICMPTYPE" : + {"No" : + {"_count_" : 8, + "supported" : + {"ICMP" : + {"_count_" : 8, + "type" : + {"_count_" : 8, + "ignoring" : + {"_count_" : 8}}}, + "_count_" : 8}}, + "_count_" : 8}, + "_count_" : 8}, + "_count_" : 8}}}, "_count_" : 1} fixtures/firewall.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -{"WARNING" : {"ICMP" : [" type 'beyond-scope' is not supported by", -" type 'failed-policy' is not supported by", -" type 'reject-route' is not supported by"] -, -"beyond" : "-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring", -"failed" : "-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring", -"reject" : "-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring"} -} +{"WARNING" : + {"ICMP" : + [" type 'beyond-scope' is not supported by", + " type 'failed-policy' is not supported by", + " type 'reject-route' is not supported by"], + "beyond" : "-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring", + "failed" : "-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring", + "reject" : "-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring"}} fixtures/firewall.txt--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -{"WARNING" : {"ICMP" : null, -"beyond" : null, -"failed" : null, -"reject" : null} -} +{"WARNING" : + {"ICMP" : + {"type" : null}, + "beyond" : + {"scope" : null}, + "failed" : + {"policy" : null}, + "reject" : + {"route" : null}}} fixtures/log-file.txt--- ---------------------------------------------------------------------------------------------------- May 10 03:17:06 localhost systemd @@ -1582,493 +1573,492 @@ May 10 03:17:06 localhost systemd 04:00:00 localhost fixtures/log-file.txt--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -{"May" : {"10" : {"03" : {"17" : {"06" : {"localhost" : {"systemd" : {"Removed" : {"slice" : {"User" : {"Slice" : {"of" : "root"} -} -} -} -, -"Stopping" : {"User" : {"Slice" : {"of" : "root"} -} -} -} -} -} -} -} -, -"04" : {"00" : {"00" : {"localhost" : {"dockerd" : {"current" : {"time" : {"2020" : {"05" : {"10T04" : {"00" : {"00" : {"629849861" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Calling" : {"GET" : "ping"} -} -} -} -} -} -} -, -"629948000" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Unable" : {"to" : {"determine" : {"container" : "for"} -} -} -} -} -} -} -} -} -, -"630103455" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Action" : {"ping" : {"LoginUID" : {"12345678" : {"PID" : 21075} -} -} -} -} -} -} -} -} -} -, -"630684502" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Calling" : {"GET" : {"v1" : {"26" : {"containers" : {"json" : {"all" : {"1" : {"filters" : {"7B" : {"22status" : {"22" : {"3A" : {"7B" : {"22dead" : {"22" : {"3Atrue" : {"7D" : "7D"} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -, -"630704513" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Unable" : {"to" : {"determine" : {"container" : {"for" : "containers"} -} -} -} -} -} -} -} -} -} -, -"630735545" : {"10" : {"00" : {"level" : {"debug" : {"msg" : {"Action" : {"json" : {"LoginUID" : {"12345678" : {"PID" : 21075} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -, -"systemd" : {"Started" : {"Docker" : "Cleanup"} -, -"Starting" : {"Docker" : "Cleanup"} -} -} -} -} -} -} -} -} +{"May" : + {"10" : + {"03" : + {"17" : + {"06" : + {"localhost" : + {"systemd" : + {"Removed" : + {"slice" : + {"User" : + {"Slice" : + {"of" : "root"}}}}, + "Stopping" : + {"User" : + {"Slice" : + {"of" : "root"}}}}}}}}, + "04" : + {"00" : + {"00" : + {"localhost" : + {"dockerd" : + {"current" : + {"time" : + {"2020" : + {"05" : + {"10T04" : + {"00" : + {"00" : + {"629849861" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Calling" : + {"GET" : "ping"}}}}}}}, + "629948000" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Unable" : + {"to" : + {"determine" : + {"container" : "for"}}}}}}}}}, + "630103455" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Action" : + {"ping" : + {"LoginUID" : + {"12345678" : + {"PID" : 21075}}}}}}}}}}, + "630684502" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Calling" : + {"GET" : + {"v1" : + {"26" : + {"containers" : + {"json" : + {"all" : + {"1" : + {"filters" : + {"7B" : + {"22status" : + {"22" : + {"3A" : + {"7B" : + {"22dead" : + {"22" : + {"3Atrue" : + {"7D" : "7D"}}}}}}}}}}}}}}}}}}}}}}}, + "630704513" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Unable" : + {"to" : + {"determine" : + {"container" : + {"for" : "containers"}}}}}}}}}}, + "630735545" : + {"10" : + {"00" : + {"level" : + {"debug" : + {"msg" : + {"Action" : + {"json" : + {"LoginUID" : + {"12345678" : + {"PID" : 21075}}}}}}}}}}}}}}}}}}, + "systemd" : + {"Started" : + {"Docker" : "Cleanup"}, + "Starting" : + {"Docker" : "Cleanup"}}}}}}}}} fixtures/log-file.txt--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- ["May 10 03:17:06 localhost systemd: Removed slice User Slice of root.", "May 10 03:17:06 localhost systemd: Stopping User Slice of root.", -{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629849861+10:00\" level=debug msg=\"Calling GET " : "_ping\""} -, -{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629948000+10:00\" level=debug msg=\"Unable to determine container for " : "\""} -, +{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629849861+10:00\" level=debug msg=\"Calling GET " : "_ping\""}, +{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629948000+10:00\" level=debug msg=\"Unable to determine container for " : "\""}, "May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630103455+10:00\" level=debug msg=\"{Action=_ping, LoginUID=12345678, PID=21075}\"", -{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630684502+10:00\" level=debug msg=\"Calling GET " : {"v1.26" : {"containers" : "json?all=1\u0026filters=%7B%22status%22%3A%7B%22dead%22%3Atrue%7D%7D\""} -} -} -, +{"May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630684502+10:00\" level=debug msg=\"Calling GET " : + {"v1.26" : + {"containers" : "json?all=1\u0026filters=%7B%22status%22%3A%7B%22dead%22%3Atrue%7D%7D\""}}}, "May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630704513+10:00\" level=debug msg=\"Unable to determine container for containers\"", "May 10 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630735545+10:00\" level=debug msg=\"{Action=json, LoginUID=12345678, PID=21075}\"", "May 10 04:00:00 localhost systemd: Started Docker Cleanup.", "May 10 04:00:00 localhost systemd: Starting Docker Cleanup..."] fixtures/log-file.txt--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -{"May" : {" 10" : {" 03" : {":17" : {":06" : {" localhost" : {" systemd" : {": Removed" : {" slice" : {" User" : {" Slice" : {" of" : " root"} -} -} -} -, -": Stopping" : {" User" : {" Slice" : {" of" : " root"} -} -} -} -} -} -} -} -, -" 04" : {":00" : {":00" : {" localhost" : {" dockerd" : {"-current" : {": time" : {"=\"2020" : {"-05" : {"-10T04" : {":00" : {":00" : {".629849861" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"Calling" : {" GET" : " /_ping"} -} -} -} -} -} -} -, -".629948000" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"Unable" : {" to" : {" determine" : {" container" : " for"} -} -} -} -} -} -} -} -} -, -".630103455" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"{Action" : {"=_ping" : {", LoginUID" : {"=12345678" : {", PID" : "=21075"} -} -} -} -} -} -} -} -} -} -, -".630684502" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"Calling" : {" GET" : {" /v1" : {".26" : {"/containers" : {"/json" : {"?all" : {"=1" : {"\u0026filters" : {"=%7B" : {"%22status" : {"%22" : {"%3A" : {"%7B" : {"%22dead" : {"%22" : {"%3Atrue" : {"%7D" : "%7D"} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -, -".630704513" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"Unable" : {" to" : {" determine" : {" container" : {" for" : " containers"} -} -} -} -} -} -} -} -} -} -, -".630735545" : {"+10" : {":00" : {"\" level" : {"=debug" : {" msg" : {"=\"{Action" : {"=json" : {", LoginUID" : {"=12345678" : {", PID" : "=21075"} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -} -, -" systemd" : {": Started" : {" Docker" : " Cleanup"} -, -": Starting" : {" Docker" : " Cleanup"} -} -} -} -} -} -} -} -} +{"May" : + {" 10" : + {" 03" : + {":17" : + {":06" : + {" localhost" : + {" systemd" : + {": Removed" : + {" slice" : + {" User" : + {" Slice" : + {" of" : " root"}}}}, + ": Stopping" : + {" User" : + {" Slice" : + {" of" : " root"}}}}}}}}, + " 04" : + {":00" : + {":00" : + {" localhost" : + {" dockerd" : + {"-current" : + {": time" : + {"=\"2020" : + {"-05" : + {"-10T04" : + {":00" : + {":00" : + {".629849861" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"Calling" : + {" GET" : " /_ping"}}}}}}}, + ".629948000" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"Unable" : + {" to" : + {" determine" : + {" container" : " for"}}}}}}}}}, + ".630103455" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"{Action" : + {"=_ping" : + {", LoginUID" : + {"=12345678" : + {", PID" : "=21075"}}}}}}}}}}, + ".630684502" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"Calling" : + {" GET" : + {" /v1" : + {".26" : + {"/containers" : + {"/json" : + {"?all" : + {"=1" : + {"\u0026filters" : + {"=%7B" : + {"%22status" : + {"%22" : + {"%3A" : + {"%7B" : + {"%22dead" : + {"%22" : + {"%3Atrue" : + {"%7D" : "%7D"}}}}}}}}}}}}}}}}}}}}}}}, + ".630704513" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"Unable" : + {" to" : + {" determine" : + {" container" : + {" for" : " containers"}}}}}}}}}}, + ".630735545" : + {"+10" : + {":00" : + {"\" level" : + {"=debug" : + {" msg" : + {"=\"{Action" : + {"=json" : + {", LoginUID" : + {"=12345678" : + {", PID" : "=21075"}}}}}}}}}}}}}}}}}}, + " systemd" : + {": Started" : + {" Docker" : " Cleanup"}, + ": Starting" : + {" Docker" : " Cleanup"}}}}}}}}} fixtures/log-file.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"May" : {"10" : {"03" : {"17" : {"06" : {"_count_" : 2, -"localhost" : {"_count_" : 2, -"systemd" : {"Removed" : {"_count_" : 1, -"slice" : {"User" : {"Slice" : {"_count_" : 1, -"of" : {"_count_" : 1, -"root" : {"_count_" : 1} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"Stopping" : {"User" : {"Slice" : {"_count_" : 1, -"of" : {"_count_" : 1, -"root" : {"_count_" : 1} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 2} -} -} -, -"_count_" : 2} -, -"_count_" : 2} -, -"04" : {"00" : {"00" : {"_count_" : 8, -"localhost" : {"_count_" : 8, -"dockerd" : {"_count_" : 6, -"current" : {"_count_" : 6, -"time" : {"2020" : {"05" : {"10T04" : {"00" : {"00" : {"629849861" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Calling" : {"GET" : {"_count_" : 1, -"ping" : {"_count_" : 1} -} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"629948000" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Unable" : {"_count_" : 1, -"to" : {"_count_" : 1, -"determine" : {"_count_" : 1, -"container" : {"_count_" : 1, -"for" : {"_count_" : 1} -} -} -} -} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"630103455" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Action" : {"_count_" : 1, -"ping" : {"LoginUID" : {"12345678" : {"PID" : {"21075" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"630684502" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Calling" : {"GET" : {"_count_" : 1, -"v1" : {"26" : {"_count_" : 1, -"containers" : {"_count_" : 1, -"json" : {"_count_" : 1, -"all" : {"1" : {"_count_" : 1, -"filters" : {"7B" : {"22status" : {"22" : {"3A" : {"7B" : {"22dead" : {"22" : {"3Atrue" : {"7D" : {"7D" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"630704513" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Unable" : {"_count_" : 1, -"to" : {"_count_" : 1, -"determine" : {"_count_" : 1, -"container" : {"_count_" : 1, -"for" : {"_count_" : 1, -"containers" : {"_count_" : 1} -} -} -} -} -} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"630735545" : {"10" : {"00" : {"_count_" : 1, -"level" : {"_count_" : 1, -"debug" : {"_count_" : 1, -"msg" : {"Action" : {"_count_" : 1, -"json" : {"LoginUID" : {"12345678" : {"PID" : {"21075" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"_count_" : 1} -} -} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 6} -, -"_count_" : 6} -, -"_count_" : 6} -, -"_count_" : 6} -, -"_count_" : 6} -, -"_count_" : 6} -} -} -, -"systemd" : {"Started" : {"Docker" : {"Cleanup" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"Starting" : {"Docker" : {"Cleanup" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 2} -} -} -, -"_count_" : 8} -, -"_count_" : 8} -, -"_count_" : 10} -, -"_count_" : 10} -, +{"May" : + {"10" : + {"03" : + {"17" : + {"06" : + {"_count_" : 2, + "localhost" : + {"_count_" : 2, + "systemd" : + {"Removed" : + {"_count_" : 1, + "slice" : + {"User" : + {"Slice" : + {"_count_" : 1, + "of" : + {"_count_" : 1, + "root" : + {"_count_" : 1}}}, + "_count_" : 1}, + "_count_" : 1}}, + "Stopping" : + {"User" : + {"Slice" : + {"_count_" : 1, + "of" : + {"_count_" : 1, + "root" : + {"_count_" : 1}}}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 2}}}, + "_count_" : 2}, + "_count_" : 2}, + "04" : + {"00" : + {"00" : + {"_count_" : 8, + "localhost" : + {"_count_" : 8, + "dockerd" : + {"_count_" : 6, + "current" : + {"_count_" : 6, + "time" : + {"2020" : + {"05" : + {"10T04" : + {"00" : + {"00" : + {"629849861" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Calling" : + {"GET" : + {"_count_" : 1, + "ping" : + {"_count_" : 1}}, + "_count_" : 1}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "629948000" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Unable" : + {"_count_" : 1, + "to" : + {"_count_" : 1, + "determine" : + {"_count_" : 1, + "container" : + {"_count_" : 1, + "for" : + {"_count_" : 1}}}}}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "630103455" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Action" : + {"_count_" : 1, + "ping" : + {"LoginUID" : + {"12345678" : + {"PID" : + {"21075" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "630684502" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Calling" : + {"GET" : + {"_count_" : 1, + "v1" : + {"26" : + {"_count_" : 1, + "containers" : + {"_count_" : 1, + "json" : + {"_count_" : 1, + "all" : + {"1" : + {"_count_" : 1, + "filters" : + {"7B" : + {"22status" : + {"22" : + {"3A" : + {"7B" : + {"22dead" : + {"22" : + {"3Atrue" : + {"7D" : + {"7D" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "_count_" : 1}}}}, + "_count_" : 1}}, + "_count_" : 1}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "630704513" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Unable" : + {"_count_" : 1, + "to" : + {"_count_" : 1, + "determine" : + {"_count_" : 1, + "container" : + {"_count_" : 1, + "for" : + {"_count_" : 1, + "containers" : + {"_count_" : 1}}}}}}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "630735545" : + {"10" : + {"00" : + {"_count_" : 1, + "level" : + {"_count_" : 1, + "debug" : + {"_count_" : 1, + "msg" : + {"Action" : + {"_count_" : 1, + "json" : + {"LoginUID" : + {"12345678" : + {"PID" : + {"21075" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "_count_" : 1}}}}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 6}, + "_count_" : 6}, + "_count_" : 6}, + "_count_" : 6}, + "_count_" : 6}, + "_count_" : 6}}}, + "systemd" : + {"Started" : + {"Docker" : + {"Cleanup" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "Starting" : + {"Docker" : + {"Cleanup" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 2}}}, + "_count_" : 8}, + "_count_" : 8}, + "_count_" : 10}, + "_count_" : 10}, "_count_" : 1} fixtures/log-file.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -{"May" : {"10" : [" 03:17:06 localhost systemd: Removed slice User Slice of root", -" 03:17:06 localhost systemd: Stopping User Slice of root", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629849861+10:00\" level=debug msg=\"Calling GET /_ping", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629948000+10:00\" level=debug msg=\"Unable to determine container for", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630103455+10:00\" level=debug msg=\"{Action=_ping, LoginUID=12345678, PID=21075", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630684502+10:00\" level=debug msg=\"Calling GET /v1.26/containers/json?all=1\u0026filters=%7B%22status%22%3A%7B%22dead%22%3Atrue%7D%7D", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630704513+10:00\" level=debug msg=\"Unable to determine container for containers", -" 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630735545+10:00\" level=debug msg=\"{Action=json, LoginUID=12345678, PID=21075", -" 04:00:00 localhost systemd: Started Docker Cleanup", -" 04:00:00 localhost systemd: Starting Docker Cleanup"] -} -} +{"May" : + {"10" : + [" 03:17:06 localhost systemd: Removed slice User Slice of root", + " 03:17:06 localhost systemd: Stopping User Slice of root", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629849861+10:00\" level=debug msg=\"Calling GET /_ping", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.629948000+10:00\" level=debug msg=\"Unable to determine container for", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630103455+10:00\" level=debug msg=\"{Action=_ping, LoginUID=12345678, PID=21075", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630684502+10:00\" level=debug msg=\"Calling GET /v1.26/containers/json?all=1\u0026filters=%7B%22status%22%3A%7B%22dead%22%3Atrue%7D%7D", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630704513+10:00\" level=debug msg=\"Unable to determine container for containers", + " 04:00:00 localhost dockerd-current: time=\"2020-05-10T04:00:00.630735545+10:00\" level=debug msg=\"{Action=json, LoginUID=12345678, PID=21075", + " 04:00:00 localhost systemd: Started Docker Cleanup", + " 04:00:00 localhost systemd: Starting Docker Cleanup"]}} fixtures/log-file.txt--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -{"May" : {"10" : null} -} +{"May" : + {"10" : + {"03" : null, + "04" : null}}} fixtures/morse.txt--- ---------------------------------------------------------------------------------------------------- A B @@ -2232,32 +2222,32 @@ fixtures/morse.txt--- -format json -order alpha -separators -------------------- "._.. L", "__ M"] fixtures/morse.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"A" : {"_count_" : 1} -, -"B" : {"_count_" : 1} -, -"C" : {"_count_" : 1} -, -"D" : {"_count_" : 1} -, -"E" : {"_count_" : 1} -, -"F" : {"_count_" : 1} -, -"G" : {"_count_" : 1} -, -"H" : {"_count_" : 1} -, -"I" : {"_count_" : 1} -, -"J" : {"_count_" : 1} -, -"K" : {"_count_" : 1} -, -"L" : {"_count_" : 1} -, -"M" : {"_count_" : 1} -, +{"A" : + {"_count_" : 1}, +"B" : + {"_count_" : 1}, +"C" : + {"_count_" : 1}, +"D" : + {"_count_" : 1}, +"E" : + {"_count_" : 1}, +"F" : + {"_count_" : 1}, +"G" : + {"_count_" : 1}, +"H" : + {"_count_" : 1}, +"I" : + {"_count_" : 1}, +"J" : + {"_count_" : 1}, +"K" : + {"_count_" : 1}, +"L" : + {"_count_" : 1}, +"M" : + {"_count_" : 1}, "_count_" : 1} fixtures/morse.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- ["A", @@ -4612,865 +4602,873 @@ authority imdb netflix/movie fixtures/movies.csv--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -{"authority" : {"imdb" : {"name" : {"nm0036934" : {"name" : {"Greg" : "Aronowitz"} -} -} -, -"title" : {"tt0105001" : {"directed" : {"by" : {"en" : {"irwin" : "winkler"} -} -} -, -"name" : {"Night" : {"and" : {"the" : "City"} -} -} -, -"starring" : {"en" : {"jessica" : "lange", -"robert" : {"de" : "niro"} -} -} -} -, -"tt0486761" : {"directed" : {"by" : {"en" : {"tony" : "craig"} -, -"guid" : "9202a8c04000641f80000000010ff1da"} -} -, -"name" : {"Leroy" : "Stitch"} -, -"starring" : {"en" : {"chris" : "sanders", -"daveigh" : "chase", -"david" : {"ogden" : "stiers"} -, -"jeff" : "bennett", -"kevin" : ["mcdonald", -{"michael" : "richardson"} -] -, -"rob" : "paulsen", -"tara" : "strong", -"tia" : "carrere", -"zoe" : "caldwell"} -} -} -} -} -, -"netflix" : {"movie" : {"70062973" : {"directed" : {"by" : {"en" : {"michael" : {"lindsay" : "hogg"} -} -} -} -, -"name" : {"Ivana" : {"Trump" : {"s" : {"For" : {"Love" : "Alone"} -} -} -} -} -, -"starring" : {"en" : {"madeline" : "kahn", -"stephen" : "collins"} -} -} -} -} -} -, -"en" : {"bad" : {"taste" : {"directed" : {"by" : {"en" : {"peter" : "jackson"} -} -} -, -"name" : {"Bad" : "Taste"} -, -"starring" : {"en" : {"peter" : "jackson"} -, -"guid" : ["9202a8c04000641f80000000010cf91e", -"9202a8c04000641f80000000010cf924", -"9202a8c04000641f80000000010cf92b", -"9202a8c04000641f800000000434a77d"] -} -} -} -, -"candy" : {"barr" : {"name" : {"Candy" : "Barr"} -} -} -, -"david" : {"greene" : {"name" : {"David" : "Greene"} -} -} -, -"gymkata" : {"name" : "Gymkata"} -, -"hiroyuki" : {"okiura" : {"name" : {"Hiroyuki" : "Okiura"} -} -} -, -"john" : {"glen" : {"name" : {"John" : "Glen"} -} -} -, -"karl" : {"maka" : {"name" : {"Karl" : "Maka"} -} -} -, -"masahiko" : {"tsugawa" : {"name" : {"Masahiko" : "Tsugawa"} -} -} -, -"megan" : {"mullally" : {"name" : {"Megan" : "Mullally"} -} -} -, -"milou" : {"en" : {"mai" : {"directed" : {"by" : {"en" : {"louis" : "malle"} -} -} -, -"name" : {"Milou" : {"en" : "mai"} -} -, -"starring" : {"en" : {"dominique" : "blanc", -"harriet" : "walter", -"michel" : "piccoli", -"miou" : "miou"} -} -} -} -} -, -"oscar" : {"homolka" : {"name" : {"Oscar" : "Homolka"} -} -} -, -"sebastian" : {"arcelus" : {"name" : {"Sebastian" : "Arcelus"} -} -} -} -, -"guid" : {"9202a8c04000641f80000000010de9bd" : {"name" : {"Jacques" : "Martineau"} -} -, -"9202a8c04000641f80000000010fa2fc" : {"name" : {"Yoshiko" : "Ohta"} -} -, -"9202a8c04000641f800000000471d8b2" : {"name" : {"J" : {"D" : "Chakravarthy"} -} -} -, -"9202a8c04000641f8000000005588bf1" : {"name" : {"Bobby" : {"Di" : "Cicco"} -} -} -, -"9202a8c04000641f80000000056d973b" : {"name" : {"Kate" : "Dickie"} -} -} -} +{"authority" : + {"imdb" : + {"name" : + {"nm0036934" : + {"name" : + {"Greg" : "Aronowitz"}}}, + "title" : + {"tt0105001" : + {"directed" : + {"by" : + {"en" : + {"irwin" : "winkler"}}}, + "name" : + {"Night" : + {"and" : + {"the" : "City"}}}, + "starring" : + {"en" : + {"jessica" : "lange", + "robert" : + {"de" : "niro"}}}}, + "tt0486761" : + {"directed" : + {"by" : + {"en" : + {"tony" : "craig"}, + "guid" : "9202a8c04000641f80000000010ff1da"}}, + "name" : + {"Leroy" : "Stitch"}, + "starring" : + {"en" : + {"chris" : "sanders", + "daveigh" : "chase", + "david" : + {"ogden" : "stiers"}, + "jeff" : "bennett", + "kevin" : + ["mcdonald", + {"michael" : "richardson"}], + "rob" : "paulsen", + "tara" : "strong", + "tia" : "carrere", + "zoe" : "caldwell"}}}}}, + "netflix" : + {"movie" : + {"70062973" : + {"directed" : + {"by" : + {"en" : + {"michael" : + {"lindsay" : "hogg"}}}}, + "name" : + {"Ivana" : + {"Trump" : + {"s" : + {"For" : + {"Love" : "Alone"}}}}}, + "starring" : + {"en" : + {"madeline" : "kahn", + "stephen" : "collins"}}}}}}, +"en" : + {"bad" : + {"taste" : + {"directed" : + {"by" : + {"en" : + {"peter" : "jackson"}}}, + "name" : + {"Bad" : "Taste"}, + "starring" : + {"en" : + {"peter" : "jackson"}, + "guid" : + ["9202a8c04000641f80000000010cf91e", + "9202a8c04000641f80000000010cf924", + "9202a8c04000641f80000000010cf92b", + "9202a8c04000641f800000000434a77d"]}}}, + "candy" : + {"barr" : + {"name" : + {"Candy" : "Barr"}}}, + "david" : + {"greene" : + {"name" : + {"David" : "Greene"}}}, + "gymkata" : + {"name" : "Gymkata"}, + "hiroyuki" : + {"okiura" : + {"name" : + {"Hiroyuki" : "Okiura"}}}, + "john" : + {"glen" : + {"name" : + {"John" : "Glen"}}}, + "karl" : + {"maka" : + {"name" : + {"Karl" : "Maka"}}}, + "masahiko" : + {"tsugawa" : + {"name" : + {"Masahiko" : "Tsugawa"}}}, + "megan" : + {"mullally" : + {"name" : + {"Megan" : "Mullally"}}}, + "milou" : + {"en" : + {"mai" : + {"directed" : + {"by" : + {"en" : + {"louis" : "malle"}}}, + "name" : + {"Milou" : + {"en" : "mai"}}, + "starring" : + {"en" : + {"dominique" : "blanc", + "harriet" : "walter", + "michel" : "piccoli", + "miou" : "miou"}}}}}, + "oscar" : + {"homolka" : + {"name" : + {"Oscar" : "Homolka"}}}, + "sebastian" : + {"arcelus" : + {"name" : + {"Sebastian" : "Arcelus"}}}}, +"guid" : + {"9202a8c04000641f80000000010de9bd" : + {"name" : + {"Jacques" : "Martineau"}}, + "9202a8c04000641f80000000010fa2fc" : + {"name" : + {"Yoshiko" : "Ohta"}}, + "9202a8c04000641f800000000471d8b2" : + {"name" : + {"J" : + {"D" : "Chakravarthy"}}}, + "9202a8c04000641f8000000005588bf1" : + {"name" : + {"Bobby" : + {"Di" : "Cicco"}}}, + "9202a8c04000641f80000000056d973b" : + {"name" : + {"Kate" : "Dickie"}}}} fixtures/movies.csv--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- -{"authority" : {"imdb" : {"name" : "nm0036934,name,Greg Aronowitz", -"title" : [{"tt0105001,directed_by," : {"en" : "irwin_winkler"} -} -, -"tt0105001,name,Night and the City", -{"tt0105001,starring," : {"en" : ["jessica_lange", -"robert_de_niro"] -} -} -, -{"tt0486761,directed_by," : {"en" : "tony_craig", -"guid" : "9202a8c04000641f80000000010ff1da"} -} -, -"tt0486761,name,Leroy \u0026 Stitch", -{"tt0486761,starring," : {"en" : ["chris_sanders", -"daveigh_chase", -"david_ogden_stiers", -"jeff_bennett", -"kevin_mcdonald", -"kevin_michael_richardson", -"rob_paulsen", -"tara_strong", -"tia_carrere", -"zoe_caldwell"] -} -} -] -} -, -"netflix" : {"movie" : [{"70062973,directed_by," : {"en" : "michael_lindsay-hogg"} -} -, -"70062973,name,Ivana Trump's For Love Alone", -{"70062973,starring," : {"en" : ["madeline_kahn", -"stephen_collins"] -} -} -] -} -} -, -"en" : [{"bad_taste,directed_by," : {"en" : "peter_jackson"} -} -, -"bad_taste,name,Bad Taste", -{"bad_taste,starring," : {"en" : "peter_jackson", -"guid" : ["9202a8c04000641f80000000010cf91e", -"9202a8c04000641f80000000010cf924", -"9202a8c04000641f80000000010cf92b", -"9202a8c04000641f800000000434a77d"] -} -} -, -"candy_barr,name,Candy Barr", -"david_greene,name,David Greene", -"gymkata,name,Gymkata", -"hiroyuki_okiura,name,Hiroyuki Okiura", -"john_glen,name,John Glen", -"karl_maka,name,Karl Maka", -"masahiko_tsugawa,name,Masahiko Tsugawa", -"megan_mullally,name,Megan Mullally", -{"milou_en_mai,directed_by," : {"en" : "louis_malle"} -} -, -"milou_en_mai,name,Milou en mai", -{"milou_en_mai,starring," : {"en" : ["dominique_blanc", -"harriet_walter", -"michel_piccoli", -"miou-miou"] -} -} -, -"oscar_homolka,name,Oscar Homolka", -"sebastian_arcelus,name,Sebastian Arcelus"] -, -"guid" : ["9202a8c04000641f80000000010de9bd,name,Jacques Martineau", -"9202a8c04000641f80000000010fa2fc,name,Yoshiko Ohta", -"9202a8c04000641f800000000471d8b2,name,J. D. Chakravarthy", -"9202a8c04000641f8000000005588bf1,name,Bobby Di Cicco", -"9202a8c04000641f80000000056d973b,name,Kate Dickie"] -} +{"authority" : + {"imdb" : + {"name" : "nm0036934,name,Greg Aronowitz", + "title" : + [{"tt0105001,directed_by," : + {"en" : "irwin_winkler"}}, + "tt0105001,name,Night and the City", + {"tt0105001,starring," : + {"en" : + ["jessica_lange", + "robert_de_niro"]}}, + {"tt0486761,directed_by," : + {"en" : "tony_craig", + "guid" : "9202a8c04000641f80000000010ff1da"}}, + "tt0486761,name,Leroy \u0026 Stitch", + {"tt0486761,starring," : + {"en" : + ["chris_sanders", + "daveigh_chase", + "david_ogden_stiers", + "jeff_bennett", + "kevin_mcdonald", + "kevin_michael_richardson", + "rob_paulsen", + "tara_strong", + "tia_carrere", + "zoe_caldwell"]}}]}, + "netflix" : + {"movie" : + [{"70062973,directed_by," : + {"en" : "michael_lindsay-hogg"}}, + "70062973,name,Ivana Trump's For Love Alone", + {"70062973,starring," : + {"en" : + ["madeline_kahn", + "stephen_collins"]}}]}}, +"en" : + [{"bad_taste,directed_by," : + {"en" : "peter_jackson"}}, + "bad_taste,name,Bad Taste", + {"bad_taste,starring," : + {"en" : "peter_jackson", + "guid" : + ["9202a8c04000641f80000000010cf91e", + "9202a8c04000641f80000000010cf924", + "9202a8c04000641f80000000010cf92b", + "9202a8c04000641f800000000434a77d"]}}, + "candy_barr,name,Candy Barr", + "david_greene,name,David Greene", + "gymkata,name,Gymkata", + "hiroyuki_okiura,name,Hiroyuki Okiura", + "john_glen,name,John Glen", + "karl_maka,name,Karl Maka", + "masahiko_tsugawa,name,Masahiko Tsugawa", + "megan_mullally,name,Megan Mullally", + {"milou_en_mai,directed_by," : + {"en" : "louis_malle"}}, + "milou_en_mai,name,Milou en mai", + {"milou_en_mai,starring," : + {"en" : + ["dominique_blanc", + "harriet_walter", + "michel_piccoli", + "miou-miou"]}}, + "oscar_homolka,name,Oscar Homolka", + "sebastian_arcelus,name,Sebastian Arcelus"], +"guid" : + ["9202a8c04000641f80000000010de9bd,name,Jacques Martineau", + "9202a8c04000641f80000000010fa2fc,name,Yoshiko Ohta", + "9202a8c04000641f800000000471d8b2,name,J. D. Chakravarthy", + "9202a8c04000641f8000000005588bf1,name,Bobby Di Cicco", + "9202a8c04000641f80000000056d973b,name,Kate Dickie"]} fixtures/movies.csv--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -{"/authority" : {"/imdb" : {"/name" : {"/nm0036934" : {",name" : {",Greg" : " Aronowitz"} -} -} -, -"/title" : {"/tt0105001" : {",directed" : {"_by" : {",/en" : {"/irwin" : "_winkler"} -} -} -, -",name" : {",Night" : {" and" : {" the" : " City"} -} -} -, -",starring" : {",/en" : {"/jessica" : "_lange", -"/robert" : {"_de" : "_niro"} -} -} -} -, -"/tt0486761" : {",directed" : {"_by" : {",/en" : {"/tony" : "_craig"} -, -",/guid" : "/9202a8c04000641f80000000010ff1da"} -} -, -",name" : {",Leroy" : " \u0026 Stitch"} -, -",starring" : {",/en" : {"/chris" : "_sanders", -"/daveigh" : "_chase", -"/david" : {"_ogden" : "_stiers"} -, -"/jeff" : "_bennett", -"/kevin" : ["_mcdonald", -{"_michael" : "_richardson"} -] -, -"/rob" : "_paulsen", -"/tara" : "_strong", -"/tia" : "_carrere", -"/zoe" : "_caldwell"} -} -} -} -} -, -"/netflix" : {"/movie" : {"/70062973" : {",directed" : {"_by" : {",/en" : {"/michael" : {"_lindsay" : "-hogg"} -} -} -} -, -",name" : {",Ivana" : {" Trump" : {"'s" : {" For" : {" Love" : " Alone"} -} -} -} -} -, -",starring" : {",/en" : {"/madeline" : "_kahn", -"/stephen" : "_collins"} -} -} -} -} -} -, -"/en" : {"/bad" : {"_taste" : {",directed" : {"_by" : {",/en" : {"/peter" : "_jackson"} -} -} -, -",name" : {",Bad" : " Taste"} -, -",starring" : {",/en" : {"/peter" : "_jackson"} -, -",/guid" : ["/9202a8c04000641f80000000010cf91e", -"/9202a8c04000641f80000000010cf924", -"/9202a8c04000641f80000000010cf92b", -"/9202a8c04000641f800000000434a77d"] -} -} -} -, -"/candy" : {"_barr" : {",name" : {",Candy" : " Barr"} -} -} -, -"/david" : {"_greene" : {",name" : {",David" : " Greene"} -} -} -, -"/gymkata" : {",name" : ",Gymkata"} -, -"/hiroyuki" : {"_okiura" : {",name" : {",Hiroyuki" : " Okiura"} -} -} -, -"/john" : {"_glen" : {",name" : {",John" : " Glen"} -} -} -, -"/karl" : {"_maka" : {",name" : {",Karl" : " Maka"} -} -} -, -"/masahiko" : {"_tsugawa" : {",name" : {",Masahiko" : " Tsugawa"} -} -} -, -"/megan" : {"_mullally" : {",name" : {",Megan" : " Mullally"} -} -} -, -"/milou" : {"_en" : {"_mai" : {",directed" : {"_by" : {",/en" : {"/louis" : "_malle"} -} -} -, -",name" : {",Milou" : {" en" : " mai"} -} -, -",starring" : {",/en" : {"/dominique" : "_blanc", -"/harriet" : "_walter", -"/michel" : "_piccoli", -"/miou" : "-miou"} -} -} -} -} -, -"/oscar" : {"_homolka" : {",name" : {",Oscar" : " Homolka"} -} -} -, -"/sebastian" : {"_arcelus" : {",name" : {",Sebastian" : " Arcelus"} -} -} -} -, -"/guid" : {"/9202a8c04000641f80000000010de9bd" : {",name" : {",Jacques" : " Martineau"} -} -, -"/9202a8c04000641f80000000010fa2fc" : {",name" : {",Yoshiko" : " Ohta"} -} -, -"/9202a8c04000641f800000000471d8b2" : {",name" : {",J" : {". D" : ". Chakravarthy"} -} -} -, -"/9202a8c04000641f8000000005588bf1" : {",name" : {",Bobby" : {" Di" : " Cicco"} -} -} -, -"/9202a8c04000641f80000000056d973b" : {",name" : {",Kate" : " Dickie"} -} -} -} +{"/authority" : + {"/imdb" : + {"/name" : + {"/nm0036934" : + {",name" : + {",Greg" : " Aronowitz"}}}, + "/title" : + {"/tt0105001" : + {",directed" : + {"_by" : + {",/en" : + {"/irwin" : "_winkler"}}}, + ",name" : + {",Night" : + {" and" : + {" the" : " City"}}}, + ",starring" : + {",/en" : + {"/jessica" : "_lange", + "/robert" : + {"_de" : "_niro"}}}}, + "/tt0486761" : + {",directed" : + {"_by" : + {",/en" : + {"/tony" : "_craig"}, + ",/guid" : "/9202a8c04000641f80000000010ff1da"}}, + ",name" : + {",Leroy" : " \u0026 Stitch"}, + ",starring" : + {",/en" : + {"/chris" : "_sanders", + "/daveigh" : "_chase", + "/david" : + {"_ogden" : "_stiers"}, + "/jeff" : "_bennett", + "/kevin" : + ["_mcdonald", + {"_michael" : "_richardson"}], + "/rob" : "_paulsen", + "/tara" : "_strong", + "/tia" : "_carrere", + "/zoe" : "_caldwell"}}}}}, + "/netflix" : + {"/movie" : + {"/70062973" : + {",directed" : + {"_by" : + {",/en" : + {"/michael" : + {"_lindsay" : "-hogg"}}}}, + ",name" : + {",Ivana" : + {" Trump" : + {"'s" : + {" For" : + {" Love" : " Alone"}}}}}, + ",starring" : + {",/en" : + {"/madeline" : "_kahn", + "/stephen" : "_collins"}}}}}}, +"/en" : + {"/bad" : + {"_taste" : + {",directed" : + {"_by" : + {",/en" : + {"/peter" : "_jackson"}}}, + ",name" : + {",Bad" : " Taste"}, + ",starring" : + {",/en" : + {"/peter" : "_jackson"}, + ",/guid" : + ["/9202a8c04000641f80000000010cf91e", + "/9202a8c04000641f80000000010cf924", + "/9202a8c04000641f80000000010cf92b", + "/9202a8c04000641f800000000434a77d"]}}}, + "/candy" : + {"_barr" : + {",name" : + {",Candy" : " Barr"}}}, + "/david" : + {"_greene" : + {",name" : + {",David" : " Greene"}}}, + "/gymkata" : + {",name" : ",Gymkata"}, + "/hiroyuki" : + {"_okiura" : + {",name" : + {",Hiroyuki" : " Okiura"}}}, + "/john" : + {"_glen" : + {",name" : + {",John" : " Glen"}}}, + "/karl" : + {"_maka" : + {",name" : + {",Karl" : " Maka"}}}, + "/masahiko" : + {"_tsugawa" : + {",name" : + {",Masahiko" : " Tsugawa"}}}, + "/megan" : + {"_mullally" : + {",name" : + {",Megan" : " Mullally"}}}, + "/milou" : + {"_en" : + {"_mai" : + {",directed" : + {"_by" : + {",/en" : + {"/louis" : "_malle"}}}, + ",name" : + {",Milou" : + {" en" : " mai"}}, + ",starring" : + {",/en" : + {"/dominique" : "_blanc", + "/harriet" : "_walter", + "/michel" : "_piccoli", + "/miou" : "-miou"}}}}}, + "/oscar" : + {"_homolka" : + {",name" : + {",Oscar" : " Homolka"}}}, + "/sebastian" : + {"_arcelus" : + {",name" : + {",Sebastian" : " Arcelus"}}}}, +"/guid" : + {"/9202a8c04000641f80000000010de9bd" : + {",name" : + {",Jacques" : " Martineau"}}, + "/9202a8c04000641f80000000010fa2fc" : + {",name" : + {",Yoshiko" : " Ohta"}}, + "/9202a8c04000641f800000000471d8b2" : + {",name" : + {",J" : + {". D" : ". Chakravarthy"}}}, + "/9202a8c04000641f8000000005588bf1" : + {",name" : + {",Bobby" : + {" Di" : " Cicco"}}}, + "/9202a8c04000641f80000000056d973b" : + {",name" : + {",Kate" : " Dickie"}}}} fixtures/movies.csv--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- {"_count_" : 1, -"authority" : {"_count_" : 22, -"imdb" : {"_count_" : 18, -"name" : {"_count_" : 1, -"nm0036934" : {"_count_" : 1, -"name" : {"Greg" : {"Aronowitz" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"title" : {"_count_" : 17, -"tt0105001" : {"_count_" : 4, -"directed" : {"_count_" : 1, -"by" : {"_count_" : 1, -"en" : {"_count_" : 1, -"irwin" : {"_count_" : 1, -"winkler" : {"_count_" : 1} -} -} -} -} -, -"name" : {"Night" : {"_count_" : 1, -"and" : {"_count_" : 1, -"the" : {"City" : {"_count_" : 1} -, -"_count_" : 1} -} -} -, -"_count_" : 1} -, -"starring" : {"_count_" : 2, -"en" : {"_count_" : 2, -"jessica" : {"_count_" : 1, -"lange" : {"_count_" : 1} -} -, -"robert" : {"_count_" : 1, -"de" : {"_count_" : 1, -"niro" : {"_count_" : 1} -} -} -} -} -} -, -"tt0486761" : {"_count_" : 13, -"directed" : {"_count_" : 2, -"by" : {"_count_" : 2, -"en" : {"_count_" : 1, -"tony" : {"_count_" : 1, -"craig" : {"_count_" : 1} -} -} -, -"guid" : {"9202a8c04000641f80000000010ff1da" : {"_count_" : 1} -, -"_count_" : 1} -} -} -, -"name" : {"Leroy" : {"Stitch" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"starring" : {"_count_" : 10, -"en" : {"_count_" : 10, -"chris" : {"_count_" : 1, -"sanders" : {"_count_" : 1} -} -, -"daveigh" : {"_count_" : 1, -"chase" : {"_count_" : 1} -} -, -"david" : {"_count_" : 1, -"ogden" : {"_count_" : 1, -"stiers" : {"_count_" : 1} -} -} -, -"jeff" : {"_count_" : 1, -"bennett" : {"_count_" : 1} -} -, -"kevin" : {"_count_" : 2, -"mcdonald" : {"_count_" : 1} -, -"michael" : {"_count_" : 1, -"richardson" : {"_count_" : 1} -} -} -, -"rob" : {"_count_" : 1, -"paulsen" : {"_count_" : 1} -} -, -"tara" : {"_count_" : 1, -"strong" : {"_count_" : 1} -} -, -"tia" : {"_count_" : 1, -"carrere" : {"_count_" : 1} -} -, -"zoe" : {"_count_" : 1, -"caldwell" : {"_count_" : 1} -} -} -} -} -} -} -, -"netflix" : {"_count_" : 4, -"movie" : {"70062973" : {"_count_" : 4, -"directed" : {"_count_" : 1, -"by" : {"_count_" : 1, -"en" : {"_count_" : 1, -"michael" : {"_count_" : 1, -"lindsay" : {"_count_" : 1, -"hogg" : {"_count_" : 1} -} -} -} -} -} -, -"name" : {"Ivana" : {"Trump" : {"_count_" : 1, -"s" : {"For" : {"Love" : {"Alone" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"_count_" : 1} -, -"_count_" : 1} -, -"starring" : {"_count_" : 2, -"en" : {"_count_" : 2, -"madeline" : {"_count_" : 1, -"kahn" : {"_count_" : 1} -} -, -"stephen" : {"_count_" : 1, -"collins" : {"_count_" : 1} -} -} -} -} -, -"_count_" : 4} -} -} -, -"en" : {"_count_" : 23, -"bad" : {"_count_" : 7, -"taste" : {"_count_" : 7, -"directed" : {"_count_" : 1, -"by" : {"_count_" : 1, -"en" : {"_count_" : 1, -"peter" : {"_count_" : 1, -"jackson" : {"_count_" : 1} -} -} -} -} -, -"name" : {"Bad" : {"Taste" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"starring" : {"_count_" : 5, -"en" : {"_count_" : 1, -"peter" : {"_count_" : 1, -"jackson" : {"_count_" : 1} -} -} -, -"guid" : {"9202a8c04000641f80000000010cf91e" : {"_count_" : 1} -, -"9202a8c04000641f80000000010cf924" : {"_count_" : 1} -, -"9202a8c04000641f80000000010cf92b" : {"_count_" : 1} -, -"9202a8c04000641f800000000434a77d" : {"_count_" : 1} -, -"_count_" : 4} -} -} -} -, -"candy" : {"_count_" : 1, -"barr" : {"_count_" : 1, -"name" : {"Candy" : {"Barr" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"david" : {"_count_" : 1, -"greene" : {"_count_" : 1, -"name" : {"David" : {"Greene" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"gymkata" : {"_count_" : 1, -"name" : {"Gymkata" : {"_count_" : 1} -, -"_count_" : 1} -} -, -"hiroyuki" : {"_count_" : 1, -"okiura" : {"_count_" : 1, -"name" : {"Hiroyuki" : {"Okiura" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"john" : {"_count_" : 1, -"glen" : {"_count_" : 1, -"name" : {"John" : {"Glen" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"karl" : {"_count_" : 1, -"maka" : {"_count_" : 1, -"name" : {"Karl" : {"Maka" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"masahiko" : {"_count_" : 1, -"tsugawa" : {"_count_" : 1, -"name" : {"Masahiko" : {"Tsugawa" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"megan" : {"_count_" : 1, -"mullally" : {"_count_" : 1, -"name" : {"Megan" : {"Mullally" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"milou" : {"_count_" : 6, -"en" : {"_count_" : 6, -"mai" : {"_count_" : 6, -"directed" : {"_count_" : 1, -"by" : {"_count_" : 1, -"en" : {"_count_" : 1, -"louis" : {"_count_" : 1, -"malle" : {"_count_" : 1} -} -} -} -} -, -"name" : {"Milou" : {"_count_" : 1, -"en" : {"_count_" : 1, -"mai" : {"_count_" : 1} -} -} -, -"_count_" : 1} -, -"starring" : {"_count_" : 4, -"en" : {"_count_" : 4, -"dominique" : {"_count_" : 1, -"blanc" : {"_count_" : 1} -} -, -"harriet" : {"_count_" : 1, -"walter" : {"_count_" : 1} -} -, -"michel" : {"_count_" : 1, -"piccoli" : {"_count_" : 1} -} -, -"miou" : {"_count_" : 1, -"miou" : {"_count_" : 1} -} -} -} -} -} -} -, -"oscar" : {"_count_" : 1, -"homolka" : {"_count_" : 1, -"name" : {"Oscar" : {"Homolka" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -, -"sebastian" : {"_count_" : 1, -"arcelus" : {"_count_" : 1, -"name" : {"Sebastian" : {"Arcelus" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"guid" : {"9202a8c04000641f80000000010de9bd" : {"_count_" : 1, -"name" : {"Jacques" : {"Martineau" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"9202a8c04000641f80000000010fa2fc" : {"_count_" : 1, -"name" : {"Yoshiko" : {"Ohta" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"9202a8c04000641f800000000471d8b2" : {"_count_" : 1, -"name" : {"J" : {"D" : {"Chakravarthy" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"9202a8c04000641f8000000005588bf1" : {"_count_" : 1, -"name" : {"Bobby" : {"Di" : {"Cicco" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"9202a8c04000641f80000000056d973b" : {"_count_" : 1, -"name" : {"Kate" : {"Dickie" : {"_count_" : 1} -, -"_count_" : 1} -, -"_count_" : 1} -} -, -"_count_" : 5} -} +"authority" : + {"_count_" : 22, + "imdb" : + {"_count_" : 18, + "name" : + {"_count_" : 1, + "nm0036934" : + {"_count_" : 1, + "name" : + {"Greg" : + {"Aronowitz" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "title" : + {"_count_" : 17, + "tt0105001" : + {"_count_" : 4, + "directed" : + {"_count_" : 1, + "by" : + {"_count_" : 1, + "en" : + {"_count_" : 1, + "irwin" : + {"_count_" : 1, + "winkler" : + {"_count_" : 1}}}}}, + "name" : + {"Night" : + {"_count_" : 1, + "and" : + {"_count_" : 1, + "the" : + {"City" : + {"_count_" : 1}, + "_count_" : 1}}}, + "_count_" : 1}, + "starring" : + {"_count_" : 2, + "en" : + {"_count_" : 2, + "jessica" : + {"_count_" : 1, + "lange" : + {"_count_" : 1}}, + "robert" : + {"_count_" : 1, + "de" : + {"_count_" : 1, + "niro" : + {"_count_" : 1}}}}}}, + "tt0486761" : + {"_count_" : 13, + "directed" : + {"_count_" : 2, + "by" : + {"_count_" : 2, + "en" : + {"_count_" : 1, + "tony" : + {"_count_" : 1, + "craig" : + {"_count_" : 1}}}, + "guid" : + {"9202a8c04000641f80000000010ff1da" : + {"_count_" : 1}, + "_count_" : 1}}}, + "name" : + {"Leroy" : + {"Stitch" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "starring" : + {"_count_" : 10, + "en" : + {"_count_" : 10, + "chris" : + {"_count_" : 1, + "sanders" : + {"_count_" : 1}}, + "daveigh" : + {"_count_" : 1, + "chase" : + {"_count_" : 1}}, + "david" : + {"_count_" : 1, + "ogden" : + {"_count_" : 1, + "stiers" : + {"_count_" : 1}}}, + "jeff" : + {"_count_" : 1, + "bennett" : + {"_count_" : 1}}, + "kevin" : + {"_count_" : 2, + "mcdonald" : + {"_count_" : 1}, + "michael" : + {"_count_" : 1, + "richardson" : + {"_count_" : 1}}}, + "rob" : + {"_count_" : 1, + "paulsen" : + {"_count_" : 1}}, + "tara" : + {"_count_" : 1, + "strong" : + {"_count_" : 1}}, + "tia" : + {"_count_" : 1, + "carrere" : + {"_count_" : 1}}, + "zoe" : + {"_count_" : 1, + "caldwell" : + {"_count_" : 1}}}}}}}, + "netflix" : + {"_count_" : 4, + "movie" : + {"70062973" : + {"_count_" : 4, + "directed" : + {"_count_" : 1, + "by" : + {"_count_" : 1, + "en" : + {"_count_" : 1, + "michael" : + {"_count_" : 1, + "lindsay" : + {"_count_" : 1, + "hogg" : + {"_count_" : 1}}}}}}, + "name" : + {"Ivana" : + {"Trump" : + {"_count_" : 1, + "s" : + {"For" : + {"Love" : + {"Alone" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "_count_" : 1}, + "_count_" : 1}, + "starring" : + {"_count_" : 2, + "en" : + {"_count_" : 2, + "madeline" : + {"_count_" : 1, + "kahn" : + {"_count_" : 1}}, + "stephen" : + {"_count_" : 1, + "collins" : + {"_count_" : 1}}}}}, + "_count_" : 4}}}, +"en" : + {"_count_" : 23, + "bad" : + {"_count_" : 7, + "taste" : + {"_count_" : 7, + "directed" : + {"_count_" : 1, + "by" : + {"_count_" : 1, + "en" : + {"_count_" : 1, + "peter" : + {"_count_" : 1, + "jackson" : + {"_count_" : 1}}}}}, + "name" : + {"Bad" : + {"Taste" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "starring" : + {"_count_" : 5, + "en" : + {"_count_" : 1, + "peter" : + {"_count_" : 1, + "jackson" : + {"_count_" : 1}}}, + "guid" : + {"9202a8c04000641f80000000010cf91e" : + {"_count_" : 1}, + "9202a8c04000641f80000000010cf924" : + {"_count_" : 1}, + "9202a8c04000641f80000000010cf92b" : + {"_count_" : 1}, + "9202a8c04000641f800000000434a77d" : + {"_count_" : 1}, + "_count_" : 4}}}}, + "candy" : + {"_count_" : 1, + "barr" : + {"_count_" : 1, + "name" : + {"Candy" : + {"Barr" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "david" : + {"_count_" : 1, + "greene" : + {"_count_" : 1, + "name" : + {"David" : + {"Greene" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "gymkata" : + {"_count_" : 1, + "name" : + {"Gymkata" : + {"_count_" : 1}, + "_count_" : 1}}, + "hiroyuki" : + {"_count_" : 1, + "okiura" : + {"_count_" : 1, + "name" : + {"Hiroyuki" : + {"Okiura" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "john" : + {"_count_" : 1, + "glen" : + {"_count_" : 1, + "name" : + {"John" : + {"Glen" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "karl" : + {"_count_" : 1, + "maka" : + {"_count_" : 1, + "name" : + {"Karl" : + {"Maka" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "masahiko" : + {"_count_" : 1, + "tsugawa" : + {"_count_" : 1, + "name" : + {"Masahiko" : + {"Tsugawa" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "megan" : + {"_count_" : 1, + "mullally" : + {"_count_" : 1, + "name" : + {"Megan" : + {"Mullally" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "milou" : + {"_count_" : 6, + "en" : + {"_count_" : 6, + "mai" : + {"_count_" : 6, + "directed" : + {"_count_" : 1, + "by" : + {"_count_" : 1, + "en" : + {"_count_" : 1, + "louis" : + {"_count_" : 1, + "malle" : + {"_count_" : 1}}}}}, + "name" : + {"Milou" : + {"_count_" : 1, + "en" : + {"_count_" : 1, + "mai" : + {"_count_" : 1}}}, + "_count_" : 1}, + "starring" : + {"_count_" : 4, + "en" : + {"_count_" : 4, + "dominique" : + {"_count_" : 1, + "blanc" : + {"_count_" : 1}}, + "harriet" : + {"_count_" : 1, + "walter" : + {"_count_" : 1}}, + "michel" : + {"_count_" : 1, + "piccoli" : + {"_count_" : 1}}, + "miou" : + {"_count_" : 1, + "miou" : + {"_count_" : 1}}}}}}}, + "oscar" : + {"_count_" : 1, + "homolka" : + {"_count_" : 1, + "name" : + {"Oscar" : + {"Homolka" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}, + "sebastian" : + {"_count_" : 1, + "arcelus" : + {"_count_" : 1, + "name" : + {"Sebastian" : + {"Arcelus" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}}}, +"guid" : + {"9202a8c04000641f80000000010de9bd" : + {"_count_" : 1, + "name" : + {"Jacques" : + {"Martineau" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "9202a8c04000641f80000000010fa2fc" : + {"_count_" : 1, + "name" : + {"Yoshiko" : + {"Ohta" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "9202a8c04000641f800000000471d8b2" : + {"_count_" : 1, + "name" : + {"J" : + {"D" : + {"Chakravarthy" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "9202a8c04000641f8000000005588bf1" : + {"_count_" : 1, + "name" : + {"Bobby" : + {"Di" : + {"Cicco" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "9202a8c04000641f80000000056d973b" : + {"_count_" : 1, + "name" : + {"Kate" : + {"Dickie" : + {"_count_" : 1}, + "_count_" : 1}, + "_count_" : 1}}, + "_count_" : 5}} fixtures/movies.csv--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -{"authority" : {"imdb" : ["/name/nm0036934,name,Greg Aronowitz", -"/title/tt0105001,directed_by,/en/irwin_winkler", -"/title/tt0105001,name,Night and the City", -"/title/tt0105001,starring,/en/jessica_lange", -"/title/tt0105001,starring,/en/robert_de_niro", -"/title/tt0486761,directed_by,/en/tony_craig", -"/title/tt0486761,directed_by,/guid/9202a8c04000641f80000000010ff1da", -"/title/tt0486761,name,Leroy \u0026 Stitch", -"/title/tt0486761,starring,/en/chris_sanders", -"/title/tt0486761,starring,/en/daveigh_chase", -"/title/tt0486761,starring,/en/david_ogden_stiers", -"/title/tt0486761,starring,/en/jeff_bennett", -"/title/tt0486761,starring,/en/kevin_mcdonald", -"/title/tt0486761,starring,/en/kevin_michael_richardson", -"/title/tt0486761,starring,/en/rob_paulsen", -"/title/tt0486761,starring,/en/tara_strong", -"/title/tt0486761,starring,/en/tia_carrere", -"/title/tt0486761,starring,/en/zoe_caldwell"] -, -"netflix" : ["/movie/70062973,directed_by,/en/michael_lindsay-hogg", -"/movie/70062973,name,Ivana Trump's For Love Alone", -"/movie/70062973,starring,/en/madeline_kahn", -"/movie/70062973,starring,/en/stephen_collins"] -} -, -"en" : {"bad" : ["_taste,directed_by,/en/peter_jackson", -"_taste,name,Bad Taste", -"_taste,starring,/en/peter_jackson", -"_taste,starring,/guid/9202a8c04000641f80000000010cf91e", -"_taste,starring,/guid/9202a8c04000641f80000000010cf924", -"_taste,starring,/guid/9202a8c04000641f80000000010cf92b", -"_taste,starring,/guid/9202a8c04000641f800000000434a77d"] -, -"candy" : "_barr,name,Candy Barr", -"david" : "_greene,name,David Greene", -"gymkata" : ",name,Gymkata", -"hiroyuki" : "_okiura,name,Hiroyuki Okiura", -"john" : "_glen,name,John Glen", -"karl" : "_maka,name,Karl Maka", -"masahiko" : "_tsugawa,name,Masahiko Tsugawa", -"megan" : "_mullally,name,Megan Mullally", -"milou" : ["_en_mai,directed_by,/en/louis_malle", -"_en_mai,name,Milou en mai", -"_en_mai,starring,/en/dominique_blanc", -"_en_mai,starring,/en/harriet_walter", -"_en_mai,starring,/en/michel_piccoli", -"_en_mai,starring,/en/miou-miou"] -, -"oscar" : "_homolka,name,Oscar Homolka", -"sebastian" : "_arcelus,name,Sebastian Arcelus"} -, -"guid" : {"9202a8c04000641f80000000010de9bd" : ",name,Jacques Martineau", -"9202a8c04000641f80000000010fa2fc" : ",name,Yoshiko Ohta", -"9202a8c04000641f800000000471d8b2" : ",name,J. D. Chakravarthy", -"9202a8c04000641f8000000005588bf1" : ",name,Bobby Di Cicco", -"9202a8c04000641f80000000056d973b" : ",name,Kate Dickie"} -} +{"authority" : + {"imdb" : + ["/name/nm0036934,name,Greg Aronowitz", + "/title/tt0105001,directed_by,/en/irwin_winkler", + "/title/tt0105001,name,Night and the City", + "/title/tt0105001,starring,/en/jessica_lange", + "/title/tt0105001,starring,/en/robert_de_niro", + "/title/tt0486761,directed_by,/en/tony_craig", + "/title/tt0486761,directed_by,/guid/9202a8c04000641f80000000010ff1da", + "/title/tt0486761,name,Leroy \u0026 Stitch", + "/title/tt0486761,starring,/en/chris_sanders", + "/title/tt0486761,starring,/en/daveigh_chase", + "/title/tt0486761,starring,/en/david_ogden_stiers", + "/title/tt0486761,starring,/en/jeff_bennett", + "/title/tt0486761,starring,/en/kevin_mcdonald", + "/title/tt0486761,starring,/en/kevin_michael_richardson", + "/title/tt0486761,starring,/en/rob_paulsen", + "/title/tt0486761,starring,/en/tara_strong", + "/title/tt0486761,starring,/en/tia_carrere", + "/title/tt0486761,starring,/en/zoe_caldwell"], + "netflix" : + ["/movie/70062973,directed_by,/en/michael_lindsay-hogg", + "/movie/70062973,name,Ivana Trump's For Love Alone", + "/movie/70062973,starring,/en/madeline_kahn", + "/movie/70062973,starring,/en/stephen_collins"]}, +"en" : + {"bad" : + ["_taste,directed_by,/en/peter_jackson", + "_taste,name,Bad Taste", + "_taste,starring,/en/peter_jackson", + "_taste,starring,/guid/9202a8c04000641f80000000010cf91e", + "_taste,starring,/guid/9202a8c04000641f80000000010cf924", + "_taste,starring,/guid/9202a8c04000641f80000000010cf92b", + "_taste,starring,/guid/9202a8c04000641f800000000434a77d"], + "candy" : "_barr,name,Candy Barr", + "david" : "_greene,name,David Greene", + "gymkata" : ",name,Gymkata", + "hiroyuki" : "_okiura,name,Hiroyuki Okiura", + "john" : "_glen,name,John Glen", + "karl" : "_maka,name,Karl Maka", + "masahiko" : "_tsugawa,name,Masahiko Tsugawa", + "megan" : "_mullally,name,Megan Mullally", + "milou" : + ["_en_mai,directed_by,/en/louis_malle", + "_en_mai,name,Milou en mai", + "_en_mai,starring,/en/dominique_blanc", + "_en_mai,starring,/en/harriet_walter", + "_en_mai,starring,/en/michel_piccoli", + "_en_mai,starring,/en/miou-miou"], + "oscar" : "_homolka,name,Oscar Homolka", + "sebastian" : "_arcelus,name,Sebastian Arcelus"}, +"guid" : + {"9202a8c04000641f80000000010de9bd" : ",name,Jacques Martineau", + "9202a8c04000641f80000000010fa2fc" : ",name,Yoshiko Ohta", + "9202a8c04000641f800000000471d8b2" : ",name,J. D. Chakravarthy", + "9202a8c04000641f8000000005588bf1" : ",name,Bobby Di Cicco", + "9202a8c04000641f80000000056d973b" : ",name,Kate Dickie"}} fixtures/movies.csv--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -{"authority" : {"imdb" : null, -"netflix" : null} -, -"en" : {"bad" : null, -"candy" : null, -"david" : null, -"gymkata" : null, -"hiroyuki" : null, -"john" : null, -"karl" : null, -"masahiko" : null, -"megan" : null, -"milou" : null, -"oscar" : null, -"sebastian" : null} -, -"guid" : {"9202a8c04000641f80000000010de9bd" : null, -"9202a8c04000641f80000000010fa2fc" : null, -"9202a8c04000641f800000000471d8b2" : null, -"9202a8c04000641f8000000005588bf1" : null, -"9202a8c04000641f80000000056d973b" : null} -} +{"authority" : + {"imdb" : + {"name" : null, + "title" : null}, + "netflix" : + {"movie" : null}}, +"en" : + {"bad" : + {"taste" : null}, + "candy" : + {"barr" : null}, + "david" : + {"greene" : null}, + "gymkata" : + {"name" : null}, + "hiroyuki" : + {"okiura" : null}, + "john" : + {"glen" : null}, + "karl" : + {"maka" : null}, + "masahiko" : + {"tsugawa" : null}, + "megan" : + {"mullally" : null}, + "milou" : + {"en" : null}, + "oscar" : + {"homolka" : null}, + "sebastian" : + {"arcelus" : null}}, +"guid" : + {"9202a8c04000641f80000000010de9bd" : + {"name" : null}, + "9202a8c04000641f80000000010fa2fc" : + {"name" : null}, + "9202a8c04000641f800000000471d8b2" : + {"name" : null}, + "9202a8c04000641f8000000005588bf1" : + {"name" : null}, + "9202a8c04000641f80000000056d973b" : + {"name" : null}}} fixtures/random.txt--- ---------------------------------------------------------------------------------------------------- ARdqP2ilNNmDWZmLfZyIrondCYaO5GRU 3tcRfmQQSFhi5cQCzyfO3hFM67VeTliy @@ -5931,87 +5929,87 @@ fixtures/random.txt--- -format json -order alpha -separators ------------------- "wCycdlsmXtYzLukRcPjijCAcwTckFLfa", "xylyvpc2ghBd3fhcJTXTTKHrbyRt5mm3"] fixtures/random.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"0s69iWKK3Pfi0mS1aLdJSboXwENv4neb" : {"_count_" : 1} -, -"1tsCiiq1DSy4P1CSLBAAq13L5eNfBrxF" : {"_count_" : 1} -, -"3tcRfmQQSFhi5cQCzyfO3hFM67VeTliy" : {"_count_" : 1} -, -"4WiWCkpjXGadDIYCsy6O2VMyWQVWiJx3" : {"_count_" : 1} -, -"52JHD4TyE8dQu2F4Xk9diqIWqePyAaVM" : {"_count_" : 1} -, -"5BLkNuwztrirIvJc7roZ4o9W2huxg5Qo" : {"_count_" : 1} -, -"5lsY90hTZPNcPj26LeI2QEqd3ItY8i1s" : {"_count_" : 1} -, -"5vyN97KXONcmVaUmbYafEmS3kK4huL0d" : {"_count_" : 1} -, -"ARdqP2ilNNmDWZmLfZyIrondCYaO5GRU" : {"_count_" : 1} -, -"ApwtzoSzcSasveDV2Geu8U3n5G7c4TtX" : {"_count_" : 1} -, -"BPMAkBfEKLreg9sPVfLt0YyxLl0ykFTg" : {"_count_" : 1} -, -"CcMuwCe585yt0a0Xd0IwXvwbH5yrhBHt" : {"_count_" : 1} -, -"DmfxjFRGxgepLBggzFJwSYaXzFkyyDH7" : {"_count_" : 1} -, -"DsBm1fRlrPweuUrkmLn4AAjtkAz1D8qj" : {"_count_" : 1} -, -"F3Uw74ZOqKk6iX1DAS1jlCz3kwhjmZSP" : {"_count_" : 1} -, -"GAzNsfmbMWGlCT2D0H2aRnTwVxE6YllF" : {"_count_" : 1} -, -"GhJqMF1N98nuasRzDh8SSnAp6WZfSMH0" : {"_count_" : 1} -, -"IBqxNzZNUyimsNYDa4X5gLFkXxTWXBnT" : {"_count_" : 1} -, -"Mv7SgDpn8htl5OI7eCmGE3S8fTMAFtyW" : {"_count_" : 1} -, -"NRsk6JebWnQ8HERnBJZaWkQXzEVbfkFt" : {"_count_" : 1} -, -"NbdjXjxaGFWfFuFgndDggCYYBOKNcCiz" : {"_count_" : 1} -, -"O8F94IGLmkPcq0OPofRWBlqUIQVsUeoa" : {"_count_" : 1} -, -"SEtMfDjCThZoyJiIdNTlEMmFTkp9Z3dj" : {"_count_" : 1} -, -"WU7mVlEJU8o7DG1mlJlphhl1UZTfOiE7" : {"_count_" : 1} -, -"XHcZrTrO4DgDyJuLRGlFv1kxiXUjN2fE" : {"_count_" : 1} -, -"YI0OM5HRlB1j0ZTgCG76W6er0vdp4BHk" : {"_count_" : 1} -, +{"0s69iWKK3Pfi0mS1aLdJSboXwENv4neb" : + {"_count_" : 1}, +"1tsCiiq1DSy4P1CSLBAAq13L5eNfBrxF" : + {"_count_" : 1}, +"3tcRfmQQSFhi5cQCzyfO3hFM67VeTliy" : + {"_count_" : 1}, +"4WiWCkpjXGadDIYCsy6O2VMyWQVWiJx3" : + {"_count_" : 1}, +"52JHD4TyE8dQu2F4Xk9diqIWqePyAaVM" : + {"_count_" : 1}, +"5BLkNuwztrirIvJc7roZ4o9W2huxg5Qo" : + {"_count_" : 1}, +"5lsY90hTZPNcPj26LeI2QEqd3ItY8i1s" : + {"_count_" : 1}, +"5vyN97KXONcmVaUmbYafEmS3kK4huL0d" : + {"_count_" : 1}, +"ARdqP2ilNNmDWZmLfZyIrondCYaO5GRU" : + {"_count_" : 1}, +"ApwtzoSzcSasveDV2Geu8U3n5G7c4TtX" : + {"_count_" : 1}, +"BPMAkBfEKLreg9sPVfLt0YyxLl0ykFTg" : + {"_count_" : 1}, +"CcMuwCe585yt0a0Xd0IwXvwbH5yrhBHt" : + {"_count_" : 1}, +"DmfxjFRGxgepLBggzFJwSYaXzFkyyDH7" : + {"_count_" : 1}, +"DsBm1fRlrPweuUrkmLn4AAjtkAz1D8qj" : + {"_count_" : 1}, +"F3Uw74ZOqKk6iX1DAS1jlCz3kwhjmZSP" : + {"_count_" : 1}, +"GAzNsfmbMWGlCT2D0H2aRnTwVxE6YllF" : + {"_count_" : 1}, +"GhJqMF1N98nuasRzDh8SSnAp6WZfSMH0" : + {"_count_" : 1}, +"IBqxNzZNUyimsNYDa4X5gLFkXxTWXBnT" : + {"_count_" : 1}, +"Mv7SgDpn8htl5OI7eCmGE3S8fTMAFtyW" : + {"_count_" : 1}, +"NRsk6JebWnQ8HERnBJZaWkQXzEVbfkFt" : + {"_count_" : 1}, +"NbdjXjxaGFWfFuFgndDggCYYBOKNcCiz" : + {"_count_" : 1}, +"O8F94IGLmkPcq0OPofRWBlqUIQVsUeoa" : + {"_count_" : 1}, +"SEtMfDjCThZoyJiIdNTlEMmFTkp9Z3dj" : + {"_count_" : 1}, +"WU7mVlEJU8o7DG1mlJlphhl1UZTfOiE7" : + {"_count_" : 1}, +"XHcZrTrO4DgDyJuLRGlFv1kxiXUjN2fE" : + {"_count_" : 1}, +"YI0OM5HRlB1j0ZTgCG76W6er0vdp4BHk" : + {"_count_" : 1}, "_count_" : 1, -"bkUPVXN3iGxStK1GyVyCx9H3712KhB71" : {"_count_" : 1} -, -"dJO8CseqDgr9AjPAAlofAmwKzo5i6ORX" : {"_count_" : 1} -, -"f7LHn0HwnRjZBUXzWwlO4IrFzfNvFM6P" : {"_count_" : 1} -, -"gNbYB65NOStT4ltMktBaJa1oWkPfqzNz" : {"_count_" : 1} -, -"h4kd4u3TDLeWrqVIjwZ9WHach7zFToWN" : {"_count_" : 1} -, -"hWDeAHqIIzSjT6Iv4pr07Bn6HF8uRI6T" : {"_count_" : 1} -, -"imzBe68oWn81zkGnUPq3Q6MvoFnDnaqM" : {"_count_" : 1} -, -"k4U63BHEOh5d6AZtViZU3Umfz8WZvzdb" : {"_count_" : 1} -, -"kXLPCQ9qMVwUzYQyt28xJNTUWkBYItV7" : {"_count_" : 1} -, -"m56AVisdRuHvPMua3GseSUW9uzaEbxn8" : {"_count_" : 1} -, -"mCuE5Mt0SUq84e4VZ6Xgvp0mS862STe9" : {"_count_" : 1} -, -"mGMbJt9c7sH7p86btgk7vR6xEre4DvkO" : {"_count_" : 1} -, -"wCycdlsmXtYzLukRcPjijCAcwTckFLfa" : {"_count_" : 1} -, -"xylyvpc2ghBd3fhcJTXTTKHrbyRt5mm3" : {"_count_" : 1} -} +"bkUPVXN3iGxStK1GyVyCx9H3712KhB71" : + {"_count_" : 1}, +"dJO8CseqDgr9AjPAAlofAmwKzo5i6ORX" : + {"_count_" : 1}, +"f7LHn0HwnRjZBUXzWwlO4IrFzfNvFM6P" : + {"_count_" : 1}, +"gNbYB65NOStT4ltMktBaJa1oWkPfqzNz" : + {"_count_" : 1}, +"h4kd4u3TDLeWrqVIjwZ9WHach7zFToWN" : + {"_count_" : 1}, +"hWDeAHqIIzSjT6Iv4pr07Bn6HF8uRI6T" : + {"_count_" : 1}, +"imzBe68oWn81zkGnUPq3Q6MvoFnDnaqM" : + {"_count_" : 1}, +"k4U63BHEOh5d6AZtViZU3Umfz8WZvzdb" : + {"_count_" : 1}, +"kXLPCQ9qMVwUzYQyt28xJNTUWkBYItV7" : + {"_count_" : 1}, +"m56AVisdRuHvPMua3GseSUW9uzaEbxn8" : + {"_count_" : 1}, +"mCuE5Mt0SUq84e4VZ6Xgvp0mS862STe9" : + {"_count_" : 1}, +"mGMbJt9c7sH7p86btgk7vR6xEre4DvkO" : + {"_count_" : 1}, +"wCycdlsmXtYzLukRcPjijCAcwTckFLfa" : + {"_count_" : 1}, +"xylyvpc2ghBd3fhcJTXTTKHrbyRt5mm3" : + {"_count_" : 1}} fixtures/random.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- ["0s69iWKK3Pfi0mS1aLdJSboXwENv4neb", "1tsCiiq1DSy4P1CSLBAAq13L5eNfBrxF", @@ -6095,99 +6093,163 @@ fixtures/random.txt--- -format json -order alpha -depth 2 ---------------------- "wCycdlsmXtYzLukRcPjijCAcwTckFLfa", "xylyvpc2ghBd3fhcJTXTTKHrbyRt5mm3"] fixtures/simplechars.txt--- ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C + 2 + D +x.a + 1 + 2 +Z +1.2 fixtures/simplechars.txt--- -chars ---------------------------------------------------------------------------------------------------- -a - klm - suv - nop - bc - defghik - 123 - 4567 - wxyz +A +C. + 2 + D +x.a. + 1 + 2 +Z +1.2 fixtures/simplechars.txt--- -breaks / ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C.2 +C.D +x.a.1 +x.a.2 +x +Z +1.2 fixtures/simplechars.txt--- -separators ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C + .2 + .D +x.a + .1 + .2 +Z +1.2 fixtures/simplechars.txt--- -counts ---------------------------------------------------------------------------------------------------- -aklmsuv: 1 -abcdefghik: 1 -abc1234567: 1 -abc123wxyz: 1 -aklmnop: 1 +A: 1 +C: 2 + 2: 1 + D: 1 +x.a: 2 + 1: 1 + 2: 1 +Z: 1 +1.2: 1 fixtures/simplechars.txt--- -no-fold ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C + 2 + D +x + a + 1 + 2 +Z +1 + 2 fixtures/simplechars.txt--- -level 2 ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C + 2 + D +x.a + .1 + .2 +Z +1.2 fixtures/simplechars.txt--- -depth 2 ---------------------------------------------------------------------------------------------------- -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C + 2 + D +x.a + 1 + 2 +Z +1.2 fixtures/simplechars.txt--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -["abc1234567", -"abc123wxyz", -"abcdefghik", -"aklmnop", -"aklmsuv"] +[{"1" : 2}, +"A", +{"C" : + [2, + "D"]}, +"Z", +{"x" : + {"a" : + [1, + 2]}}] fixtures/simplechars.txt--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- -["abc1234567", -"abc123wxyz", -"abcdefghik", -"aklmnop", -"aklmsuv"] +["1.2", +"A", +"C.2", +"C.D", +"Z", +"x", +"x.a.1", +"x.a.2"] fixtures/simplechars.txt--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -["abc1234567", -"abc123wxyz", -"abcdefghik", -"aklmnop", -"aklmsuv"] +[{"1" : ".2"}, +"A", +{"C" : + [".2", + ".D"]}, +"Z", +{"x" : + {".a" : + [".1", + ".2"]}}] fixtures/simplechars.txt--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"_count_" : 1, -"abc1234567" : {"_count_" : 1} -, -"abc123wxyz" : {"_count_" : 1} -, -"abcdefghik" : {"_count_" : 1} -, -"aklmnop" : {"_count_" : 1} -, -"aklmsuv" : {"_count_" : 1} -} +{"1" : + {"2" : + {"_count_" : 1}, + "_count_" : 1}, +"A" : + {"_count_" : 1}, +"C" : + {"2" : + {"_count_" : 1}, + "D" : + {"_count_" : 1}, + "_count_" : 2}, +"Z" : + {"_count_" : 1}, +"_count_" : 1, +"x" : + {"_count_" : 3, + "a" : + {"1" : + {"_count_" : 1}, + "2" : + {"_count_" : 1}, + "_count_" : 2}}} fixtures/simplechars.txt--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -["abc1234567", -"abc123wxyz", -"abcdefghik", -"aklmnop", -"aklmsuv"] +[{"1" : 2}, +"A", +{"C" : + [2, + "D"]}, +"Z", +{"x" : + {"a" : + [".1", + ".2"]}}] fixtures/simplechars.txt--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -["abc1234567", -"abc123wxyz", -"abcdefghik", -"aklmnop", -"aklmsuv"] +[{"1" : 2}, +"A", +{"C" : + [2, + "D"]}, +"Z", +{"x" : + {"a" : + [1, + 2]}}] fixtures/triples.csv--- ---------------------------------------------------------------------------------------------------- john1@jupiter rdf:type,UnixAccount @@ -6442,59 +6504,59 @@ birchb1@jupiter hasPassword,birchb-pw-2 birchb,hasAccount,birchb1@jupiter fixtures/triples.csv--- -format json -order alpha ---------------------------------------------------------------------------------------------------- -{"Production" : {"was" : {"hostname" : "jupiter"} -} -, -"alice1" : {"jupiter" : {"hasPassword" : {"evan2" : {"pw" : 15} -, -"joanna" : {"pw" : 19} -, -"kalpana" : {"pw" : 18} -} -, -"rdf" : {"type" : "UnixAccount"} -} -} -, -"alice2" : {"hasAccount" : {"evan1" : "jupiter"} -} -, -"birchb" : {"hasAccount" : {"birchb1" : "jupiter"} -} -, -"birchb1" : {"jupiter" : {"hasPassword" : {"birchb" : {"pw" : 2} -} -, -"rdf" : {"type" : "UnixAccount"} -} -} -, -"felicity" : {"hasAccount" : {"john1" : "jupiter"} -} -, -"joanna" : {"hasAccount" : {"alice1" : "jupiter"} -} -, -"john1" : {"jupiter" : {"hasPassword" : {"felicity" : {"pw" : 8} -} -, -"rdf" : {"type" : "UnixAccount"} -} -} -, -"jupiter" : {"defaultAccount" : "alice1", -"hasUser" : ["alice1", -"birchb1", -"john1"] -, -"rdf" : {"type" : ["UnixMachine", -"WasDmgr"] -} -} -, -"kalpana" : {"hasAccount" : {"alice1" : "jupiter"} -} -} +{"Production" : + {"was" : + {"hostname" : "jupiter"}}, +"alice1" : + {"jupiter" : + {"hasPassword" : + {"evan2" : + {"pw" : 15}, + "joanna" : + {"pw" : 19}, + "kalpana" : + {"pw" : 18}}, + "rdf" : + {"type" : "UnixAccount"}}}, +"alice2" : + {"hasAccount" : + {"evan1" : "jupiter"}}, +"birchb" : + {"hasAccount" : + {"birchb1" : "jupiter"}}, +"birchb1" : + {"jupiter" : + {"hasPassword" : + {"birchb" : + {"pw" : 2}}, + "rdf" : + {"type" : "UnixAccount"}}}, +"felicity" : + {"hasAccount" : + {"john1" : "jupiter"}}, +"joanna" : + {"hasAccount" : + {"alice1" : "jupiter"}}, +"john1" : + {"jupiter" : + {"hasPassword" : + {"felicity" : + {"pw" : 8}}, + "rdf" : + {"type" : "UnixAccount"}}}, +"jupiter" : + {"defaultAccount" : "alice1", + "hasUser" : + ["alice1", + "birchb1", + "john1"], + "rdf" : + {"type" : + ["UnixMachine", + "WasDmgr"]}}, +"kalpana" : + {"hasAccount" : + {"alice1" : "jupiter"}}} fixtures/triples.csv--- -format json -order alpha -breaks / ---------------------------------------------------------------------------------------------------- ["Production,was_hostname,jupiter", "alice1@jupiter,hasPassword,evan2-pw-15", @@ -6517,253 +6579,269 @@ fixtures/triples.csv--- -format json -order alpha -breaks / -------------------- "jupiter,rdf:type,WasDmgr", "kalpana,hasAccount,alice1@jupiter"] fixtures/triples.csv--- -format json -order alpha -separators ---------------------------------------------------------------------------------------------------- -{"Production" : {",was" : {"_hostname" : ",jupiter"} -} -, -"alice1" : {"@jupiter" : {",hasPassword" : {",evan2" : {"-pw" : "-15"} -, -",joanna" : {"-pw" : "-19"} -, -",kalpana" : {"-pw" : "-18"} -} -, -",rdf" : {":type" : ",UnixAccount"} -} -} -, -"alice2" : {",hasAccount" : {",evan1" : "@jupiter"} -} -, -"birchb" : {",hasAccount" : {",birchb1" : "@jupiter"} -} -, -"birchb1" : {"@jupiter" : {",hasPassword" : {",birchb" : {"-pw" : "-2"} -} -, -",rdf" : {":type" : ",UnixAccount"} -} -} -, -"felicity" : {",hasAccount" : {",john1" : "@jupiter"} -} -, -"joanna" : {",hasAccount" : {",alice1" : "@jupiter"} -} -, -"john1" : {"@jupiter" : {",hasPassword" : {",felicity" : {"-pw" : "-8"} -} -, -",rdf" : {":type" : ",UnixAccount"} -} -} -, -"jupiter" : {",defaultAccount" : ",alice1", -",hasUser" : [",alice1", -",birchb1", -",john1"] -, -",rdf" : {":type" : [",UnixMachine", -",WasDmgr"] -} -} -, -"kalpana" : {",hasAccount" : {",alice1" : "@jupiter"} -} -} +{"Production" : + {",was" : + {"_hostname" : ",jupiter"}}, +"alice1" : + {"@jupiter" : + {",hasPassword" : + {",evan2" : + {"-pw" : "-15"}, + ",joanna" : + {"-pw" : "-19"}, + ",kalpana" : + {"-pw" : "-18"}}, + ",rdf" : + {":type" : ",UnixAccount"}}}, +"alice2" : + {",hasAccount" : + {",evan1" : "@jupiter"}}, +"birchb" : + {",hasAccount" : + {",birchb1" : "@jupiter"}}, +"birchb1" : + {"@jupiter" : + {",hasPassword" : + {",birchb" : + {"-pw" : "-2"}}, + ",rdf" : + {":type" : ",UnixAccount"}}}, +"felicity" : + {",hasAccount" : + {",john1" : "@jupiter"}}, +"joanna" : + {",hasAccount" : + {",alice1" : "@jupiter"}}, +"john1" : + {"@jupiter" : + {",hasPassword" : + {",felicity" : + {"-pw" : "-8"}}, + ",rdf" : + {":type" : ",UnixAccount"}}}, +"jupiter" : + {",defaultAccount" : ",alice1", + ",hasUser" : + [",alice1", + ",birchb1", + ",john1"], + ",rdf" : + {":type" : + [",UnixMachine", + ",WasDmgr"]}}, +"kalpana" : + {",hasAccount" : + {",alice1" : "@jupiter"}}} fixtures/triples.csv--- -format json -order alpha -counts ---------------------------------------------------------------------------------------------------- -{"Production" : {"_count_" : 1, -"was" : {"_count_" : 1, -"hostname" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -, +{"Production" : + {"_count_" : 1, + "was" : + {"_count_" : 1, + "hostname" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}, "_count_" : 1, -"alice1" : {"_count_" : 4, -"jupiter" : {"_count_" : 4, -"hasPassword" : {"_count_" : 3, -"evan2" : {"_count_" : 1, -"pw" : {"15" : {"_count_" : 1} -, -"_count_" : 1} -} -, -"joanna" : {"_count_" : 1, -"pw" : {"19" : {"_count_" : 1} -, -"_count_" : 1} -} -, -"kalpana" : {"_count_" : 1, -"pw" : {"18" : {"_count_" : 1} -, -"_count_" : 1} -} -} -, -"rdf" : {"_count_" : 1, -"type" : {"UnixAccount" : {"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"alice2" : {"_count_" : 1, -"hasAccount" : {"_count_" : 1, -"evan1" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -, -"birchb" : {"_count_" : 1, -"hasAccount" : {"_count_" : 1, -"birchb1" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -, -"birchb1" : {"_count_" : 2, -"jupiter" : {"_count_" : 2, -"hasPassword" : {"_count_" : 1, -"birchb" : {"_count_" : 1, -"pw" : {"2" : {"_count_" : 1} -, -"_count_" : 1} -} -} -, -"rdf" : {"_count_" : 1, -"type" : {"UnixAccount" : {"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"felicity" : {"_count_" : 1, -"hasAccount" : {"_count_" : 1, -"john1" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -, -"joanna" : {"_count_" : 1, -"hasAccount" : {"_count_" : 1, -"alice1" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -, -"john1" : {"_count_" : 2, -"jupiter" : {"_count_" : 2, -"hasPassword" : {"_count_" : 1, -"felicity" : {"_count_" : 1, -"pw" : {"8" : {"_count_" : 1} -, -"_count_" : 1} -} -} -, -"rdf" : {"_count_" : 1, -"type" : {"UnixAccount" : {"_count_" : 1} -, -"_count_" : 1} -} -} -} -, -"jupiter" : {"_count_" : 6, -"defaultAccount" : {"_count_" : 1, -"alice1" : {"_count_" : 1} -} -, -"hasUser" : {"_count_" : 3, -"alice1" : {"_count_" : 1} -, -"birchb1" : {"_count_" : 1} -, -"john1" : {"_count_" : 1} -} -, -"rdf" : {"_count_" : 2, -"type" : {"UnixMachine" : {"_count_" : 1} -, -"WasDmgr" : {"_count_" : 1} -, -"_count_" : 2} -} -} -, -"kalpana" : {"_count_" : 1, -"hasAccount" : {"_count_" : 1, -"alice1" : {"_count_" : 1, -"jupiter" : {"_count_" : 1} -} -} -} -} +"alice1" : + {"_count_" : 4, + "jupiter" : + {"_count_" : 4, + "hasPassword" : + {"_count_" : 3, + "evan2" : + {"_count_" : 1, + "pw" : + {"15" : + {"_count_" : 1}, + "_count_" : 1}}, + "joanna" : + {"_count_" : 1, + "pw" : + {"19" : + {"_count_" : 1}, + "_count_" : 1}}, + "kalpana" : + {"_count_" : 1, + "pw" : + {"18" : + {"_count_" : 1}, + "_count_" : 1}}}, + "rdf" : + {"_count_" : 1, + "type" : + {"UnixAccount" : + {"_count_" : 1}, + "_count_" : 1}}}}, +"alice2" : + {"_count_" : 1, + "hasAccount" : + {"_count_" : 1, + "evan1" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}, +"birchb" : + {"_count_" : 1, + "hasAccount" : + {"_count_" : 1, + "birchb1" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}, +"birchb1" : + {"_count_" : 2, + "jupiter" : + {"_count_" : 2, + "hasPassword" : + {"_count_" : 1, + "birchb" : + {"_count_" : 1, + "pw" : + {"2" : + {"_count_" : 1}, + "_count_" : 1}}}, + "rdf" : + {"_count_" : 1, + "type" : + {"UnixAccount" : + {"_count_" : 1}, + "_count_" : 1}}}}, +"felicity" : + {"_count_" : 1, + "hasAccount" : + {"_count_" : 1, + "john1" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}, +"joanna" : + {"_count_" : 1, + "hasAccount" : + {"_count_" : 1, + "alice1" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}, +"john1" : + {"_count_" : 2, + "jupiter" : + {"_count_" : 2, + "hasPassword" : + {"_count_" : 1, + "felicity" : + {"_count_" : 1, + "pw" : + {"8" : + {"_count_" : 1}, + "_count_" : 1}}}, + "rdf" : + {"_count_" : 1, + "type" : + {"UnixAccount" : + {"_count_" : 1}, + "_count_" : 1}}}}, +"jupiter" : + {"_count_" : 6, + "defaultAccount" : + {"_count_" : 1, + "alice1" : + {"_count_" : 1}}, + "hasUser" : + {"_count_" : 3, + "alice1" : + {"_count_" : 1}, + "birchb1" : + {"_count_" : 1}, + "john1" : + {"_count_" : 1}}, + "rdf" : + {"_count_" : 2, + "type" : + {"UnixMachine" : + {"_count_" : 1}, + "WasDmgr" : + {"_count_" : 1}, + "_count_" : 2}}}, +"kalpana" : + {"_count_" : 1, + "hasAccount" : + {"_count_" : 1, + "alice1" : + {"_count_" : 1, + "jupiter" : + {"_count_" : 1}}}}} fixtures/triples.csv--- -format json -order alpha -level 2 ---------------------------------------------------------------------------------------------------- -{"Production" : {"was" : "_hostname,jupiter"} -, -"alice1" : {"jupiter" : [",hasPassword,evan2-pw-15", -",hasPassword,joanna-pw-19", -",hasPassword,kalpana-pw-18", -",rdf:type,UnixAccount"] -} -, -"alice2" : {"hasAccount" : ",evan1@jupiter"} -, -"birchb" : {"hasAccount" : ",birchb1@jupiter"} -, -"birchb1" : {"jupiter" : [",hasPassword,birchb-pw-2", -",rdf:type,UnixAccount"] -} -, -"felicity" : {"hasAccount" : ",john1@jupiter"} -, -"joanna" : {"hasAccount" : ",alice1@jupiter"} -, -"john1" : {"jupiter" : [",hasPassword,felicity-pw-8", -",rdf:type,UnixAccount"] -} -, -"jupiter" : {"defaultAccount" : ",alice1", -"hasUser" : [",alice1", -",birchb1", -",john1"] -, -"rdf" : [":type,UnixMachine", -":type,WasDmgr"] -} -, -"kalpana" : {"hasAccount" : ",alice1@jupiter"} -} +{"Production" : + {"was" : "_hostname,jupiter"}, +"alice1" : + {"jupiter" : + [",hasPassword,evan2-pw-15", + ",hasPassword,joanna-pw-19", + ",hasPassword,kalpana-pw-18", + ",rdf:type,UnixAccount"]}, +"alice2" : + {"hasAccount" : ",evan1@jupiter"}, +"birchb" : + {"hasAccount" : ",birchb1@jupiter"}, +"birchb1" : + {"jupiter" : + [",hasPassword,birchb-pw-2", + ",rdf:type,UnixAccount"]}, +"felicity" : + {"hasAccount" : ",john1@jupiter"}, +"joanna" : + {"hasAccount" : ",alice1@jupiter"}, +"john1" : + {"jupiter" : + [",hasPassword,felicity-pw-8", + ",rdf:type,UnixAccount"]}, +"jupiter" : + {"defaultAccount" : ",alice1", + "hasUser" : + [",alice1", + ",birchb1", + ",john1"], + "rdf" : + [":type,UnixMachine", + ":type,WasDmgr"]}, +"kalpana" : + {"hasAccount" : ",alice1@jupiter"}} fixtures/triples.csv--- -format json -order alpha -depth 2 ---------------------------------------------------------------------------------------------------- -{"Production" : {"was" : null} -, -"alice1" : {"jupiter" : null} -, -"alice2" : {"hasAccount" : null} -, -"birchb" : {"hasAccount" : null} -, -"birchb1" : {"jupiter" : null} -, -"felicity" : {"hasAccount" : null} -, -"joanna" : {"hasAccount" : null} -, -"john1" : {"jupiter" : null} -, -"jupiter" : {"defaultAccount" : null, -"hasUser" : null, -"rdf" : null} -, -"kalpana" : {"hasAccount" : null} -} +{"Production" : + {"was" : + {"hostname" : null}}, +"alice1" : + {"jupiter" : + {"hasPassword" : null, + "rdf" : null}}, +"alice2" : + {"hasAccount" : + {"evan1" : null}}, +"birchb" : + {"hasAccount" : + {"birchb1" : null}}, +"birchb1" : + {"jupiter" : + {"hasPassword" : null, + "rdf" : null}}, +"felicity" : + {"hasAccount" : + {"john1" : null}}, +"joanna" : + {"hasAccount" : + {"alice1" : null}}, +"john1" : + {"jupiter" : + {"hasPassword" : null, + "rdf" : null}}, +"jupiter" : + {"defaultAccount" : "alice1", + "hasUser" : + ["alice1", + "birchb1", + "john1"], + "rdf" : + {"type" : null}}, +"kalpana" : + {"hasAccount" : + {"alice1" : null}}} diff --git a/test/fixtures/simplechars.txt b/test/fixtures/simplechars.txt index 5c9d02a..8a6a843 100644 --- a/test/fixtures/simplechars.txt +++ b/test/fixtures/simplechars.txt @@ -1,5 +1,8 @@ -aklmsuv -abcdefghik -abc1234567 -abc123wxyz -aklmnop +A +C.2 +C.D +x.a.1 +x.a.2 +x +Z +1.2 \ No newline at end of file