dag: cbor input-enc
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Łukasz Magiera committed
Aug 9, 2017 at 19:51 UTC
6bf019aeedbbb5bce30b47ff98a85188b830c557
2 files changed
+12
core/coredag/dagtransl.go
+6
@@ -20,6 +20,7 @@ type InputEncParsers map[string]FormatParsers
20
var DefaultInputEncParsers = InputEncParsers{
21
"json": defaultJSONParsers,
22
"raw": defaultRawParsers,
23
+ "cbor": defaultCborParsers,
24
}
25
26
var defaultJSONParsers = FormatParsers{
@@ -32,6 +33,11 @@ var defaultRawParsers = FormatParsers{
33
"dag-cbor": cborRawParser,
34
}
35
36
+var defaultCborParsers = FormatParsers{
37
+ "cbor": cborRawParser,
38
+ "dag-cbor": cborRawParser,
39
+}
40
+
41
// ParseInputs uses DefaultInputEncParsers to parse io.Reader described by
42
// input encoding and format to an instance of ipld Node
43
func ParseInputs(ienc, format string, r io.Reader, mhType uint64, mhLen int) ([]node.Node, error) {
test/sharness/t0053-dag.sh
+6
@@ -118,6 +118,12 @@ test_dag_cmd() {
118
test_fsh echo $HASH
119
'
120
121
+ test_expect_success "non-canonical cbor input is normalized with input-enc cbor" '
122
+ HASH=$(cat ../t0053-dag-data/non-canon.cbor | ipfs dag put --format=cbor --input-enc=cbor) &&
123
+ test $HASH = "zdpuAmxF8q6iTUtkB3xtEYzmc5Sw762qwQJftt5iW8NTWLtjC" ||
124
+ test_fsh echo $HASH
125
+ '
126
+
127
test_expect_success "add an ipld with pin" '
128
PINHASH=$(printf {\"foo\":\"bar\"} | ipfs dag put --pin=true)
129
'