• R/O
  • SSH

Jindolf: 提交

Jindolfプロジェクトは、CGIゲーム「人狼BBS」を快適にプレイするための専用クライアントを製作するために発足したオープンソースプロジェクトです。


Commit MetaInfo

修订版a5428742515344d30f269a90889f1100f915acb9 (tree)
时间2018-07-09 02:22:28
作者 <olyutorskii@user...>

Log Message

develop とマージ

更改概述

差异

diff -r 886ff4516508 -r a54287425153 .hgtags
--- a/.hgtags Sat Jul 07 23:55:48 2018 +0900
+++ b/.hgtags Mon Jul 09 02:22:28 2018 +0900
@@ -13,3 +13,5 @@
1313 54ce4086cefcc7a2de39a0513312fd4c2621839d release-3.301.4
1414 e136fbd1f81c5f9cddac035e687b6367d9ccd734 release-3.302.2
1515 059fa909d3353ae80f3a237d8ab9308ddb507e11 release-3.302.4
16+9d193ba863302fb9a6c270035a41c907b65f9314 release-3.303.2
17+6bda680d057e7aab15a46625efaa71e32c892088 release-3.303.4
diff -r 886ff4516508 -r a54287425153 CHANGELOG.txt
--- a/CHANGELOG.txt Sat Jul 07 23:55:48 2018 +0900
+++ b/CHANGELOG.txt Mon Jul 09 02:22:28 2018 +0900
@@ -5,8 +5,13 @@
55
66
77 X.XXX.X (XXXX-XX-XX)
8+ ・xxxx
9+
10+3.303.4 (2018-07-09)
11+ ・JDK9以降のWindows HiDPI環境に対応。
12+ ・キャスト表Wiki出力の見栄えを改善。
13+ ・キャスト紹介表ジェネレータへのリンクを削除。
814 ・JinParser 2.101.4 に対応。
9- ・JDK9以降のWindows HiDPI環境に対応。
1015 ・-nosplashオプションの廃止。
1116
1217 3.302.4 (2017-04-09)
diff -r 886ff4516508 -r a54287425153 README.txt
--- a/README.txt Sat Jul 07 23:55:48 2018 +0900
+++ b/README.txt Mon Jul 09 02:22:28 2018 +0900
@@ -67,10 +67,10 @@
6767 ./pom.xml
6868 Maven3用プロジェクト構成定義ファイル。
6969
70-./checkstyle.xml
70+./config/checkstyle/checkstyle.xml
7171 Checkstyle用configファイル。
7272
73-./pmdrules.xml
73+./config/pmd/pmdrules.xml
7474 PMD用ルール定義ファイル。
7575
7676 ./src/assembly/src.xml
diff -r 886ff4516508 -r a54287425153 pom.xml
--- a/pom.xml Sat Jul 07 23:55:48 2018 +0900
+++ b/pom.xml Mon Jul 09 02:22:28 2018 +0900
@@ -16,7 +16,7 @@
1616 <groupId>jp.sourceforge.jindolf</groupId>
1717 <artifactId>jindolf</artifactId>
1818
19- <version>3.302.5-SNAPSHOT</version>
19+ <version>3.303.5-SNAPSHOT</version>
2020
2121 <packaging>jar</packaging>
2222 <name>Jindolf</name>
diff -r 886ff4516508 -r a54287425153 src/assembly/src.xml
--- a/src/assembly/src.xml Sat Jul 07 23:55:48 2018 +0900
+++ b/src/assembly/src.xml Mon Jul 09 02:22:28 2018 +0900
@@ -32,6 +32,10 @@
3232 <useDefaultExcludes>true</useDefaultExcludes>
3333 </fileSet>
3434 <fileSet>
35+ <directory>${project.basedir}/config</directory>
36+ <useDefaultExcludes>true</useDefaultExcludes>
37+ </fileSet>
38+ <fileSet>
3539 <directory>${project.basedir}/src</directory>
3640 <useDefaultExcludes>true</useDefaultExcludes>
3741 </fileSet>
diff -r 886ff4516508 -r a54287425153 src/main/java/jp/sfjp/jindolf/Controller.java
--- a/src/main/java/jp/sfjp/jindolf/Controller.java Sat Jul 07 23:55:48 2018 +0900
+++ b/src/main/java/jp/sfjp/jindolf/Controller.java Mon Jul 09 02:22:28 2018 +0900
@@ -58,7 +58,6 @@
5858 import jp.sfjp.jindolf.data.Talk;
5959 import jp.sfjp.jindolf.data.Village;
6060 import jp.sfjp.jindolf.dxchg.CsvExporter;
61-import jp.sfjp.jindolf.dxchg.Hon5;
6261 import jp.sfjp.jindolf.dxchg.WebIPCDialog;
6362 import jp.sfjp.jindolf.dxchg.WolfBBS;
6463 import jp.sfjp.jindolf.editor.TalkPreview;
@@ -433,20 +432,6 @@
433432 }
434433
435434 /**
436- * 村に対応するキャスト紹介表ジェネレーターをWebブラウザで表示する。
437- */
438- private void actionShowWebCast(){
439- TabBrowser browser = this.topView.getTabBrowser();
440- Village village = browser.getVillage();
441- if(village == null) return;
442-
443- String urlTxt = Hon5.getCastGeneratorUrl(village);
444- WebIPCDialog.showDialog(getTopFrame(), urlTxt);
445-
446- return;
447- }
448-
449- /**
450435 * 日(Period)をWebブラウザで表示する。
451436 */
452437 private void actionShowWebDay(){
@@ -1545,8 +1530,6 @@
15451530 actionShowWebVillage();
15461531 }else if(cmd.equals(ActionManager.CMD_WEBWIKI)){
15471532 actionShowWebWiki();
1548- }else if(cmd.equals(ActionManager.CMD_WEBCAST)){
1549- actionShowWebCast();
15501533 }else if(cmd.equals(ActionManager.CMD_RELOAD)){
15511534 actionReloadPeriod();
15521535 }else if(cmd.equals(ActionManager.CMD_DAYSUMMARY)){
diff -r 886ff4516508 -r a54287425153 src/main/java/jp/sfjp/jindolf/dxchg/Hon5.java
--- a/src/main/java/jp/sfjp/jindolf/dxchg/Hon5.java Sat Jul 07 23:55:48 2018 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
1-/*
2- * Hon5
3- *
4- * License : The MIT License
5- * Copyright(c) 2016 olyutorskii
6- */
7-
8-package jp.sfjp.jindolf.dxchg;
9-
10-import java.io.UnsupportedEncodingException;
11-import java.net.URL;
12-import java.net.URLEncoder;
13-import jp.sfjp.jindolf.data.Land;
14-import jp.sfjp.jindolf.data.Village;
15-import jp.sfjp.jindolf.net.ServerAccess;
16-
17-/**
18- * ホの字5 溝の口ランキング(Hon5)に関する諸々。
19- *
20- * @see <a href="http://hon5.com/jinro/">キャスト紹介表ジェネレータ</a>
21- * @see <a href="http://hon5.com/about.php">ホの字5製作委員会</a>
22- */
23-public final class Hon5{
24-
25- private static final String URL_HON5CAST = "http://hon5.com/jinro/";
26-
27-
28- /**
29- * 隠しコンストラクタ。
30- */
31- private Hon5(){
32- assert false;
33- throw new AssertionError();
34- }
35-
36-
37- /**
38- * キャスト紹介ジェネレータ出力のURLを得る。
39- * @param village 村
40- * @return ジェネレータ出力URL
41- */
42- public static String getCastGeneratorUrl(Village village){
43- Land land = village.getParentLand();
44- ServerAccess server = land.getServerAccess();
45- URL villageUrl = server.getVillageURL(village);
46-
47- String result = getCastGeneratorUrl(villageUrl);
48-
49- return result;
50- }
51-
52- /**
53- * キャスト紹介ジェネレータ出力のURLを得る。
54- * @param villageUrl 人狼BBSの村アドレス。
55- * @return ジェネレータ出力URL
56- */
57- public static String getCastGeneratorUrl(URL villageUrl){
58- String vUrlTxt = villageUrl.toString();
59-
60- String vcode;
61- try{
62- vcode = URLEncoder.encode(vUrlTxt, "UTF-8");
63- }catch(UnsupportedEncodingException e){
64- assert false;
65- return null;
66- }
67-
68- StringBuilder url = new StringBuilder();
69- url.append(URL_HON5CAST);
70- url.append("?u=");
71- url.append(vcode);
72- url.append("&s=1");
73-
74- String urlTxt = url.toString();
75- return urlTxt;
76- }
77-
78-}
diff -r 886ff4516508 -r a54287425153 src/main/java/jp/sfjp/jindolf/dxchg/WolfBBS.java
--- a/src/main/java/jp/sfjp/jindolf/dxchg/WolfBBS.java Sat Jul 07 23:55:48 2018 +0900
+++ b/src/main/java/jp/sfjp/jindolf/dxchg/WolfBBS.java Mon Jul 09 02:22:28 2018 +0900
@@ -7,6 +7,7 @@
77
88 package jp.sfjp.jindolf.dxchg;
99
10+import java.awt.Color;
1011 import java.io.FileNotFoundException;
1112 import java.io.IOException;
1213 import java.nio.ByteBuffer;
@@ -33,9 +34,11 @@
3334
3435 /**
3536 * まちゅ氏運営のまとめサイト(wolfbbs)に関する諸々。
37+ *
3638 * PukiWikiベース。
37- * @see <a href="http://wolfbbs.jp/">まとめサイト</a>
38- * @see <a href="http://pukiwiki.osdn.jp/">PukiWiki</a>
39+ *
40+ * @see <a href="https://wolfbbs.jp/">まとめサイト</a>
41+ * @see <a href="https://pukiwiki.osdn.jp/">PukiWiki</a>
3942 */
4043 public final class WolfBBS{
4144
@@ -56,6 +59,12 @@
5659
5760 private static final String WOLFBBS_URL = "http://wolfbbs.jp/";
5861
62+ private static final Color COLOR_INNOCENT = new Color(0xb7bad3);
63+ private static final Color COLOR_WOLF = new Color(0xe0b8b8);
64+ private static final Color COLOR_HAMSTER = new Color(0xb9d0be);
65+ private static final Color COLOR_DEAD = new Color(0xaaaaaa);
66+ private static final Color COLOR_ALIVE = new Color(0xffffff);
67+
5968 private static final Logger LOGGER = Logger.getAnonymousLogger();
6069
6170 static{
@@ -86,6 +95,7 @@
8695
8796 /**
8897 * アイコンセットのロード。
98+ *
8999 * @throws FileNotFoundException リソースが不明
90100 */
91101 private static void loadFaceIconSet() throws FileNotFoundException {
@@ -102,6 +112,7 @@
102112
103113 /**
104114 * アイコンセットのロード。
115+ *
105116 * @param properties プロパティ
106117 * @throws FileNotFoundException リソースが不明
107118 */
@@ -146,6 +157,7 @@
146157
147158 /**
148159 * アイコンセットのロード。
160+ *
149161 * @param properties プロパティ
150162 * @param setName アイコンセット名
151163 * @return アイコンセット
@@ -171,6 +183,7 @@
171183
172184 /**
173185 * 顔アイコンセットのリストを取得する。
186+ *
174187 * @return 顔アイコンセットのリスト
175188 */
176189 public static List<FaceIconSet> getFaceIconSetList(){
@@ -181,6 +194,7 @@
181194
182195 /**
183196 * 任意の文字がWikiの特殊キャラクタか否か判定する。
197+ *
184198 * @param ch 文字
185199 * @return 特殊キャラクタならtrue
186200 */
@@ -191,6 +205,7 @@
191205
192206 /**
193207 * Wiki特殊文字を数値参照文字でエスケープする。
208+ *
194209 * @param seq Wiki特殊文字を含むかもしれない文字列。
195210 * @return エスケープされた文字列
196211 */
@@ -217,8 +232,10 @@
217232
218233 /**
219234 * WikiNameを数値参照文字でエスケープする。
235+ *
220236 * @param seq WikiNameを含むかもしれない文字列
221237 * @return エスケープされた文字列。
238+ * @see <a href="https://pukiwiki.osdn.jp/?WikiName">WikiName</a>
222239 */
223240 public static CharSequence escapeWikiName(CharSequence seq){
224241 StringBuilder result = null;
@@ -245,7 +262,7 @@
245262 pos = matchEnd;
246263 }
247264
248- if(pos == 0) return seq;
265+ if(pos == 0 || result == null) return seq;
249266
250267 result.append(seq, pos, seq.length());
251268
@@ -254,6 +271,7 @@
254271
255272 /**
256273 * 任意の文字列をWiki表記へ変換する。
274+ *
257275 * @param seq 任意の文字列
258276 * @return Wiki用表記
259277 */
@@ -267,6 +285,7 @@
267285
268286 /**
269287 * ブラケットに入れる文字をエスケープする。
288+ *
270289 * @param seq 文字列。
271290 * @return エスケープされた文字列
272291 */
@@ -321,7 +340,9 @@
321340
322341 /**
323342 * 数値参照文字に変換された文字を追加する。
343+ *
324344 * 例){@literal 'D' => "&#x44;}"
345+ *
325346 * @param app 追加対象
326347 * @param ch 1文字
327348 * @return 引数と同じ
@@ -342,7 +363,9 @@
342363
343364 /**
344365 * 任意の文字を数値参照文字列に変換する。
366+ *
345367 * 例){@literal 'D' => "&#x44;"}
368+ *
346369 * @param ch 文字
347370 * @return 変換後の文字列
348371 */
@@ -358,12 +381,60 @@
358381 }
359382
360383 /**
361- * 陣営の色Wiki表記を返す。
384+ * ColorのRGB各成分をWikiカラー表記に変換する。
385+ *
386+ * α成分は無視される。
387+ *
388+ * @param color 色
389+ * @return Wikiカラー表記
390+ */
391+ public static String cnvWikiColor(Color color){
392+ int packRGB = color.getRGB();
393+
394+ String txtRGB = Integer.toHexString(packRGB);
395+ String leadRGB = "00000000" + txtRGB;
396+ int chopLen = leadRGB.length() - 6;
397+ String fixed = leadRGB.substring(chopLen);
398+ String result = "#" + fixed;
399+
400+ return result;
401+ }
402+
403+ /**
404+ * 表の偶数行に色の変化を付ける。
405+ *
406+ * @param color 色
407+ * @return 変化した色
408+ */
409+ public static Color evenColor(Color color){
410+ int red = color.getRed();
411+ int green = color.getGreen();
412+ int blue = color.getBlue();
413+
414+ float[] hsb = Color.RGBtoHSB(red, green, blue, null);
415+ float h = hsb[0];
416+ float s = hsb[1];
417+ float b = hsb[2];
418+
419+ if(b < 0.5){
420+ b += 0.03;
421+ }else{
422+ b -= 0.03;
423+ }
424+
425+ Color result = Color.getHSBColor(h, s, b);
426+
427+ return result;
428+ }
429+
430+ /**
431+ * 陣営の色を返す。
432+ *
362433 * @param role 役職
363- * @return 色Wiki表記
434+ * @return 色
364435 */
365- public static String getTeamWikiColor(GameRole role){
366- String result;
436+ public static Color getTeamColor(GameRole role){
437+ Color result;
367438
368439 switch(role){
369440 case INNOCENT:
@@ -371,14 +442,14 @@
371442 case SHAMAN:
372443 case HUNTER:
373444 case FRATER:
374- result = "#b7bad3";
445+ result = COLOR_INNOCENT;
375446 break;
376447 case WOLF:
377448 case MADMAN:
378- result = "#e0b8b8";
449+ result = COLOR_WOLF;
379450 break;
380451 case HAMSTER:
381- result = "#b9d0be";
452+ result = COLOR_HAMSTER;
382453 break;
383454 default:
384455 assert false;
@@ -390,6 +461,7 @@
390461
391462 /**
392463 * 各役職のアイコンWikiを返す。
464+ *
393465 * @param role 役職
394466 * @return アイコンWiki
395467 */
@@ -431,19 +503,21 @@
431503 }
432504
433505 /**
434- * 運命に対応する色Wiki表記を返す。
506+ * 運命に対応する色を返す。
507+ *
435508 * @param destiny 運命
436- * @return 色Wiki表記
509+ * @return 色
437510 */
438- public static String getDestinyColorWiki(Destiny destiny){
439- String result;
440- if(destiny == Destiny.ALIVE) result = "#ffffff";
441- else result = "#aaaaaa";
511+ public static Color getDestinyColor(Destiny destiny){
512+ Color result;
513+ if(destiny == Destiny.ALIVE) result = COLOR_ALIVE;
514+ else result = COLOR_DEAD;
442515 return result;
443516 }
444517
445518 /**
446519 * そのまままとめサイトパス名に使えそうなシンプルな文字か判定する。
520+ *
447521 * @param ch 文字
448522 * @return まとめサイトパス名に使えそうならtrue
449523 */
@@ -457,6 +531,7 @@
457531
458532 /**
459533 * プレイヤーIDを構成する文字からパス名を組み立てる。
534+ *
460535 * @param seq パス名
461536 * @param ch 文字
462537 * @return 引数と同じもの
@@ -495,6 +570,7 @@
495570
496571 /**
497572 * プレイヤーIDからパス名の一部を予測する。
573+ *
498574 * @param id プレイヤーID
499575 * @return .htmlを抜いたパス名
500576 */
@@ -510,6 +586,7 @@
510586
511587 /**
512588 * プレイヤーIDからまとめサイト上の個人ページを推測する。
589+ *
513590 * @param id プレイヤーID
514591 * @return 個人ページURL文字列
515592 */
@@ -523,6 +600,7 @@
523600
524601 /**
525602 * キャスト紹介ジェネレータ出力のURLを得る。
603+ *
526604 * @param village 村
527605 * @return ジェネレータ出力URL
528606 */
diff -r 886ff4516508 -r a54287425153 src/main/java/jp/sfjp/jindolf/summary/GameSummary.java
--- a/src/main/java/jp/sfjp/jindolf/summary/GameSummary.java Sat Jul 07 23:55:48 2018 +0900
+++ b/src/main/java/jp/sfjp/jindolf/summary/GameSummary.java Mon Jul 09 02:22:28 2018 +0900
@@ -7,6 +7,7 @@
77
88 package jp.sfjp.jindolf.summary;
99
10+import java.awt.Color;
1011 import java.net.MalformedURLException;
1112 import java.net.URI;
1213 import java.net.URISyntaxException;
@@ -46,6 +47,8 @@
4647 public static final Comparator<Player> COMPARATOR_CASTING =
4748 new CastingComparator();
4849
50+ private static final Color COLOR_PLAINTABLE = new Color(0xedf5fe);
51+
4952 private static final String GENERATOR =
5053 VerInfo.TITLE + "\u0020Ver." + VerInfo.VERSION;
5154
@@ -694,6 +697,8 @@
694697 .append('\n');
695698 wikiText.append(WolfBBS.COMMENTLINE);
696699
700+ boolean even = true;
701+
697702 for(Player player : getCastingPlayerList()){
698703 Avatar avatar = player.getAvatar();
699704 GameRole role = player.getRole();
@@ -720,34 +725,48 @@
720725 .append("]");
721726 wikiText.append(" ==========\n");
722727
723- String teamColor = "BGCOLOR("
724- + WolfBBS.getTeamWikiColor(role)
728+ Color teamColor = WolfBBS.getTeamColor(role);
729+ Color destinyColor = WolfBBS.getDestinyColor(destiny);
730+ Color plainColor = COLOR_PLAINTABLE;
731+ if(even){
732+ teamColor = WolfBBS.evenColor(teamColor);
733+ destinyColor = WolfBBS.evenColor(destinyColor);
734+ plainColor = WolfBBS.evenColor(plainColor);
735+ }
736+ even = ! even;
737+
738+ String teamWikiColor = "BGCOLOR("
739+ + WolfBBS.cnvWikiColor(teamColor)
740+ + "):";
741+ String destinyWikiColor = "BGCOLOR("
742+ + WolfBBS.cnvWikiColor(destinyColor)
743+ + "):";
744+ String plainWikiColor = "BGCOLOR("
745+ + WolfBBS.cnvWikiColor(plainColor)
725746 + "):";
726747
727748 String avatarIcon = iconSet.getAvatarIconWiki(avatar);
728749
729- wikiText.append('|').append(teamColor);
750+ wikiText.append('|').append(teamWikiColor);
730751 wikiText.append(avatarIcon).append("&br;");
731752
732753 wikiText.append("[[").append(avatar.getName()).append("]]");
733754
734- wikiText.append('|').append(teamColor);
755+ wikiText.append('|').append(teamWikiColor);
735756 wikiText.append("[[").append(WolfBBS.escapeWikiBracket(name));
736757 if(urlText != null && urlText.length() > 0){
737758 wikiText.append('>').append(urlText);
738759 }
739760 wikiText.append("]]");
740761
741- wikiText.append('|').append(teamColor);
762+ wikiText.append('|').append(teamWikiColor);
742763 wikiText.append(WolfBBS.getRoleIconWiki(role));
743764 wikiText.append("&br;");
744765 wikiText.append("[[");
745766 wikiText.append(role.getRoleName());
746767 wikiText.append("]]");
747768
748- String destinyColor = WolfBBS.getDestinyColorWiki(destiny);
749- wikiText.append('|');
750- wikiText.append("BGCOLOR(").append(destinyColor).append("):");
769+ wikiText.append('|').append(destinyWikiColor);
751770 if(destiny == Destiny.ALIVE){
752771 wikiText.append("最後まで&br;生存");
753772 }else{
@@ -755,7 +774,7 @@
755774 wikiText.append(destiny.getMessage());
756775 }
757776
758- wikiText.append('|');
777+ wikiText.append('|').append(plainWikiColor);
759778 wikiText.append(avatar.getJobTitle()).append('。');
760779
761780 if(avatar == Avatar.AVATAR_GERD){
diff -r 886ff4516508 -r a54287425153 src/main/java/jp/sfjp/jindolf/view/ActionManager.java
--- a/src/main/java/jp/sfjp/jindolf/view/ActionManager.java Sat Jul 07 23:55:48 2018 +0900
+++ b/src/main/java/jp/sfjp/jindolf/view/ActionManager.java Mon Jul 09 02:22:28 2018 +0900
@@ -190,8 +190,6 @@
190190 buildMenuItem(CMD_WEBVILL, "この村をブラウザで表示...", KeyEvent.VK_N);
191191 buildMenuItem(CMD_WEBWIKI,
192192 "まとめサイトの村ページを表示...", KeyEvent.VK_M);
193- buildMenuItem(CMD_WEBCAST, "キャスト紹介表ジェネレータ...",
194- KeyEvent.VK_H);
195193 buildMenuItem(CMD_RELOAD, "この日を強制リロード", KeyEvent.VK_R);
196194 buildMenuItem(CMD_DAYSUMMARY, "この日の発言を集計...", KeyEvent.VK_D);
197195 buildMenuItem(CMD_DAYEXPCSV, "CSVへエクスポート...", KeyEvent.VK_C);
@@ -214,7 +212,6 @@
214212 getMenuItem(CMD_SHOWPORTAL).setIcon(ICON_WWW);
215213 getMenuItem(CMD_WEBVILL) .setIcon(ICON_WWW);
216214 getMenuItem(CMD_WEBWIKI) .setIcon(ICON_WWW);
217- getMenuItem(CMD_WEBCAST) .setIcon(ICON_WWW);
218215 getMenuItem(CMD_WEBDAY) .setIcon(ICON_WWW);
219216 getMenuItem(CMD_SHOWFIND) .setIcon(ICON_FIND);
220217 getMenuItem(CMD_SEARCHPREV).setIcon(ICON_SEARCH_PREV);
@@ -407,7 +404,6 @@
407404 this.menuVillage.addSeparator();
408405 this.menuVillage.add(getMenuItem(CMD_WEBVILL));
409406 this.menuVillage.add(getMenuItem(CMD_WEBWIKI));
410- this.menuVillage.add(getMenuItem(CMD_WEBCAST));
411407
412408 this.menuDay.add(getMenuItem(CMD_RELOAD));
413409 this.menuDay.add(getMenuItem(CMD_DAYSUMMARY));
diff -r 886ff4516508 -r a54287425153 src/main/resources/jp/sfjp/jindolf/resources/html/help.html
--- a/src/main/resources/jp/sfjp/jindolf/resources/html/help.html Sat Jul 07 23:55:48 2018 +0900
+++ b/src/main/resources/jp/sfjp/jindolf/resources/html/help.html Mon Jul 09 02:22:28 2018 +0900
@@ -69,11 +69,6 @@
6969 「人狼BBS まとめサイト」(http://wolfbbs.jp/)は、
7070 まちゅ氏の運営するWebサイトです。
7171 </li>
72- <li>
73- 「人狼BBSまとめサイト用キャスト紹介表ジェネレータ」
74- (http://hon5.com/jinro/)は、
75- ホの字5製作委員会の運営するWebサイトです。
76- </li>
7772 </ul>
7873 </div>
7974 <div>
diff -r 886ff4516508 -r a54287425153 src/test/java/jp/sfjp/jindolf/dxchg/WolfBBSTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/jp/sfjp/jindolf/dxchg/WolfBBSTest.java Mon Jul 09 02:22:28 2018 +0900
@@ -0,0 +1,99 @@
1+/*
2+ * WolfBBS test
3+ *
4+ * Copyright 2018 olyutorskii
5+ */
6+
7+package jp.sfjp.jindolf.dxchg;
8+
9+import java.awt.Color;
10+import org.junit.After;
11+import org.junit.AfterClass;
12+import org.junit.Before;
13+import org.junit.BeforeClass;
14+import org.junit.Test;
15+
16+import static org.junit.Assert.*;
17+
18+/**
19+ *
20+ */
21+public class WolfBBSTest {
22+
23+ public WolfBBSTest() {
24+ }
25+
26+ @BeforeClass
27+ public static void setUpClass() {
28+ }
29+
30+ @AfterClass
31+ public static void tearDownClass() {
32+ }
33+
34+ @Before
35+ public void setUp() {
36+ }
37+
38+ @After
39+ public void tearDown() {
40+ }
41+
42+ /**
43+ * Test of escapeWikiName method, of class WolfBBS.
44+ */
45+ @Test
46+ public void testEscapeWikiName() {
47+ System.out.println("escapeWikiName");
48+
49+ CharSequence result;
50+
51+ result = WolfBBS.escapeWikiName("aBc");
52+ assertEquals("aBc", result.toString());
53+
54+ result = WolfBBS.escapeWikiName("AbC");
55+ assertEquals("AbC", result.toString());
56+
57+ result = WolfBBS.escapeWikiName("AbCd");
58+ assertEquals("Ab&#x43;d", result.toString());
59+
60+ result = WolfBBS.escapeWikiName("ABcDe");
61+ assertEquals("ABc&#x44;e", result.toString());
62+
63+ result = WolfBBS.escapeWikiName("AbCdEfGh");
64+ assertEquals("Ab&#x43;dEf&#x47;h", result.toString());
65+
66+ return;
67+ }
68+
69+ /**
70+ * Test of cnvWikiColor method, of class WolfBBS.
71+ */
72+ @Test
73+ public void testCnvWikiColor() {
74+ System.out.println("cnvWikiColor");
75+
76+ String result;
77+
78+ result = WolfBBS.cnvWikiColor(new Color(0x00, 0x00, 0x00));
79+ assertEquals("#000000", result);
80+
81+ result = WolfBBS.cnvWikiColor(new Color(0x12, 0x34, 0x56));
82+ assertEquals("#123456", result);
83+
84+ result = WolfBBS.cnvWikiColor(new Color(0x01, 0x00, 0x00));
85+ assertEquals("#010000", result);
86+
87+ result = WolfBBS.cnvWikiColor(new Color(0x00, 0x00, 0x01));
88+ assertEquals("#000001", result);
89+
90+ result = WolfBBS.cnvWikiColor(new Color(0xff, 0xff, 0xff));
91+ assertEquals("#ffffff", result);
92+
93+ result = WolfBBS.cnvWikiColor(new Color(0x12, 0x34, 0x56, 0x78));
94+ assertEquals("#123456", result);
95+
96+ return;
97+ }
98+
99+}
Show on old repository browser