summaryrefslogtreecommitdiff
path: root/internal/repl
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-24 18:50:00 +0300
committerPaul Buetow <paul@buetow.org>2026-05-24 18:50:00 +0300
commitdc89fa2bbcdea7c8847828f64be5e46ddded33fb (patch)
tree67dd57478d39d9e75ccfcb576f5651bf53896379 /internal/repl
parent4188db97bcb771c1c8790ddbac2db3f9ee8884c3 (diff)
fix(rpn): change variadic NewRPN/NewOperations to single optional MetricReader (task ok)
Diffstat (limited to 'internal/repl')
-rw-r--r--internal/repl/concurrent_test.go10
-rw-r--r--internal/repl/repl.go2
-rw-r--r--internal/repl/repl_test.go24
-rw-r--r--internal/repl/rpnstate_test.go10
4 files changed, 23 insertions, 23 deletions
diff --git a/internal/repl/concurrent_test.go b/internal/repl/concurrent_test.go
index 501b363..62bf7dc 100644
--- a/internal/repl/concurrent_test.go
+++ b/internal/repl/concurrent_test.go
@@ -15,7 +15,7 @@ func TestConcurrentExecutor(t *testing.T) {
go func(id int) {
defer wg.Done()
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -37,7 +37,7 @@ func TestConcurrentRPN(t *testing.T) {
go func(id int) {
defer wg.Done()
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
_, _ = rpnCalc.ParseAndEvaluate("3 4 +")
}(i)
}
@@ -52,7 +52,7 @@ func TestConcurrentRatModeToggle(t *testing.T) {
go func(id int) {
defer wg.Done()
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -74,7 +74,7 @@ func TestConcurrentExecutorAndRPN(t *testing.T) {
go func(id int) {
defer wg.Done()
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -87,7 +87,7 @@ func TestConcurrentExecutorAndRPN(t *testing.T) {
go func(id int) {
defer wg.Done()
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
_, _ = rpnCalc.ParseAndEvaluate("3 4 +")
}(i)
}
diff --git a/internal/repl/repl.go b/internal/repl/repl.go
index 2ecd9ea..451b6c3 100644
--- a/internal/repl/repl.go
+++ b/internal/repl/repl.go
@@ -179,7 +179,7 @@ func NewREPL(executor func(string), completer func() []string, logWriter io.Writ
fmt.Printf("Warning: Could not load saved variables: %v\n", err)
}
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpnState := NewRPNState(vars, rpnCalc)
repl := &REPL{
diff --git a/internal/repl/repl_test.go b/internal/repl/repl_test.go
index f8e22a2..a7fd2f8 100644
--- a/internal/repl/repl_test.go
+++ b/internal/repl/repl_test.go
@@ -18,7 +18,7 @@ func createTestREPL() *REPL {
historyMgr: NewHistoryManager(".gt_history"),
signalHandler: NewSignalHandler(),
commandChain: NewCommandChain(),
- rpnState: &RPNState{vars: vars, rpnCalc: rpn.NewRPN(vars)},
+ rpnState: &RPNState{vars: vars, rpnCalc: rpn.NewRPN(vars, nil)},
}
}
@@ -186,7 +186,7 @@ func TestRunRPN(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
input := strings.TrimSpace(tt.input)
if strings.HasPrefix(input, "rpn ") {
@@ -408,7 +408,7 @@ func TestExecutorWithCalcPrefixMixed(t *testing.T) {
// TestExecutorWithRatModeOn tests that rat on works with fresh REPL
func TestExecutorWithRatModeOn(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -425,7 +425,7 @@ func TestExecutorWithRatModeOn(t *testing.T) {
// TestExecutorWithRatModeOff tests that rat off works with fresh REPL
func TestExecutorWithRatModeOff(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -442,7 +442,7 @@ func TestExecutorWithRatModeOff(t *testing.T) {
// TestExecutorWithRatModeToggle tests that rat toggle works with fresh REPL
func TestExecutorWithRatModeToggle(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -487,7 +487,7 @@ func TestIsBuiltinCommandWithSubcommandHelp(t *testing.T) {
// TestExecutorWithAssignmentRight tests := and =: operators
func TestExecutorWithAssignmentRight(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -520,7 +520,7 @@ func TestExecutorWithAssignmentRight(t *testing.T) {
// TestExecutorWithAssignmentAfterCalculation tests assignment after a calculation
func TestExecutorWithAssignmentAfterCalculation(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -543,7 +543,7 @@ func TestExecutorWithAssignmentAfterCalculation(t *testing.T) {
// TestExecutorWithIncrementalAssignment tests that assignment works after a calculation with separate commands
func TestExecutorWithIncrementalAssignment(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -570,7 +570,7 @@ func TestExecutorWithIncrementalAssignment(t *testing.T) {
// TestExecutorWithSimpleIncrementalAssignment tests x =: after 2 in REPL
func TestExecutorWithSimpleIncrementalAssignment(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -596,7 +596,7 @@ func TestExecutorWithSimpleIncrementalAssignment(t *testing.T) {
// TestExecutorWithExactUserScenario tests the exact user scenario: 2 then x =:
func TestExecutorWithExactUserScenario(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -628,7 +628,7 @@ func TestExecutorWithExactUserScenario(t *testing.T) {
// TestExecutorWithExactUserScenarioWithOutput tests that x =: assigns and shows result
func TestExecutorWithExactUserScenarioWithOutput(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
@@ -660,7 +660,7 @@ func TestExecutorWithExactUserScenarioWithOutput(t *testing.T) {
// TestExecutorWithExactUserScenarioDirect simulates REPL input flow
func TestExecutorWithExactUserScenarioDirect(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
rpl := &REPL{
ttyChecker: &TTYChecker{},
historyMgr: NewHistoryManager(".gt_history"),
diff --git a/internal/repl/rpnstate_test.go b/internal/repl/rpnstate_test.go
index 1d54dea..80c7f65 100644
--- a/internal/repl/rpnstate_test.go
+++ b/internal/repl/rpnstate_test.go
@@ -14,7 +14,7 @@ import (
func TestNewRPNState(t *testing.T) {
vars := rpn.NewVariables()
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
state := NewRPNState(vars, rpnCalc)
if state == nil {
t.Fatal("NewRPNState() returned nil")
@@ -25,7 +25,7 @@ func TestRPNStateLoadVariablesEmpty(t *testing.T) {
// When varStoreFile is empty, LoadVariables should return nil
state := &RPNState{
vars: rpn.NewVariables(),
- rpnCalc: rpn.NewRPN(rpn.NewVariables()),
+ rpnCalc: rpn.NewRPN(rpn.NewVariables(), nil),
varStoreFile: "",
}
err := state.LoadVariables()
@@ -37,7 +37,7 @@ func TestRPNStateLoadVariablesEmpty(t *testing.T) {
func TestRPNStateSaveVariablesEmpty(t *testing.T) {
state := &RPNState{
vars: rpn.NewVariables(),
- rpnCalc: rpn.NewRPN(rpn.NewVariables()),
+ rpnCalc: rpn.NewRPN(rpn.NewVariables(), nil),
varStoreFile: "",
}
err := state.SaveVariables()
@@ -70,7 +70,7 @@ func TestRPNStateSaveLoadRoundTrip(t *testing.T) {
vars.SetVariable("x", 42.0)
vars.SetVariable("y", 3.14)
- rpnCalc := rpn.NewRPN(vars)
+ rpnCalc := rpn.NewRPN(vars, nil)
state := &RPNState{
vars: vars,
rpnCalc: rpnCalc,
@@ -91,7 +91,7 @@ func TestRPNStateSaveLoadRoundTrip(t *testing.T) {
newVars := rpn.NewVariables()
newState := &RPNState{
vars: newVars,
- rpnCalc: rpn.NewRPN(newVars),
+ rpnCalc: rpn.NewRPN(newVars, nil),
varStoreFile: varStorePath,
}