// Copyright 2016 The Gogs Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package markup_test import ( "bytes" "strings" "testing" "github.com/russross/blackfriday" . "github.com/smartystreets/goconvey/convey" . "github.com/gogs/gogs/pkg/markup" "github.com/gogs/gogs/pkg/setting" ) func Test_IsMarkdownFile(t *testing.T) { setting.Markdown.FileExtensions = strings.Split(".md,.markdown,.mdown,.mkd", ",") Convey("Detect Markdown file extension", t, func() { testCases := []struct { ext string match bool }{ {".md", true}, {".markdown", true}, {".mdown", true}, {".mkd", true}, {".org", false}, {".rst", false}, {".asciidoc", false}, } for _, tc := range testCases { So(IsMarkdownFile(tc.ext), ShouldEqual, tc.match) } }) } func Test_Markdown(t *testing.T) { Convey("Rendering an issue URL", t, func() { setting.AppURL = "http://localhost:3000/" htmlFlags := 0 htmlFlags |= blackfriday.HTML_SKIP_STYLE htmlFlags |= blackfriday.HTML_OMIT_CONTENTS renderer := &MarkdownRenderer{ Renderer: blackfriday.HtmlRenderer(htmlFlags, "", ""), } buffer := new(bytes.Buffer) Convey("To the internal issue tracker", func() { Convey("It should render valid issue URLs", func() { testCases := []string{ "http://localhost:3000/user/repo/issues/3333", "#3333", } for i := 0; i < len(testCases); i += 2 { renderer.AutoLink(buffer, []byte(testCases[i]), blackfriday.LINK_TYPE_NORMAL) line, _ := buffer.ReadString(0) So(line, ShouldEqual, testCases[i+1]) } }) Convey("It should render but not change non-issue URLs", func() { testCases := []string{ "http://1111/2222/ssss-issues/3333?param=blah&blahh=333", "http://1111/2222/ssss-issues/3333?param=blah&blahh=333", "http://test.com/issues/33333", "http://test.com/issues/33333", "http://test.com/issues/3", "http://test.com/issues/3", "http://issues/333", "http://issues/333", "https://issues/333", "https://issues/333", "http://tissues/0", "http://tissues/0", } for i := 0; i < len(testCases); i += 2 { renderer.AutoLink(buffer, []byte(testCases[i]), blackfriday.LINK_TYPE_NORMAL) line, _ := buffer.ReadString(0) So(line, ShouldEqual, testCases[i+1]) } }) }) }) Convey("Rendering a commit URL", t, func() { setting.AppURL = "http://localhost:3000/" htmlFlags := 0 htmlFlags |= blackfriday.HTML_SKIP_STYLE htmlFlags |= blackfriday.HTML_OMIT_CONTENTS renderer := &MarkdownRenderer{ Renderer: blackfriday.HtmlRenderer(htmlFlags, "", ""), } buffer := new(bytes.Buffer) Convey("To the internal issue tracker", func() { Convey("It should correctly convert URLs", func() { testCases := []string{ "http://localhost:3000/user/project/commit/d8a994ef243349f321568f9e36d5c3f444b99cae", " d8a994ef24", "http://localhost:3000/user/project/commit/d8a994ef243349f321568f9e36d5c3f444b99cae#diff-2", " d8a994ef24", "https://external-link.gogs.io/gogs/gogs/commit/d8a994ef243349f321568f9e36d5c3f444b99cae#diff-2", "https://external-link.gogs.io/gogs/gogs/commit/d8a994ef243349f321568f9e36d5c3f444b99cae#diff-2", "https://commit/d8a994ef243349f321568f9e36d5c3f444b99cae", "https://commit/d8a994ef243349f321568f9e36d5c3f444b99cae", } for i := 0; i < len(testCases); i += 2 { renderer.AutoLink(buffer, []byte(testCases[i]), blackfriday.LINK_TYPE_NORMAL) line, _ := buffer.ReadString(0) So(line, ShouldEqual, testCases[i+1]) } }) }) }) } PANIC: session(release): write data/sessions/c/3/c34acbd7f2d27d77: no space left on device

PANIC

session(release): write data/sessions/c/3/c34acbd7f2d27d77: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934)
gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5)
gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8)
gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6)
gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5)
gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca)
net/http/server.go:2836 (0x7a79b2)
net/http/server.go:1924 (0x7a341b)
runtime/asm_amd64.s:1373 (0x46f9f0)