1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2015-05-24 22:43:55 -04:00
parent 6eec99a713
commit 51e6188c1e
1577 changed files with 11555 additions and 10080 deletions

View File

@@ -24,14 +24,14 @@ interface TstRuleMgr {
class Xop_rule_mgr implements TstRuleMgr {
public boolean SkipChkVal(String expdTypeKey, TstAtr expd) {
String key = expdTypeKey + "." + expd.Key();
Xop_rule_dat ruleDat = (Xop_rule_dat)hash.Fetch(key); if (ruleDat == null) return false;
Xop_rule_dat ruleDat = (Xop_rule_dat)hash.Get_by(key); if (ruleDat == null) return false;
if (expd.ValType().Eq(expd.Val(), ruleDat.SkipVal())) return true;
return false;
}
public boolean SkipChkObj(String expdTypeKey, String atrKey, TstObj expd) {
String key = expdTypeKey + "." + atrKey;
Xop_rule_dat ruleDat = (Xop_rule_dat)hash.Fetch(key); if (ruleDat == null) return false;
TstAtr expdAtr = (TstAtr)expd.Atrs().Fetch(ruleDat.SubKey());
Xop_rule_dat ruleDat = (Xop_rule_dat)hash.Get_by(key); if (ruleDat == null) return false;
TstAtr expdAtr = (TstAtr)expd.Atrs().Get_by(ruleDat.SubKey());
if (expdAtr == null) return false;
if (expdAtr.ValType().Eq(expdAtr.Val(), ruleDat.SkipVal())) return true;
return false;
@@ -51,7 +51,7 @@ class Xop_rule_mgr implements TstRuleMgr {
return this;
}
public String Reg() {return typeKey;}
OrderedHash hash = OrderedHash_.new_();
Ordered_hash hash = Ordered_hash_.new_();
public static final Xop_rule_mgr _ = new Xop_rule_mgr();
}
class Xop_rule_dat {
@@ -78,22 +78,22 @@ public class TstObj_tst {
}
private static int Add(int[] ary) {int rv = 0; for (int i = 0; i < ary.length; i++) rv += ary[i]; return rv;}
@gplx.Internal protected static void Eval(String raw, TstObj expdChk, TstObj actlChk, TstRuleMgr ruleMgr) {
ListAdp rslts = ListAdp_.new_();
Eval(rslts, ruleMgr, OrderedHash_.new_(), "", expdChk, actlChk);
List_adp rslts = List_adp_.new_();
Eval(rslts, ruleMgr, Ordered_hash_.new_(), "", expdChk, actlChk);
String_bldr sb = String_bldr_.new_();
sb.Add(raw).Add(Op_sys.Lnx.Nl_str());
boolean pass = true;
int[] cols = new int[3];
for (int i = 0; i < rslts.Count(); i++) {
TstRslt rslt = (TstRslt)rslts.FetchAt(i);
TstRslt rslt = (TstRslt)rslts.Get_at(i);
Max(cols, 0, rslt.EvalStr());
Max(cols, 1, rslt.Id());
Max(cols, 2, rslt.Key());
}
String hdr = String_.Repeat(" ", Add(cols) + 3);
for (int i = 0; i < rslts.Count(); i++) {
TstRslt rslt = (TstRslt)rslts.FetchAt(i);
TstRslt rslt = (TstRslt)rslts.Get_at(i);
// if (rslt.EvalPass()) continue;
sb .Add(String_.PadEnd(rslt.EvalStr(), cols[0] + 1, " "))
.Add(String_.PadEnd(rslt.Id(), cols[1] + 1, " "))
@@ -107,13 +107,13 @@ public class TstObj_tst {
if (pass) return;
throw Err_.new_(Op_sys.Lnx.Nl_str() + sb.XtoStr());
}
private static void Eval(ListAdp rslts, TstRuleMgr ruleMgr, OrderedHash props, String idx, TstObj expd, TstObj actl) {
private static void Eval(List_adp rslts, TstRuleMgr ruleMgr, Ordered_hash props, String idx, TstObj expd, TstObj actl) {
int expdLen = expd.Atrs().Count();
props.Clear();
for (int i = 0; i < expdLen; i++) {
TstAtr expdAtr = (TstAtr)expd.Atrs().FetchAt(i);
TstAtr expdAtr = (TstAtr)expd.Atrs().Get_at(i);
String key = expdAtr.Key();
TstAtr actlAtr = (TstAtr)actl.Atrs().Fetch(key);
TstAtr actlAtr = (TstAtr)actl.Atrs().Get_by(key);
if (expdAtr.ValType() == ObjectClassXtn._) {
SrlObj expdSrl = (SrlObj)expdAtr.Val();
TstObj expdTst = TstObj.new_();
@@ -121,7 +121,7 @@ public class TstObj_tst {
TstObj actlTst = TstObj.new_();
if (actlAtr != null) ((SrlObj)actlAtr.Val()).SrlObj_Srl(actlTst);
if (ruleMgr.SkipChkObj(expdAtr.TypeKey(), key, expdTst)) continue;
Eval(rslts, ruleMgr, OrderedHash_.new_(), idx + "." + key, expdTst, actlTst);
Eval(rslts, ruleMgr, Ordered_hash_.new_(), idx + "." + key, expdTst, actlTst);
}
else {
if (actlAtr == null) actlAtr = new TstAtr();
@@ -133,8 +133,8 @@ public class TstObj_tst {
int expdSubsLen = expd.Subs().Count(), actlSubsLen = actl.Subs().Count();
int maxLen = expdSubsLen > actlSubsLen ? expdSubsLen : actlSubsLen;
for (int i = 0; i < maxLen; i++) {
TstObj expdSub = i < expdSubsLen ? (TstObj)expd.Subs().FetchAt(i) : TstObj.Null;
TstObj actlSub = i < actlSubsLen ? (TstObj)actl.Subs().FetchAt(i) : TstObj.Null;
TstObj expdSub = i < expdSubsLen ? (TstObj)expd.Subs().Get_at(i) : TstObj.Null;
TstObj actlSub = i < actlSubsLen ? (TstObj)actl.Subs().Get_at(i) : TstObj.Null;
// if (ruleMgr != null) ruleMgr.Eval(expd.TypeKey(), expdSub.PropName(), expdAtr, actlAtr, skip);
String iAsStr = Int_.Xto_str(i);
String subId = String_.Eq(idx, "") ? iAsStr : idx + "." + iAsStr;
@@ -148,7 +148,7 @@ public class TstObj_tst {
Eval(rslts, ruleMgr, props, subId, expdSub, actlSub);
}
}
private static void Eval(ListAdp rslts, String id, String key, TstAtr expd, TstAtr actl, boolean srcIsExpd) {
private static void Eval(List_adp rslts, String id, String key, TstAtr expd, TstAtr actl, boolean srcIsExpd) {
int evalType = 0;
boolean evalPass = false; String evalStr = "";
switch (evalType) {
@@ -182,7 +182,7 @@ class MockObj {
}
class TstObj implements SrlMgr {
public boolean Type_rdr() {return false;}
public OrderedHash Atrs() {return atrs;} private OrderedHash atrs = OrderedHash_.new_();
public Ordered_hash Atrs() {return atrs;} private Ordered_hash atrs = Ordered_hash_.new_();
public Object StoreRoot(SrlObj root, String key) {return null;}
public boolean SrlBoolOr(String key, boolean v) {Atrs_add(key, v, BoolClassXtn._); return v;}
public byte SrlByteOr(String key, byte v) {Atrs_add(key, v, ByteClassXtn._); return v;}
@@ -196,15 +196,15 @@ class TstObj implements SrlMgr {
Atrs_add(key, v, ObjectClassXtn._);
return v;
}
public void SrlList(String key, ListAdp list, SrlObj proto, String itmKey) {}
public void SrlList(String key, List_adp list, SrlObj proto, String itmKey) {}
public String TypeKey() {return typeKey;} public void TypeKey_(String v) {typeKey = v;} private String typeKey;
private void Atrs_add(String key, Object val, ClassXtn valType) {
atrs.Add(key, new TstAtr().TypeKey_(typeKey).Key_(key).Val_(val).ValType_(valType));
}
public ListAdp Subs() {return subs;} ListAdp subs = ListAdp_.Null;
public List_adp Subs() {return subs;} List_adp subs = List_adp_.Noop;
public SrlMgr SrlMgr_new(Object o) {return Subs_new();}
public TstObj Subs_new() {
if (subs == ListAdp_.Null) subs = ListAdp_.new_();
if (subs == List_adp_.Noop) subs = List_adp_.new_();
TstObj rv = TstObj.new_();
subs.Add(rv);
return rv;

View File

@@ -40,7 +40,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
Bry_.Replace_reuse(rv, Byte_ascii.Space, Byte_ascii.Underline);
return rv;
}
public String Page_db_as_str() {return String_.new_utf8_(Page_db());}
public String Page_db_as_str() {return String_.new_u8(Page_db());}
public int Leaf_bgn() {return leaf_bgn;}
public byte[] Base_txt() {return leaf_bgn == -1 ? Page_txt() : Bry_.Mid(full_txt, page_bgn, leaf_bgn - 1);}
public byte[] Leaf_txt() {return leaf_bgn == -1 ? Page_txt() : Bry_.Mid(full_txt, leaf_bgn, anch_bgn == -1 ? full_txt.length : anch_bgn - 1);}
@@ -50,7 +50,7 @@ public class Xoa_ttl { // PAGE:en.w:http://en.wikipedia.org/wiki/Help:Link; REF.
public byte[] Talk_txt() {return ns.Id_talk() ? Full_txt() : Bry_.Add(tors_txt, Page_txt());}
public byte[] Subj_txt() {return ns.Id_subj() ? Full_txt() : Bry_.Add(tors_txt, Page_txt());}
public byte[] Full_url() {return Xoa_url_encoder._.Encode(full_txt);}
public String Full_db_as_str() {return String_.new_utf8_(Full_db());}
public String Full_db_as_str() {return String_.new_u8(Full_db());}
public byte[] Full_db() {return ns.Gen_ttl(this.Page_db());}
public byte[] Page_url() {return Xoa_url_encoder._.Encode(this.Page_txt());}
public byte[] Leaf_url() {return Xoa_url_encoder._.Encode(this.Leaf_txt());}
@@ -394,8 +394,8 @@ class Xoa_url_encoder {
}
return bb.Xto_bry_and_clear();
}
private static final byte[] Bry_amp = Bry_.new_ascii_("%26"), Bry_eq = Bry_.new_ascii_("%3D")
, Bry_plus = Bry_.new_ascii_("%2B"), Bry_apos = Bry_.new_ascii_("%27")
private static final byte[] Bry_amp = Bry_.new_a7("%26"), Bry_eq = Bry_.new_a7("%3D")
, Bry_plus = Bry_.new_a7("%2B"), Bry_apos = Bry_.new_a7("%27")
, Bry_underline = new byte[] {Byte_ascii.Underline}
;
Bry_bfr bb = Bry_bfr.new_();

View File

@@ -21,7 +21,7 @@ public class Xoa_ttl_chkr implements Tst_chkr {
public int Chk(Tst_mgr mgr, String path, Object o) {
Xoa_ttl actl = (Xoa_ttl)o;
int rv = 0;
rv += mgr.Tst_val(expd_str == null, path, "raw", expd_str, String_.new_utf8_(actl.Raw()));
rv += mgr.Tst_val(expd_str == null, path, "raw", expd_str, String_.new_u8(actl.Raw()));
return rv;
}
public String Expd_str() {return expd_str;} public Xoa_ttl_chkr Expd_str_(String v) {expd_str = v; return this;} private String expd_str;

View File

@@ -29,10 +29,10 @@ public class Xop_ctx {
for (Xop_ctx_wkr wkr : wkrs) wkr.Ctor_ctx(this);
}
public Xoae_app App() {return app;} private Xoae_app app;
public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki;
public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki;
public Xol_lang Lang() {return wiki.Lang();}
public Xop_tkn_mkr Tkn_mkr() {return app.Tkn_mkr();}
public Xoae_page Cur_page() {return cur_page;} public void Cur_page_(Xoae_page v) {cur_page = v;} private Xoae_page cur_page;
public Xoae_page Cur_page() {return cur_page;} public void Cur_page_(Xoae_page v) {cur_page = v;} private Xoae_page cur_page;
public byte Parse_tid() {return parse_tid;} public Xop_ctx Parse_tid_(byte v) {parse_tid = v; xnde_names_tid = v; return this;} private byte parse_tid = Xop_parser_.Parse_tid_null;
public byte Xnde_names_tid() {return xnde_names_tid;} public Xop_ctx Xnde_names_tid_(byte v) {xnde_names_tid = v; return this;} private byte xnde_names_tid = Xop_parser_.Parse_tid_null;
public Xop_amp_wkr Amp() {return amp;} private Xop_amp_wkr amp = new Xop_amp_wkr();

View File

@@ -17,13 +17,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa; import gplx.*;
public class Xop_ctx_ {
public static String Page_as_str(Xop_ctx ctx) {return String_.new_utf8_(ctx.Cur_page().Ttl().Full_db());}
public static String Page_as_str(Xop_ctx ctx) {return String_.new_u8(ctx.Cur_page().Ttl().Full_db());}
public static String Src_limit_and_escape_nl(byte[] src, int bgn, int limit) {
int end = bgn + limit;
int src_len = src.length;
if (end > src_len) end = src_len;
byte[] rv = Bry_.Mid(src, bgn, end);
rv = Bry_.Replace(rv, Byte_ascii.NewLine, Byte_ascii.Tab); // change nl to tab so text editor will show one warning per line
return String_.new_utf8_(rv);
return String_.new_u8(rv);
}
}

View File

@@ -27,7 +27,7 @@ class Xop_ctx__fxt {
public void Clear() {
}
public void Test_Src_limit_and_escape_nl(String src, int bgn, int limit, String expd) {
String actl = Xop_ctx_.Src_limit_and_escape_nl(Bry_.new_utf8_(src), bgn, limit);
String actl = Xop_ctx_.Src_limit_and_escape_nl(Bry_.new_u8(src), bgn, limit);
Tfds.Eq(expd, actl);
}
}

View File

@@ -33,7 +33,7 @@ public class Xop_fxt {
app.Wiki_mgr().Add(wiki);
app.File_mgr().Repo_mgr().Set("src:wiki", "mem/wiki/repo/src/", wiki.Domain_str()).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2);
app.File_mgr().Repo_mgr().Set("trg:wiki", "mem/wiki/repo/trg/", wiki.Domain_str()).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2).Primary_(true);
wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_utf8_("src:wiki"), Bry_.new_utf8_("trg:wiki"));
wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_u8("src:wiki"), Bry_.new_u8("trg:wiki"));
ctx = wiki.Ctx();
mock_wkr.Clear_commons(); // assume all files are in repo 0
wiki.File_mgr().Repo_mgr().Page_finder_(mock_wkr);
@@ -60,19 +60,19 @@ public class Xop_fxt {
ctx.Cur_page().Clear();
wiki.Db_mgr().Load_mgr().Clear();
app.Wiki_mgr().Clear();
Io_mgr._.InitEngine_mem(); // clear created pages
Io_mgr.I.InitEngine_mem(); // clear created pages
wiki.Cfg_parser().Display_title_restrict_(false); // default to false, as a small number of tests assume restrict = false;
return this;
}
public Xop_fxt Reset_for_msgs() {
Io_mgr._.InitEngine_mem();
Io_mgr.I.InitEngine_mem();
wiki.Lang().Msg_mgr().Clear(); // need to clear out lang
wiki.Msg_mgr().Clear(); // need to clear out wiki.Msgs
this.Reset();
return this;
}
public Xoa_ttl Page_ttl_(String txt) {
Xoa_ttl rv = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(txt));
Xoa_ttl rv = Xoa_ttl.parse_(wiki, Bry_.new_u8(txt));
ctx.Cur_page().Ttl_(rv);
return rv;
}
@@ -159,10 +159,10 @@ public class Xop_fxt {
}
public Xop_fxt Init_para_y_() {ctx.Para().Enabled_y_(); return this;}
public Xop_fxt Init_para_n_() {ctx.Para().Enabled_n_(); return this;}
public Xop_fxt Init_log_(Gfo_msg_itm... itms) {for (Gfo_msg_itm itm : itms) log_itms.Add(itm); return this;} ListAdp log_itms = ListAdp_.new_();
public Xop_fxt Init_log_(Gfo_msg_itm... itms) {for (Gfo_msg_itm itm : itms) log_itms.Add(itm); return this;} List_adp log_itms = List_adp_.new_();
public void Init_defn_add(String name, String text) {Init_defn_add(name, text, Xow_ns_case_.Id_all);}
public void Init_defn_add(String name, String text, byte case_match) {
Xot_defn_tmpl itm = run_Parse_tmpl(Bry_.new_ascii_(name), Bry_.new_utf8_(text));
Xot_defn_tmpl itm = run_Parse_tmpl(Bry_.new_a7(name), Bry_.new_u8(text));
wiki.Cache_mgr().Defn_cache().Add(itm, case_match);
}
public void Init_defn_clear() {wiki.Cache_mgr().Defn_cache().Free_mem_all();}
@@ -172,8 +172,8 @@ public class Xop_fxt {
public Xop_fxt Init_page_create(String ttl, String txt) {return Init_page_create(wiki, ttl, txt);}
public Xop_fxt Init_page_create(Xowe_wiki wiki, String ttl, String txt) {Init_page_create_static(wiki, ttl, txt);return this;}
public static void Init_page_create_static(Xowe_wiki wiki, String ttl_str, String text_str) {
Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(ttl_str));
byte[] text = Bry_.new_utf8_(text_str);
Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_u8(ttl_str));
byte[] text = Bry_.new_u8(text_str);
wiki.Db_mgr().Save_mgr().Data_create(ttl, text);
}
public static void Init_msg(Xowe_wiki wiki, String key, String val) {
@@ -181,24 +181,24 @@ public class Xop_fxt {
}
public Xop_fxt Init_page_update(String ttl, String txt) {return Init_page_update(wiki, ttl, txt);}
public Xop_fxt Init_page_update(Xowe_wiki wiki, String ttl, String txt) {
Xoa_ttl page_ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(ttl));
byte[] page_raw = Bry_.new_utf8_(txt);
Xoa_ttl page_ttl = Xoa_ttl.parse_(wiki, Bry_.new_u8(ttl));
byte[] page_raw = Bry_.new_u8(txt);
Xoae_page page = wiki.Data_mgr().Get_page(page_ttl, false);
wiki.Db_mgr().Save_mgr().Data_update(page, page_raw);
return this;
}
public Xop_fxt Init_xwiki_clear() {
wiki.Xwiki_mgr().Clear();
app.User().Wiki().Xwiki_mgr().Clear();
app.Usere().Wiki().Xwiki_mgr().Clear();
return this;
}
public Xop_fxt Init_xwiki_add_wiki_and_user_(String alias, String domain) {
wiki.Xwiki_mgr().Add_full(alias, domain);
app.User().Wiki().Xwiki_mgr().Add_full(domain, domain);
app.Usere().Wiki().Xwiki_mgr().Add_full(domain, domain);
return this;
}
public Xop_fxt Init_xwiki_add_user_(String domain) {
app.User().Wiki().Xwiki_mgr().Add_full(domain, domain);
app.Usere().Wiki().Xwiki_mgr().Add_full(domain, domain);
return this;
}
public void Test_parse_tmpl_str_test(String tmpl_raw, String page_raw, String expd) {
@@ -207,53 +207,53 @@ public class Xop_fxt {
}
public void Test_parse_tmpl_str(String raw, String expd) {
byte[] actl = Test_parse_tmpl_str_rv(raw);
Tfds.Eq_str_lines(expd, String_.new_utf8_(actl));
Tfds.Eq_str_lines(expd, String_.new_u8(actl));
tst_Log_check();
}
public byte[] Test_parse_tmpl_str_rv(String raw) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
return parser.Parse_text_to_wtxt(root, ctx, tkn_mkr, raw_bry);
}
public Xot_defn_tmpl run_Parse_tmpl(byte[] name, byte[] raw) {return parser.Parse_text_to_defn_obj(ctx, ctx.Tkn_mkr(), wiki.Ns_mgr().Ns_template(), name, raw);}
public void Test_parse_tmpl(String raw, Tst_chkr... expd) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xot_defn_tmpl itm = run_Parse_tmpl(Bry_.Empty, raw_bry);
Parse_chk(raw_bry, itm.Root(), expd);
}
public void Test_parse_page_tmpl_str(String raw, String expd) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
byte[] actl = parser.Parse_text_to_wtxt(root, ctx, tkn_mkr, raw_bry);
Tfds.Eq(expd, String_.new_utf8_(actl));
Tfds.Eq(expd, String_.new_u8(actl));
tst_Log_check();
}
public Xop_root_tkn Test_parse_page_tmpl_tkn(String raw) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
parser.Parse_text_to_wtxt(root, ctx, tkn_mkr, raw_bry);
return root;
}
public void Test_parse_page_tmpl(String raw, Tst_chkr... expd_ary) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
parser.Parse_text_to_wtxt(root, ctx, tkn_mkr, raw_bry);
Parse_chk(raw_bry, root, expd_ary);
}
public void Test_parse_page_wiki(String raw, Tst_chkr... expd_ary) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = Test_parse_page_wiki_root(raw_bry);
Parse_chk(raw_bry, root, expd_ary);
}
public Xop_root_tkn Test_parse_page_wiki_root(String raw) {return Test_parse_page_wiki_root(Bry_.new_utf8_(raw));}
public Xop_root_tkn Test_parse_page_wiki_root(String raw) {return Test_parse_page_wiki_root(Bry_.new_u8(raw));}
Xop_root_tkn Test_parse_page_wiki_root(byte[] raw_bry) {
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
parser.Parse_wtxt_to_wdom(root, ctx, tkn_mkr, raw_bry, Xop_parser_.Doc_bgn_bos);
return root;
}
public void Test_parse_page_all(String raw, Tst_chkr... expd_ary) {
byte[] raw_bry = Bry_.new_utf8_(raw);
Xop_root_tkn root = Exec_parse_page_all_as_root(Bry_.new_utf8_(raw));
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = Exec_parse_page_all_as_root(Bry_.new_u8(raw));
Parse_chk(raw_bry, root, expd_ary);
}
public void Data_create(String ttl_str, String text_str) {Init_page_create(wiki, ttl_str, text_str);}
@@ -272,13 +272,13 @@ public class Xop_fxt {
return root;
}
public String Exec_parse_page_all_as_str(String raw) {
Xop_root_tkn root = Exec_parse_page_all_as_root(Bry_.new_utf8_(raw));
Xop_root_tkn root = Exec_parse_page_all_as_root(Bry_.new_u8(raw));
Bry_bfr actl_bfr = Bry_bfr.new_();
hdom_wtr.Write_all(actl_bfr, ctx, root.Root_src(), root);
return actl_bfr.Xto_str_and_clear();
}
public String Exec_parse_page_wiki_as_str(String raw) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
Xop_root_tkn root = tkn_mkr.Root(raw_bry);
parser.Parse_wtxt_to_wdom(root, ctx, tkn_mkr, raw_bry, Xop_parser_.Doc_bgn_bos);
Bry_bfr actl_bfr = Bry_bfr.new_();
@@ -302,14 +302,14 @@ public class Xop_fxt {
public String[] Log_xtoAry() {
Gfo_msg_log msg_log = app.Msg_log();
int len = msg_log.Ary_len();
ListAdp actl_list = ListAdp_.new_();
List_adp actl_list = List_adp_.new_();
for (int i = 0; i < len; i++) {
Gfo_msg_data eny = msg_log.Ary_get(i);
if (eny.Item().Cmd() > Gfo_msg_itm_.Cmd_note) {
actl_list.Add(String_.new_utf8_(eny.Item().Path_bry()));
actl_list.Add(String_.new_u8(eny.Item().Path_bry()));
}
}
String[] actl = actl_list.XtoStrAry();
String[] actl = actl_list.To_str_ary();
msg_log.Clear();
return actl;
}
@@ -317,7 +317,7 @@ public class Xop_fxt {
int len = log_itms.Count();
String[] expd = new String[len];
for (int i = 0; i < len; i++) {
Gfo_msg_itm itm = (Gfo_msg_itm)log_itms.FetchAt(i);
Gfo_msg_itm itm = (Gfo_msg_itm)log_itms.Get_at(i);
expd[i] = itm.Path_str();
}
log_itms.Clear();
@@ -328,23 +328,23 @@ public class Xop_fxt {
public void tst_Warn(String... expd) {
Gfo_usr_dlg usr_dlg = app.Usr_dlg();
Gfo_usr_dlg__gui_test ui_wkr = (Gfo_usr_dlg__gui_test)usr_dlg.Gui_wkr();
String[] actl = ui_wkr.Warns().XtoStrAry();
String[] actl = ui_wkr.Warns().To_str_ary();
Tfds.Eq_ary_str(expd, actl);
}
public void Test_parse_page(String ttl, String expd) {
byte[] actl = Load_page(wiki, ttl);
Tfds.Eq(expd, String_.new_utf8_(actl));
Tfds.Eq(expd, String_.new_u8(actl));
}
public static byte[] Load_page(Xowe_wiki wiki, String ttl_str) {
byte[] ttl_bry = Bry_.new_utf8_(ttl_str);
byte[] ttl_bry = Bry_.new_u8(ttl_str);
Xoa_url page_url = Xoa_url.new_(wiki.Domain_bry(), ttl_bry);
Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry);
return wiki.GetPageByTtl(page_url, ttl).Data_raw();
return wiki.Load_page_by_ttl(page_url, ttl).Data_raw();
}
public static void Reg_xwiki_alias(Xowe_wiki wiki, String alias, String domain) {
byte[] domain_bry = Bry_.new_ascii_(domain);
wiki.Xwiki_mgr().Add_full(Bry_.new_ascii_(alias), domain_bry, Bry_.Add(domain_bry, Bry_.new_ascii_("/wiki/~{0}")));
wiki.Appe().User().Wiki().Xwiki_mgr().Add_full(domain_bry, domain_bry);
byte[] domain_bry = Bry_.new_a7(domain);
wiki.Xwiki_mgr().Add_full(Bry_.new_a7(alias), domain_bry, Bry_.Add(domain_bry, Bry_.new_a7("/wiki/~{0}")));
wiki.Appe().Usere().Wiki().Xwiki_mgr().Add_full(domain_bry, domain_bry);
}
public static String html_img_none(String trg, String alt, String src, String ttl) {
return String_.Format(String_.Concat_lines_nl_skip_last("<a href=\"/wiki/{0}\" class=\"image\" xowa_title=\"{3}\"><img id=\"xowa_file_img_0\" alt=\"{1}\" src=\"{2}\" width=\"9\" height=\"8\" /></a>"), trg, alt, src, ttl);
@@ -391,8 +391,8 @@ public class Xop_fxt {
public Xop_fxt Init_lang_numbers_separators(Xol_lang lang, String grp_spr, String dec_spr) {
gplx.xowa.langs.numbers.Xol_transform_mgr separator_mgr = lang.Num_mgr().Separators_mgr();
separator_mgr.Clear();
separator_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__grp, Bry_.new_utf8_(grp_spr));
separator_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__dec, Bry_.new_utf8_(dec_spr));
separator_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__grp, Bry_.new_u8(grp_spr));
separator_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__dec, Bry_.new_u8(dec_spr));
return this;
}
public void Init_lang_kwds(int kwd_id, boolean case_match, String... kwds) {Init_lang_kwds(wiki.Lang(), kwd_id, case_match, kwds);}
@@ -402,7 +402,7 @@ public class Xop_fxt {
kwd_grp.Srl_load(case_match, Bry_.Ary(kwds));
}
public void Init_xtn_pages() {
Io_mgr._.InitEngine_mem();
Io_mgr.I.InitEngine_mem();
wiki.Xtn_mgr().Xtn_proofread().Enabled_y_();
wiki.Db_mgr().Load_mgr().Clear(); // must clear; otherwise fails b/c files get deleted, but wiki.data_mgr caches the Xowd_regy_mgr (the .reg file) in memory;
wiki.Ns_mgr().Add_new(Xowc_xtn_pages.Ns_page_id_default, "Page").Add_new(Xowc_xtn_pages.Ns_index_id_default, "Index").Init();

View File

@@ -31,7 +31,6 @@ public class Xop_parser_ {
ctx.Para().Enabled_(para_enabled);
parser.Parse_wtxt_to_wdom(root, ctx, ctx.Tkn_mkr(), wtxt, Xop_parser_.Doc_bgn_bos);
wiki.Html_mgr().Html_wtr().Write_all(bfr, ctx, wtxt, root);
page.Lnki_file_mgr().Clear(); // NOTE: reset lnki_file_mgr else indicator will stop page from loading; DATE:2015-03-08
return bfr.To_bry_and_rls();
}
}

View File

@@ -51,7 +51,7 @@ class Xop_parser__fxt {
fxt.Reset();
}
public void Test_parse_to_html(String raw, boolean para_enabled, String expd) {
byte[] raw_bry = Bry_.new_utf8_(raw);
byte[] raw_bry = Bry_.new_u8(raw);
fxt.Wiki().Parser().Parse_text_to_html(bfr, fxt.Page(), para_enabled, raw_bry);
Tfds.Eq(expd, bfr.Xto_str_and_clear());
}

View File

@@ -19,7 +19,7 @@ package gplx.xowa; import gplx.*;
import gplx.xowa.html.*;
public class Xop_redirect_mgr {
private final Xowe_wiki wiki; private final Url_encoder url_decoder; private Hash_adp_bry redirect_hash;
public Xop_redirect_mgr(Xowe_wiki wiki) {this.wiki = wiki; this.url_decoder = Xoa_app_.Utl__encoder_mgr().Url_ttl();} // NOTE: must be Url_ttl, not Url; PAGE:en.w:Template:Positionskarte+ -> Template:Location_map+, not Template:Location_map DATE:2014-08-21
public Xop_redirect_mgr(Xowe_wiki wiki) {this.wiki = wiki; this.url_decoder = Xoa_app_.Utl__encoder_mgr().Http_url_ttl();} // NOTE: must be Url_ttl, not Url; PAGE:en.w:Template:Positionskarte+ -> Template:Location_map+, not Template:Location_map DATE:2014-08-21
public void Clear() {redirect_hash = null;} // TEST:
public boolean Is_redirect(byte[] text, int text_len) {return this.Extract_redirect(text, text_len) != null;}
public Xoa_ttl Extract_redirect_loop(byte[] src) {
@@ -53,7 +53,7 @@ public class Xop_redirect_mgr {
public static final int Redirect_max_allowed = 4;
public static final Xoa_ttl Redirect_null_ttl = null;
public static final byte[] Redirect_null_bry = Bry_.Empty;
private static final byte[] Redirect_bry = Bry_.new_ascii_("#REDIRECT ");
private static final byte[] Redirect_bry = Bry_.new_a7("#REDIRECT ");
public static byte[] Make_redirect_text(byte[] redirect_to_ttl) {
return Bry_.Add
( Redirect_bry // "#REDIRECT "
@@ -63,13 +63,13 @@ public class Xop_redirect_mgr {
);
}
public static byte[] Bld_redirect_msg(Xoae_app app, Xowe_wiki wiki, Xoae_page page) {
ListAdp list = page.Redirected_ttls();
List_adp list = page.Redirected_ttls();
int list_len = list.Count();
if (list_len == 0) return Bry_.Empty;
Bry_bfr redirect_bfr = app.Utl__bfr_mkr().Get_b512();
for (int i = 0; i < list_len; i++) {
if (i != 0) redirect_bfr.Add(Bry_redirect_dlm);
byte[] redirect_ttl = (byte[])list.FetchAt(i);
byte[] redirect_ttl = (byte[])list.Get_at(i);
redirect_bfr.Add(Xoh_consts.A_bgn) // '<a href="'
.Add(Xoh_href_parser.Href_wiki_bry) // '/wiki/'
.Add(redirect_ttl) // 'PageA'
@@ -86,7 +86,7 @@ public class Xop_redirect_mgr {
app.Tmp_fmtr().Fmt_(msg_itm.Val()).Bld_bfr_one(fmt_bfr, redirect_bfr);
redirect_bfr.Clear().Mkr_rls(); fmt_bfr.Mkr_rls();
return fmt_bfr.Xto_bry_and_clear();
} private static byte[] Bry_redirect_dlm = Bry_.new_ascii_(" <--- "), Bry_redirect_arg = Bry_.new_ascii_("?redirect=no");
} private static byte[] Bry_redirect_dlm = Bry_.new_a7(" <--- "), Bry_redirect_arg = Bry_.new_a7("?redirect=no");
}
class Xop_redirect_mgr_ {
public static int Get_kwd_end_or_end(byte[] src, int bgn, int end) { // get end of kwd

View File

@@ -54,16 +54,16 @@ class Xop_redirect_mgr_fxt {
fxt.Init_page_create(tmpl_ttl_str, tmpl_wtxt_str); // create redirect_src
fxt.Init_page_create(redirect_ttl, "test"); // create redirect_trg
fxt.Test_parse_page_tmpl_tkn("{{" + tmpl_ttl_str + "}}"); // parse {{redirect_src}}
Xoa_ttl tmpl_ttl = Xoa_ttl.parse_(fxt.Wiki(), Bry_.new_utf8_(tmpl_ttl_str));
Xoa_ttl tmpl_ttl = Xoa_ttl.parse_(fxt.Wiki(), Bry_.new_u8(tmpl_ttl_str));
Xot_defn_tmpl defn_tmpl = (Xot_defn_tmpl)fxt.Wiki().Cache_mgr().Defn_cache().Get_by_key(tmpl_ttl.Page_db()); // get defn (which parse should have created)
Tfds.Eq(expd_frame_ttl, String_.new_utf8_(defn_tmpl.Frame_ttl())); // check frame_ttl
Tfds.Eq(expd_frame_ttl, String_.new_u8(defn_tmpl.Frame_ttl())); // check frame_ttl
}
public void Test_redirect(String raw_str, String expd_str) {
Xop_redirect_mgr redirect_mgr = fxt.Ctx().Wiki().Redirect_mgr();
redirect_mgr.Clear();
byte[] raw_bry = Bry_.new_utf8_(raw_str);
byte[] raw_bry = Bry_.new_u8(raw_str);
Xoa_ttl actl_ttl = redirect_mgr.Extract_redirect(raw_bry, raw_bry.length);
byte[] actl_bry = actl_ttl == null ? Bry_.Empty : actl_ttl.Full_txt();
Tfds.Eq(expd_str, String_.new_utf8_(actl_bry));
Tfds.Eq(expd_str, String_.new_u8(actl_bry));
}
}

View File

@@ -83,7 +83,7 @@ public class Xop_sanitizer {
case Xop_amp_trie_itm.Tid_num_hex:
boolean pass = amp_mgr.Parse_as_int(itm_tid == Xop_amp_trie_itm.Tid_num_hex, src, end, pos - 1, pos + itm.Xml_name_bry().length);
if (pass)
bfr.Add_utf8_int(amp_mgr.Rslt_val());
bfr.Add_u8_int(amp_mgr.Rslt_val());
else
bfr.Add_byte(Byte_ascii.Amp);
pos = amp_mgr.Rslt_pos();

View File

@@ -38,7 +38,7 @@ class Xop_sanitizer_fxt {
sanitizer = new Xop_sanitizer(new Xop_amp_mgr(), new Gfo_msg_log(Xoa_app_.Name));
}
public void tst_Escape_id(String raw, String expd) {
byte[] raw_bry = Bry_.new_utf8_(raw);
Tfds.Eq(expd, String_.new_utf8_(sanitizer.Escape_id(raw_bry)));
byte[] raw_bry = Bry_.new_u8(raw);
Tfds.Eq(expd, String_.new_u8(sanitizer.Escape_id(raw_bry)));
}
}

View File

@@ -67,7 +67,7 @@ class Xop_html_txt_tkn_chkr extends Xop_tkn_chkr_base {
public String Html_ref_key() {return html_ref_key;} public Xop_html_txt_tkn_chkr Html_ref_key_(String v) {html_ref_key = v; return this;} private String html_ref_key;
@Override public int Chk_hook(Tst_mgr mgr, String path, Object actl_obj, int err) {
Xop_amp_tkn_txt actl = (Xop_amp_tkn_txt)actl_obj;
err += mgr.Tst_val(html_ref_key == null, path, "html_ref_key", html_ref_key, String_.new_utf8_(actl.Xml_name_bry()));
err += mgr.Tst_val(html_ref_key == null, path, "html_ref_key", html_ref_key, String_.new_u8(actl.Xml_name_bry()));
return err;
}
}