diff options
author | Santiago M. Mola <santi@mola.io> | 2016-10-26 18:41:39 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-10-26 16:41:39 +0000 |
commit | 61f0188edcea55dbcfa1c3a35da0c34fed10fd54 (patch) | |
tree | 08b59ecd20719f448d64073845bf40cf2d86fd7c /formats/config/fixtures_test.go | |
parent | 194da90f885d4cb7cf2bf4c84a74e5d559000764 (diff) | |
download | go-git-61f0188edcea55dbcfa1c3a35da0c34fed10fd54.tar.gz |
formats/config: Added encoder/decoder for git config files. (#97)
* WIP: Add config format parser.
* add decoder based on gcfg.
Portions of code taken from:
https://github.com/go-gcfg/gcfg/blob/5b9f94ee80b2331c3982477bd84be8edd857df33/read.go
* add git config encoder and config methods.
* use format/config in storage/filesystem for read
* use format/config in storage/filesystem to write
* formats/config: improve docs.
* formats/config: improve tests.
* formats/config: use our fork of gcfg; improve api.
* formats/config: improve api.
* storage/filesystem: fix gofmt
* formats/config: use NoSubsection constant.
* formats/config: add doc.go
* formats/config: requested sytle changes.
* formats/config: do not use *_test packages.
Diffstat (limited to 'formats/config/fixtures_test.go')
-rw-r--r-- | formats/config/fixtures_test.go | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/formats/config/fixtures_test.go b/formats/config/fixtures_test.go new file mode 100644 index 0000000..12ff288 --- /dev/null +++ b/formats/config/fixtures_test.go @@ -0,0 +1,90 @@ +package config + +type Fixture struct { + Text string + Raw string + Config *Config +} + +var fixtures = []*Fixture{ + { + Raw: "", + Text: "", + Config: New(), + }, + { + Raw: ";Comments only", + Text: "", + Config: New(), + }, + { + Raw: "#Comments only", + Text: "", + Config: New(), + }, + { + Raw: "[core]\nrepositoryformatversion=0", + Text: "[core]\n\trepositoryformatversion = 0\n", + Config: New().AddOption("core", "", "repositoryformatversion", "0"), + }, + { + Raw: "[core]\n\trepositoryformatversion = 0\n", + Text: "[core]\n\trepositoryformatversion = 0\n", + Config: New().AddOption("core", "", "repositoryformatversion", "0"), + }, + { + Raw: ";Commment\n[core]\n;Comment\nrepositoryformatversion = 0\n", + Text: "[core]\n\trepositoryformatversion = 0\n", + Config: New().AddOption("core", "", "repositoryformatversion", "0"), + }, + { + Raw: "#Commment\n#Comment\n[core]\n#Comment\nrepositoryformatversion = 0\n", + Text: "[core]\n\trepositoryformatversion = 0\n", + Config: New().AddOption("core", "", "repositoryformatversion", "0"), + }, + { + Raw: ` + [sect1] + opt1 = value1 + [sect1 "subsect1"] + opt2 = value2 + `, + Text: `[sect1] + opt1 = value1 +[sect1 "subsect1"] + opt2 = value2 +`, + Config: New(). + AddOption("sect1", "", "opt1", "value1"). + AddOption("sect1", "subsect1", "opt2", "value2"), + }, + { + Raw: ` + [sect1] + opt1 = value1 + [sect1 "subsect1"] + opt2 = value2 + [sect1] + opt1 = value1b + [sect1 "subsect1"] + opt2 = value2b + [sect1 "subsect2"] + opt2 = value2 + `, + Text: `[sect1] + opt1 = value1 + opt1 = value1b +[sect1 "subsect1"] + opt2 = value2 + opt2 = value2b +[sect1 "subsect2"] + opt2 = value2 +`, + Config: New(). + AddOption("sect1", "", "opt1", "value1"). + AddOption("sect1", "", "opt1", "value1b"). + AddOption("sect1", "subsect1", "opt2", "value2"). + AddOption("sect1", "subsect1", "opt2", "value2b"). + AddOption("sect1", "subsect2", "opt2", "value2"), + }, +} |