UNPKG

skynovel

Version:
264 lines (234 loc) 9.27 kB
/* ***** BEGIN LICENSE BLOCK ***** Copyright (c) 2018-2020 Famibee (famibee.blog38.fc2.com) This software is released under the MIT License. http://opensource.org/licenses/mit-license.php ** ***** END LICENSE BLOCK ***** */ import assert = require('power-assert'); import {Config} from '../core/src/sn/Config'; import {SysNode} from '../core/src/sn/SysNode'; context('class Config', ()=>{ let cfg = null; beforeEach(()=> { cfg = new Config(new SysNode({}, {cur: 'test/', crypto: false, dip: ''}), ()=> {}, { search : ["mat"], }); }); describe('Tst', ()=> { it('testsetSearchPath_0', ()=> { assert.equal(cfg.searchPath("http://bbb"), "http://bbb"); try { assert.equal(cfg.searchPath("ccc"), "ccc"); assert.fail("Error:ccc"); } catch (s) { assert.equal(s, "サーチパスに存在しないファイル【ccc】です"); } assert.equal(cfg.searchPath("update.png"), `test/:dummy dir:/mat/update.png`); assert.equal(cfg.searchPath("update", "png|png_"), `test/:dummy dir:/mat/update.png`); try { assert.equal(cfg.searchPath("update", "hh"), "ii"); assert.fail("Error:hh"); } catch (s) { assert.equal(s, "サーチ対象拡張子群【hh】にマッチするファイルがサーチパスに存在しません。探索ファイル名=【update】"); } try { assert.equal(cfg.searchPath("update.ddd", "eee"), "fff"); assert.fail("Error:fff"); } catch (s) { assert.equal(s, "指定ファイルの拡張子【ddd】は、サーチ対象拡張子群【eee】にマッチしません。探索ファイル名=【update.ddd】"); } try { assert.equal(cfg.searchPath("update.ggg", "ggg"), "fff"); assert.fail("Error:ggg"); } catch (s) { assert.equal(s, "サーチパスに存在しない拡張子【ggg】です。探索ファイル名=【update.ggg】、サーチ対象拡張子群【ggg】"); } try { assert.equal(cfg.searchPath("update", "png|xml"), "jjj"); assert.fail("Error:jjj"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【png|xml】で絞り込むか、ファイル名を個別にして下さい。"); } try { assert.equal(cfg.searchPath("update"), "update"); assert.fail("Error:update2"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【】で絞り込むか、ファイル名を個別にして下さい。"); } assert.equal(cfg.searchPath("update2.png"), `test/:dummy dir:/mat/update2.png`); try { cfg.searchPath("update3.png"); assert.fail("Error:kkk"); } catch (s) { assert.equal(s, "サーチパスに存在しないファイル【update3.png】です"); } assert.equal(cfg.searchPath("update2", "png|png_"), `test/:dummy dir:/mat/update2.png`); try { cfg.searchPath("update3", "png|png_"); assert.fail("Error:lll"); } catch (s) { assert.equal(s, "サーチパスに存在しないファイル【update3】です"); } assert.equal(cfg.searchPath("update0", Config.EXT_SCRIPT), `test/:dummy dir:/mat/update0.sn`); assert.equal(cfg.searchPath("update", Config.EXT_SCRIPT), `test/:dummy dir:/mat/update.sn`); }); it('testsetSearchPath_1_userFnTail', ()=> { cfg.userFnTail = 'ex'; cfg.cnv_path = (path: string): string => { return path.replace( /^app-storage:/ , 'app-storage') }; /* 保留 assert.equal(cfg.searchPath("app-storage:/aaa.jpg"), "app-storage:/aaa.jpg"); assert.equal(cfg.searchPath("app-storage:/aaa.sn"), "app-storage:/aaa.sn"); assert.equal(cfg.searchPath("app-storage:/update0.png"), "app-storage:/update0%40%40ex.png");*/ // /Users/[user]/Library/Application Support/com.fc2.blog38.famibee.ANTest/に本当にファイルを置くこと assert.equal(cfg.searchPath("http://bbb"), "http://bbb"); try { assert.equal(cfg.searchPath("ccc"), "ccc"); assert.fail("Error:ccc"); } catch (s) { assert.equal(s, "サーチパスに存在しないファイル【ccc】です"); } assert.equal(cfg.searchPath("update.png"), `test/:dummy dir:/mat/update@@ex.png`); assert.equal(cfg.searchPath("update", "png|png_"), `test/:dummy dir:/mat/update@@ex.png`); try { assert.equal(cfg.searchPath("update", "hh"), "ii"); assert.fail("Error:hh"); } catch (s) { assert.equal(s, "サーチ対象拡張子群【hh】にマッチするファイルがサーチパスに存在しません。探索ファイル名=【update】"); } try { assert.equal(cfg.searchPath("update.ddd", "eee"), "fff"); assert.fail("Error:fff"); } catch (s) { assert.equal(s, "指定ファイルの拡張子【ddd】は、サーチ対象拡張子群【eee】にマッチしません。探索ファイル名=【update.ddd】"); } try { assert.equal(cfg.searchPath("update.ggg", "ggg"), "fff"); assert.fail("Error:ggg"); } catch (s) { assert.equal(s, "サーチパスに存在しない拡張子【ggg】です。探索ファイル名=【update.ggg】、サーチ対象拡張子群【ggg】"); } try { assert.equal(cfg.searchPath("update", "png|xml"), "jjj"); assert.fail("Error:jjj"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【png|xml】で絞り込むか、ファイル名を個別にして下さい。"); } try { assert.equal(cfg.searchPath("update"), "update"); assert.fail("Error:update2"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【】で絞り込むか、ファイル名を個別にして下さい。"); } assert.equal(cfg.searchPath("update2.png"), `test/:dummy dir:/mat/update2.png`); assert.equal(cfg.searchPath("update3.png"), `test/:dummy dir:/mat/update3@@ex.png`); assert.equal(cfg.searchPath("update2", "png|png_"), `test/:dummy dir:/mat/update2.png`); assert.equal(cfg.searchPath("update3", "png|png_"), `test/:dummy dir:/mat/update3@@ex.png`); assert.equal(cfg.searchPath("update0", Config.EXT_SCRIPT), `test/:dummy dir:/mat/update0.sn`); try { assert.equal(cfg.searchPath("update", Config.EXT_SCRIPT), `test/:dummy dir:/mat/update.sn`); } catch (s) { assert.equal(s, ""); } }); it('test_searchPath_speedtest_0', ()=> { const old_time = (new Date()).getTime(); //for (let i=0; i<1000; ++i) { assert.equal(cfg.searchPath("http://bbb"), "http://bbb"); try { assert.equal(cfg.searchPath("ccc"), "ccc"); assert.fail("Error:ccc"); } catch (s) { assert.equal(s, "サーチパスに存在しないファイル【ccc】です"); } //} const time = (new Date()).getTime() - old_time; // 実行後に測定 //assert.fail("経過時間:" + time); // 差 }); it('test_searchPath_speedtest_1', ()=> { const old_time = (new Date()).getTime(); //for (let i=0; i<1000; ++i) { assert.equal(cfg.searchPath("update.png"), `test/:dummy dir:/mat/update.png`); assert.equal(cfg.searchPath("update", "png|png_"), `test/:dummy dir:/mat/update.png`); try { assert.equal(cfg.searchPath("update", "hh"), "ii"); assert.fail("Error:hh"); } catch (s) { assert.equal(s, "サーチ対象拡張子群【hh】にマッチするファイルがサーチパスに存在しません。探索ファイル名=【update】"); } try { assert.equal(cfg.searchPath("update.ddd", "eee"), "fff"); assert.fail("Error:fff"); } catch (s) { assert.equal(s, "指定ファイルの拡張子【ddd】は、サーチ対象拡張子群【eee】にマッチしません。探索ファイル名=【update.ddd】"); } //} const time = (new Date()).getTime() - old_time; // 実行後に測定 // assert.fail("経過時間:" + time); // 差 }); it('test_searchPath_speedtest_2', ()=> { const old_time = (new Date()).getTime(); //for (let i=0; i<1000; ++i) { try { assert.equal(cfg.searchPath("update.ggg", "ggg"), "fff"); assert.fail("Error:ggg"); } catch (s) { assert.equal(s, "サーチパスに存在しない拡張子【ggg】です。探索ファイル名=【update.ggg】、サーチ対象拡張子群【ggg】"); } try { assert.equal(cfg.searchPath("update", "png|xml"), "jjj"); assert.fail("Error:jjj"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【png|xml】で絞り込むか、ファイル名を個別にして下さい。"); } try { assert.equal(cfg.searchPath("update"), "update"); assert.fail("Error:update2"); } catch (s) { assert.equal(s, "指定ファイル【update】が複数マッチします。サーチ対象拡張子群【】で絞り込むか、ファイル名を個別にして下さい。"); } //} const time = (new Date()).getTime() - old_time; // 実行後に測定 //assert.fail("経過時間:" + time); // 差 }); }); });