-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_test.go
More file actions
104 lines (85 loc) · 2.21 KB
/
Copy pathexample_test.go
File metadata and controls
104 lines (85 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package publiccode_test
import (
"fmt"
"strings"
publiccode "github.com/italia/publiccode-parser-go/v5"
)
func ExampleNewDefaultParser() {
parser, err := publiccode.NewDefaultParser()
if err != nil {
panic(err)
}
_, err = parser.Parse("testdata/v0/valid/valid.minimal.yml")
if err != nil {
fmt.Println(err)
}
// Output:
}
func ExampleNewParser_disableNetwork() {
parser, err := publiccode.NewParser(publiccode.ParserConfig{
DisableNetwork: true,
})
if err != nil {
panic(err)
}
_, err = parser.Parse("testdata/v0/valid/valid.minimal.yml")
if err != nil {
fmt.Println(err)
}
// Output:
}
func ExampleParser_ParseStream() {
yaml := `
publiccodeYmlVersion: "0"
name: My Software
url: "https://github.com/example/example"
platforms:
- web
categories:
- cloud-management
developmentStatus: development
softwareType: "standalone/other"
description:
en-GB:
localisedName: My Software
shortDescription: >
A rather short description which
is probably useless
longDescription: >
Very long description of this software, also split
on multiple rows. You should note what the software
is and why one should need it. This is 158 characters.
Very long description of this software, also split
on multiple rows. You should note what the software
is and why one should need it. This is 316 characters.
Very long description of this software, also split
on multiple rows. You should note what the software
is and why one should need it. This is 474 characters.
Very long description of this software, also split
on multiple rows. You should note what the software
is and why one should need it. This is 632 characters.
features:
- Just one feature
legal:
license: AGPL-3.0-or-later
maintenance:
type: "community"
contacts:
- name: Francesco Rossi
localisation:
localisationReady: true
availableLanguages:
- en
`
parser, err := publiccode.NewParser(publiccode.ParserConfig{
DisableNetwork: true,
})
if err != nil {
panic(err)
}
_, err = parser.ParseStream(strings.NewReader(yaml))
if err != nil {
fmt.Println(err)
}
// Output:
}