54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
package optimizer
|
|
|
|
import (
|
|
"testing"
|
|
"c65gm/internal/preproc"
|
|
)
|
|
|
|
func TestNewConfigWithAll(t *testing.T) {
|
|
ps := preproc.NewPragmaSet(map[string]string{
|
|
"_P_OPT_ALL": "1",
|
|
"_P_OPT_DEBUG": "1",
|
|
})
|
|
cfg := NewConfig(ps)
|
|
if !cfg.Any() {
|
|
t.Error("expected Any()=true")
|
|
}
|
|
if !cfg.EnableLoad {
|
|
t.Error("expected EnableLoad=true from _P_OPT_ALL")
|
|
}
|
|
if !cfg.EnableImm {
|
|
t.Error("expected EnableImm=true from _P_OPT_ALL")
|
|
}
|
|
if !cfg.Debug {
|
|
t.Error("expected Debug=true")
|
|
}
|
|
}
|
|
|
|
func TestNewConfigPragmasAccumulate(t *testing.T) {
|
|
// Pragma sets COPY previous values — so last set has ALL pragmas
|
|
p := preproc.NewPragma()
|
|
p.AddPragma("_P_OPT_ALL", "1")
|
|
p.AddPragma("_P_OPT_DEBUG", "1")
|
|
p.AddPragma("_P_SOMETHING_ELSE", "1")
|
|
|
|
// Last set should have all three
|
|
ps := p.GetPragmaSetByIndex(p.GetCurrentPragmaSetIndex())
|
|
if v := ps.GetPragma("_P_OPT_ALL"); v != "1" {
|
|
t.Errorf("expected _P_OPT_ALL=1, got %q", v)
|
|
}
|
|
if v := ps.GetPragma("_P_OPT_DEBUG"); v != "1" {
|
|
t.Errorf("expected _P_OPT_DEBUG=1, got %q", v)
|
|
}
|
|
if v := ps.GetPragma("_P_SOMETHING_ELSE"); v != "1" {
|
|
t.Errorf("expected _P_SOMETHING_ELSE=1, got %q", v)
|
|
}
|
|
|
|
cfg := NewConfig(ps)
|
|
if !cfg.Any() {
|
|
t.Error("expected Any()=true")
|
|
}
|
|
if !cfg.Debug {
|
|
t.Error("expected Debug=true")
|
|
}
|
|
}
|