gitea
Зеркало из https://github.com/go-gitea/gitea
1// Copyright 2023 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package devtest
5
6import (
7"net/http"
8"path"
9"strings"
10"time"
11
12"code.gitea.io/gitea/modules/base"
13"code.gitea.io/gitea/modules/templates"
14"code.gitea.io/gitea/services/context"
15)
16
17// List all devtest templates, they will be used for e2e tests for the UI components
18func List(ctx *context.Context) {
19templateNames, err := templates.AssetFS().ListFiles("devtest", true)
20if err != nil {
21ctx.ServerError("AssetFS().ListFiles", err)
22return
23}
24var subNames []string
25for _, tmplName := range templateNames {
26subName := strings.TrimSuffix(tmplName, ".tmpl")
27if subName != "list" {
28subNames = append(subNames, subName)
29}
30}
31ctx.Data["SubNames"] = subNames
32ctx.HTML(http.StatusOK, "devtest/list")
33}
34
35func FetchActionTest(ctx *context.Context) {
36_ = ctx.Req.ParseForm()
37ctx.Flash.Info("fetch-action: " + ctx.Req.Method + " " + ctx.Req.RequestURI + "<br>" +
38"Form: " + ctx.Req.Form.Encode() + "<br>" +
39"PostForm: " + ctx.Req.PostForm.Encode(),
40)
41time.Sleep(2 * time.Second)
42ctx.JSONRedirect("")
43}
44
45func Tmpl(ctx *context.Context) {
46now := time.Now()
47ctx.Data["TimeNow"] = now
48ctx.Data["TimePast5s"] = now.Add(-5 * time.Second)
49ctx.Data["TimeFuture5s"] = now.Add(5 * time.Second)
50ctx.Data["TimePast2m"] = now.Add(-2 * time.Minute)
51ctx.Data["TimeFuture2m"] = now.Add(2 * time.Minute)
52ctx.Data["TimePast1y"] = now.Add(-1 * 366 * 86400 * time.Second)
53ctx.Data["TimeFuture1y"] = now.Add(1 * 366 * 86400 * time.Second)
54
55if ctx.Req.Method == "POST" {
56_ = ctx.Req.ParseForm()
57ctx.Flash.Info("form: "+ctx.Req.Method+" "+ctx.Req.RequestURI+"<br>"+
58"Form: "+ctx.Req.Form.Encode()+"<br>"+
59"PostForm: "+ctx.Req.PostForm.Encode(),
60true,
61)
62time.Sleep(2 * time.Second)
63}
64
65ctx.HTML(http.StatusOK, base.TplName("devtest"+path.Clean("/"+ctx.PathParam("sub"))))
66}
67