Skip to content

Commit 4503834

Browse files
committed
feat: add testing
1 parent 599cbdc commit 4503834

File tree

4 files changed

+65
-4
lines changed

4 files changed

+65
-4
lines changed

coverage.out

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
mode: count
2+
github.com/hhirsch/sps-buddy/main.go:16.41,17.38 1 2
3+
github.com/hhirsch/sps-buddy/main.go:17.38,19.3 1 2
4+
github.com/hhirsch/sps-buddy/main.go:19.8,22.3 2 0
5+
github.com/hhirsch/sps-buddy/main.go:25.31,27.33 2 3
6+
github.com/hhirsch/sps-buddy/main.go:27.33,28.53 1 2
7+
github.com/hhirsch/sps-buddy/main.go:28.53,32.4 3 1
8+
github.com/hhirsch/sps-buddy/main.go:33.3,33.53 1 1
9+
github.com/hhirsch/sps-buddy/main.go:33.53,37.4 3 1
10+
github.com/hhirsch/sps-buddy/main.go:40.2,43.41 1 1
11+
github.com/hhirsch/sps-buddy/main.go:43.41,46.3 2 0
12+
github.com/hhirsch/sps-buddy/main.go:48.2,48.42 1 1
13+
github.com/hhirsch/sps-buddy/main.go:48.42,50.3 1 0
14+
github.com/hhirsch/sps-buddy/main.go:53.39,56.15 3 0
15+
github.com/hhirsch/sps-buddy/main.go:56.15,58.17 2 0
16+
github.com/hhirsch/sps-buddy/main.go:58.17,60.4 1 0
17+
github.com/hhirsch/sps-buddy/main.go:63.2,63.16 1 0
18+
github.com/hhirsch/sps-buddy/main.go:63.16,66.3 2 0
19+
github.com/hhirsch/sps-buddy/main.go:68.2,69.21 2 0
20+
github.com/hhirsch/sps-buddy/main.go:69.21,72.3 2 0
21+
github.com/hhirsch/sps-buddy/main.go:74.2,74.38 1 0
22+
github.com/hhirsch/sps-buddy/main.go:74.38,77.3 2 0
23+
github.com/hhirsch/sps-buddy/main.go:79.2,79.21 1 0
24+
github.com/hhirsch/sps-buddy/main.go:79.21,81.3 1 0
25+
github.com/hhirsch/sps-buddy/main.go:82.2,82.10 1 0
26+
github.com/hhirsch/sps-buddy/main.go:85.13,86.24 1 0
27+
github.com/hhirsch/sps-buddy/main.go:86.24,89.3 2 0
28+
github.com/hhirsch/sps-buddy/main.go:91.2,91.44 1 0
29+
github.com/hhirsch/sps-buddy/main.go:91.44,94.3 2 0
30+
github.com/hhirsch/sps-buddy/main.go:96.2,96.47 1 0
31+
github.com/hhirsch/sps-buddy/main.go:96.47,98.90 2 0
32+
github.com/hhirsch/sps-buddy/main.go:98.90,99.68 1 0
33+
github.com/hhirsch/sps-buddy/main.go:99.68,101.5 1 0
34+
github.com/hhirsch/sps-buddy/main.go:103.4,103.14 1 0
35+
github.com/hhirsch/sps-buddy/main.go:105.3,105.17 1 0
36+
github.com/hhirsch/sps-buddy/main.go:105.17,108.4 2 0
37+
github.com/hhirsch/sps-buddy/main.go:109.3,109.23 1 0
38+
github.com/hhirsch/sps-buddy/main.go:109.23,112.4 2 0
39+
github.com/hhirsch/sps-buddy/main.go:112.9,115.4 2 0
40+
github.com/hhirsch/sps-buddy/main.go:117.3,117.17 1 0
41+
github.com/hhirsch/sps-buddy/main.go:117.17,120.4 2 0
42+
github.com/hhirsch/sps-buddy/main.go:124.2,125.12 2 0
43+
github.com/hhirsch/sps-buddy/internal/models/style/symbol.go:8.42,11.2 2 0
44+
github.com/hhirsch/sps-buddy/internal/models/style/symbol.go:13.37,16.2 2 0

main.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import (
66
"github.com/hhirsch/sps-buddy/internal/models/style"
77
"os"
88
"path/filepath"
9+
"slices"
910
"strings"
1011
)
1112

1213
var arguments []string = os.Args
1314
var parserIsInsideVariableBlock bool = false
1415
var isErrorDetected bool = false
16+
var variableBlockStartStrings = []string{"VAR_INPUT", "VAR", "VAR_OUTPUT", "VAR_TEMP"}
1517

1618
func checkVariableStyle(parts []string) {
1719
if style.IsMixedCamelCase(parts[0]) {
@@ -37,10 +39,7 @@ func handleLine(input string) {
3739
}
3840
}
3941

40-
if inputWithoutWhiteSpaces == "VAR_INPUT" ||
41-
inputWithoutWhiteSpaces == "VAR" ||
42-
inputWithoutWhiteSpaces == "VAR_OUTPUT" ||
43-
inputWithoutWhiteSpaces == "VAR_TEMP" {
42+
if slices.Contains(variableBlockStartStrings, inputWithoutWhiteSpaces) {
4443
parserIsInsideVariableBlock = true
4544
return
4645
}

main_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,20 @@ import (
44
"testing"
55
)
66

7+
func resetState() {
8+
parserIsInsideVariableBlock = false
9+
}
10+
711
func TestDetectsWhenInVariableBlock(test *testing.T) {
12+
test.Cleanup(resetState)
813
handleLine("errorActive1 : Bool;")
914
if parserIsInsideVariableBlock {
1015
test.Error("mixed camel case must be valid")
1116
}
1217
}
1318

1419
func TestMixedCamelCaseVariableIsValid(test *testing.T) {
20+
test.Cleanup(resetState)
1521
parserIsInsideVariableBlock = true
1622
handleLine("errorActive1 : Bool;")
1723
if isErrorDetected {
@@ -20,9 +26,21 @@ func TestMixedCamelCaseVariableIsValid(test *testing.T) {
2026
}
2127

2228
func TestMixedCamelCaseFunctionIsValid(test *testing.T) {
29+
test.Cleanup(resetState)
2330
parserIsInsideVariableBlock = true
2431
handleLine("almError {InstructionName := 'Program_Alarm'; LibVersion := '1.0'} : Program_Alarm;")
2532
if isErrorDetected {
2633
test.Error("mixed camel case must be valid")
2734
}
2835
}
36+
37+
func TestVarInputTriggersInsideVariableBlock(test *testing.T) {
38+
test.Cleanup(resetState)
39+
if parserIsInsideVariableBlock {
40+
test.Error("initial value of inside variable block should be false")
41+
}
42+
handleLine("VAR_INPUT")
43+
if !parserIsInsideVariableBlock {
44+
test.Error("did not detect that VAR_INPUT started")
45+
}
46+
}

sps-buddy

2.92 MB
Binary file not shown.

0 commit comments

Comments
 (0)