You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gnosygnu_xowa/100_core/src_000_err/gplx/ErrProcData_tst.java

49 lines
1.8 KiB

/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import org.junit.*;
public class ErrProcData_tst {
@Test public void parse_() {
tst_parse_("gplx._tst.Err__tst.RdrLoad(MethodData_tst.java:1)"
, ErrProcData.new_()
.SignatureRaw_("gplx._tst.Err__tst.RdrLoad")
.SourceFileRaw_("MethodData_tst.java")
.SourceLine_(1)
.IdeAddress_("(MethodData_tst.java:1)")
);
}
@Test public void parse_ary_() {
String stackTrace = "";
try {ThrowException();} catch (Exception exc) {stackTrace = Err_.StackTrace_lang(exc);}
ErrProcData[] ary = ErrProcData.parse_ary_(stackTrace);
Tfds.Eq(2, Array_.Len(ary));
Tfds.Eq("gplx.ErrProcData_tst.ThrowException", ary[0].SignatureRaw());
Tfds.Eq("gplx.ErrProcData_tst.parse_ary_", ary[1].SignatureRaw());
}
Exception ThrowException() {
throw new RuntimeException("msg");
}
void tst_parse_(String raw, ErrProcData expd) {
ErrProcData actl = ErrProcData.parse_(raw);
Tfds.Eq(expd.SignatureRaw(), actl.SignatureRaw());
Tfds.Eq(expd.SourceFileRaw(), actl.SourceFileRaw());
Tfds.Eq(expd.SourceLine(), actl.SourceLine());
Tfds.Eq(expd.IdeAddress(), actl.IdeAddress());
}
}