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") } }