Skip to content

Commit ee0c009

Browse files
committed
Use textFileToGoConst to generate the constant rather than the include_all_lua approach.
1 parent 11cdce9 commit ee0c009

File tree

4 files changed

+68
-45
lines changed

4 files changed

+68
-45
lines changed

tests/internal/include_all_lua.go

Lines changed: 0 additions & 37 deletions
This file was deleted.

tests/lua_const.go

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,67 @@
1-
// suite.lua for gopher-lua https://pkg.go.dev/github.com/stretchr/testify/suite
1+
// GENERATED BY textFileToGoConst
2+
// GitHub: github.com/logrusorgru/textFileToGoConst
3+
// input file: suite.lua
4+
// generated: Sat Nov 5 20:27:23 PDT 2022
5+
26
package tests
37

4-
const lua_suite = "bG9jYWwgc3RyaW5ncyA9IHJlcXVpcmUgJ3N0cmluZ3MnCgpsb2NhbCBzdWl0ZSA9IHsKICAgIHQgPSBuaWwsCiAgICBTdWl0ZSA9IHt9LAp9CgpmdW5jdGlvbiBzdWl0ZS5SdW4odCwgdGVzdFN1aXRlKQogICAgLS0gdGVzdFN1aXRlIG11c3QgYmUgc3ViY2xhc3Mgb2Ygc3VpdGUuU3VpdGUsIHNvIHdpbGwgaGF2ZSB0aGlzIG1ldGhvZAogICAgdGVzdFN1aXRlOlNldFQodCkKCiAgICBpZiB0ZXN0U3VpdGUuU2V0dXBTdWl0ZSB0aGVuCiAgICAgICAgdGVzdFN1aXRlOlNldHVwU3VpdGUoKQogICAgZW5kCiAgICBmb3IgaywgdiBpbiBwYWlycyh0ZXN0U3VpdGUpIGRvCiAgICAgICAgaWYgc3RyaW5ncy5oYXNfcHJlZml4KGssICJUZXN0IikgdGhlbgogICAgICAgICAgICBpZiB0ZXN0U3VpdGUuU2V0dXBUZXN0IHRoZW4KICAgICAgICAgICAgICAgIHRlc3RTdWl0ZTpTZXR1cFRlc3QoKQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgdDpSdW4oaywgZnVuY3Rpb24odCkKICAgICAgICAgICAgICAgIHRlc3RTdWl0ZTpTZXRUKHQpCiAgICAgICAgICAgICAgICB2KHRlc3RTdWl0ZSkKICAgICAgICAgICAgZW5kKQogICAgICAgICAgICB0ZXN0U3VpdGU6U2V0VCh0KQogICAgICAgICAgICBpZiB0ZXN0U3VpdGUuVGVhckRvd25UZXN0IHRoZW4KICAgICAgICAgICAgICAgIHRlc3RTdWl0ZTpUZWFyRG93blRlc3QoKQogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgIGVuZAogICAgaWYgdGVzdFN1aXRlLlRlYXJEb3duU3VpdGUgdGhlbgogICAgICAgIHRlc3RTdWl0ZTpUZWFyRG93blN1aXRlKCkKICAgIGVuZAplbmQKCmZ1bmN0aW9uIHN1aXRlLlN1aXRlOm5ldyhvKQogICAgbyA9IG8gb3Ige30gICAtLSBjcmVhdGUgb2JqZWN0IGlmIHVzZXIgZG9lcyBub3QgcHJvdmlkZSBvbmUKICAgIHNldG1ldGF0YWJsZShvLCBzZWxmKQogICAgc2VsZi5fX2luZGV4ID0gc2VsZgogICAgcmV0dXJuIG8KZW5kCgpmdW5jdGlvbiBzdWl0ZS5TdWl0ZTpUKCkKICAgIHJldHVybiBzZWxmLnQKZW5kCgpmdW5jdGlvbiBzdWl0ZS5TdWl0ZTpTZXRUKHQpCiAgICBzZWxmLnQgPSB0CmVuZAoKZnVuY3Rpb24gc3VpdGUuU3VpdGU6UnVuKG5hbWUsIGYpCiAgICBsb2NhbCB0ID0gc2VsZjpUKCkKICAgIHNlbGY6VCgpOlJ1bihuYW1lLCBmdW5jdGlvbih0KQogICAgICAgIHNlbGY6U2V0VCh0KQogICAgICAgIGYoc2VsZikKICAgIGVuZCkKICAgIHNlbGY6U2V0VCh0KQplbmQKCnJldHVybiBzdWl0ZQo="
8+
const lua_suite = `local strings = require 'strings'
9+
10+
local suite = {
11+
t = nil,
12+
Suite = {},
13+
}
14+
15+
function suite.Run(t, testSuite)
16+
-- testSuite must be subclass of suite.Suite, so will have this method
17+
testSuite:SetT(t)
18+
19+
if testSuite.SetupSuite then
20+
testSuite:SetupSuite()
21+
end
22+
for k, v in pairs(testSuite) do
23+
if strings.has_prefix(k, "Test") then
24+
if testSuite.SetupTest then
25+
testSuite:SetupTest()
26+
end
27+
t:Run(k, function(t)
28+
testSuite:SetT(t)
29+
v(testSuite)
30+
end)
31+
testSuite:SetT(t)
32+
if testSuite.TearDownTest then
33+
testSuite:TearDownTest()
34+
end
35+
end
36+
end
37+
if testSuite.TearDownSuite then
38+
testSuite:TearDownSuite()
39+
end
40+
end
41+
42+
function suite.Suite:new(o)
43+
o = o or {} -- create object if user does not provide one
44+
setmetatable(o, self)
45+
self.__index = self
46+
return o
47+
end
48+
49+
function suite.Suite:T()
50+
return self.t
51+
end
52+
53+
function suite.Suite:SetT(t)
54+
self.t = t
55+
end
56+
57+
function suite.Suite:Run(name, f)
58+
local t = self:T()
59+
self:T():Run(name, function(t)
60+
self:SetT(t)
61+
f(self)
62+
end)
63+
self:SetT(t)
64+
end
65+
66+
return suite
67+
`

tests/testutil.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tests
22

33
import (
4-
"encoding/base64"
54
"github.com/stretchr/testify/assert"
65
"github.com/stretchr/testify/require"
76
lua "github.com/yuin/gopher-lua"
@@ -11,6 +10,8 @@ import (
1110
"testing"
1211
)
1312

13+
//go:generate go run github.com/logrusorgru/textFileToGoConst@latest -in suite.lua -o lua_const.go -c lua_suite
14+
1415
type PreloadFunc func(L *lua.LState)
1516

1617
const (
@@ -125,11 +126,7 @@ func registerTType(L *lua.LState) {
125126
}
126127

127128
func LoadSuite(L *lua.LState) int {
128-
code, err := base64.StdEncoding.DecodeString(lua_suite)
129-
if err != nil {
130-
L.RaiseError(err.Error())
131-
}
132-
if err = L.DoString(string(code)); err != nil {
129+
if err := L.DoString(lua_suite); err != nil {
133130
L.RaiseError(err.Error())
134131
}
135132
return 1

0 commit comments

Comments
 (0)