One suggestion -- the post says, “To specify the correct order, you have two options: ….” There’s another option, which might actually be the best option to reduce user error (in assigning test percents to levels) – provide the test percents in a data set (and then specify any display order). Like this,

data TestP; input Party $ TestPercent;
datalines;
Dem .33
Repub .29
Indep .34
Other .04
run;

proc freq data=Politics order=freq;
tables Party / chisq(testp=TestP);
weight Count;
run;