yamachan's Ajax lab > proto-webtools > Core >

proto-webtools Core テストページ

proto-webtools Test ツールを使った、 proto-webtools Core コードの自動テストページです。

proto-webtools Core ツールの簡単な仕様書として参照してください。 また各種ブラウザ上での動作チェックページとしても使用できます。

問題がないテストケースは、タイトルが緑色 表示され、セクションは閉じられています。 問題があるテストケースは、タイトルが赤色 で表示され、セクションは開かれています。 セクションはマウスクリックで展開/格納することができますが、これは proto-webtools UI との組み合わせで実現されています。

全て展開 全て省略

String クラスの拡張

String.left(String | Number)
文字列を左から検索し、その左側の部分文字列を返す
var str = "abcdabcdaabbccdd1234567890";
purpose code expect result
文字列を指定
str.left("");
""
str.left("1");
"abcdabcdaabbccdd"
str.left("c");
"ab"
str.left("cc");
"abcdabcdaabb"
数値を指定
str.left(0);
""
str.left(1);
"a"
str.left(5);
"abcda"
str.left(26);
"abcdabcdaabbccdd1234567890"
範囲外の値
str.left(-1);
"abcdabcdaabbccdd1234567890"
str.left(27);
"abcdabcdaabbccdd1234567890"
エラー対応
"".left();
""
"".left(5);
""
str.left();
""
str.left(NaN);
""
str.left(null);
""
str.left(undefined);
""
str.left(new Object());
""
利用例
"index.html".left('.');
"index"
String.right(String | Number)
文字列を左から検索し、その右側の部分文字列を返す
var str = "abcdabcdaabbccdd1234567890";
purpose code expect result
文字列を指定
str.right("");
""
str.right("1");
"234567890"
str.right("c");
"dabcdaabbccdd1234567890"
str.right("cc");
"dd1234567890"
数値を指定
str.right(0);
""
str.right(1);
"0"
str.right(5);
"67890"
str.right(26);
"abcdabcdaabbccdd1234567890"
範囲外の値
str.right(-1);
"abcdabcdaabbccdd1234567890"
str.right(27);
"abcdabcdaabbccdd1234567890"
エラー対応
"".right();
""
"".right(5);
""
str.right();
""
str.right(NaN);
""
str.right(null);
""
str.right(undefined);
""
str.right(new Object());
""
利用例
"index.html".right('.');
"html"
String.padding(Number [,String])
文字列右寄せし、指定した長さに揃える
purpose code expect result
長さ指定のみ
"123".padding(2);
"23"
"123".padding(3);
"123"
"123".padding(5);
"  123"
"".padding(5);
"     "
文字も指定
"123".padding(5,'0');
"00123"
"123".padding(6,'ab');
"aba123"
"123".padding(7,'abcde');
"abcd123"
"".padding(5,'x');
"xxxxx"
範囲外の値
"123".padding(0);
""
"123".padding(-1);
""
エラー対応
"".padding();
""
"123".padding();
""
"123".padding(NaN);
""
"123".padding(null);
""
"123".padding(undefined);
""
"123".padding(new Object());
""
String.toStringArray(Number [,Array])
文字列を指定された長さに分割し、配列を返す
配列を指定した場合、その配列に追加し返す
var a = ["a","b"];
purpose code expect result
長さ指定のみ
"123".toStringArray();
["1", "2", "3"]
"123".toStringArray(1);
["1", "2", "3"]
"123".toStringArray(2);
["12", "3"]
"123".toStringArray(3);
["123"]
"123456".toStringArray(2);
["12", "34", "56"]
"1234567".toStringArray(2);
["12", "34", "56", "7"]
配列も指定
"123".toStringArray(1,a);
["a", "b", "1", "2", "3"]
"123".toStringArray(2,a);
["a", "b", "12", "3"]
範囲外
"123".toStringArray(0);
["1", "2", "3"]
"123".toStringArray(4);
["123"]
エラー対応
"".toStringArray();
[]
"123".toStringArray(NaN);
["1", "2", "3"]
"123".toStringArray(null);
["1", "2", "3"]
"123".toStringArray(undefined);
["1", "2", "3"]
"123".toStringArray(new Object());
[]
利用例
"123456".toStringArray(3).join();
"123,456"
類似機能
"123".toArray();
["1", "2", "3"]
String.fromBase64()
Base64 表記の文字列を、数値に変換する
code expect result
"".fromBase64();
NaN
"?".fromBase64();
NaN
"A".fromBase64();
0
"a".fromBase64();
26
"0".fromBase64();
52
"+".fromBase64();
62
"/".fromBase64();
63
"BA".fromBase64();
64
"BA=".fromBase64();
64
"B=A".fromBase64();
NaN
"BA==".fromBase64();
64
"B/".fromBase64();
127
"Ba0".fromBase64();
5812
"B?".fromBase64();
NaN
"B?A".fromBase64();
NaN

Number クラスの拡張

Number.toBase64()
数値を、Base64 表記の文字列に変換する
code expect result
(Number.NaN).toBase64();
""
(-1).toBase64();
""
(0).toBase64();
"A"
(26).toBase64();
"a"
(52).toBase64();
"0"
(127).toBase64();
"B/"
(5812).toBase64();
"Ba0"

Array クラスの拡張

Array.insertAt(Object, Number)
指定した位置に、オブジェクトを挿入する
var a = ["a","b","c"];
code expect result
a.insertAt();
["a", "b", "c"]
a.insertAt("d");
["a", "b", "c"]
a.insertAt("d",0);
["d", "a", "b", "c"]
a.insertAt("d",1);
["a", "d", "b", "c"]
a.insertAt("d",3);
["a", "b", "c", "d"]
a.insertAt("d",4);
["a", "b", "c"]
a.insertAt(["d","e"],1);
["a", ["d", "e"], "b", "c"]
a.insertAt(2,1);
["a", 2, "b", "c"]
a.insertAt([2,3],1);
["a", [2, 3], "b", "c"]
Array.insertBefore(Object, Object)
指定したオブジェクトの前に、オブジェクトを挿入する
var a = ["a","b","c"];
code expect result
a.insertBefore();
["a", "b", "c"]
a.insertBefore("d");
["a", "b", "c"]
a.insertBefore("d","a");
["d", "a", "b", "c"]
a.insertBefore("d","b");
["a", "d", "b", "c"]
a.insertBefore("d","c");
["a", "b", "d", "c"]
a.insertBefore("d","e");
["a", "b", "c"]
a.insertBefore(["d","e"],"b");
["a", ["d", "e"], "b", "c"]
a.insertBefore(2,"b");
["a", 2, "b", "c"]
a.insertBefore([2,3],"b");
["a", [2, 3], "b", "c"]
Array.concatAt(Object, Number)
指定した位置に、オブジェクトを追加する
var a = ["a","b","c"];
code expect result
a.concatAt();
["a", "b", "c"]
a.concatAt("d");
["a", "b", "c"]
a.concatAt("d",0);
["d", "a", "b", "c"]
a.concatAt("d",1);
["a", "d", "b", "c"]
a.concatAt("d",3);
["a", "b", "c", "d"]
a.concatAt("d",4);
["a", "b", "c"]
a.concatAt(["d","e"],1);
["a", "d", "e", "b", "c"]
a.concatAt(2,1);
["a", 2, "b", "c"]
a.concatAt([2,3],1);
["a", 2, 3, "b", "c"]
Array.concatBefore(Object, Object)
指定したオブジェクトの前に、オブジェクトを追加する
var a = ["a","b","c"];
code expect result
a.concatBefore();
["a", "b", "c"]
a.concatBefore("d");
["a", "b", "c"]
a.concatBefore("d","a");
["d", "a", "b", "c"]
a.concatBefore("d","b");
["a", "d", "b", "c"]
a.concatBefore("d","c");
["a", "b", "d", "c"]
a.concatBefore("d","e");
["a", "b", "c"]
a.concatBefore(["d","e"],"b");
["a", "d", "e", "b", "c"]
a.concatBefore(2,"b");
["a", 2, "b", "c"]
a.concatBefore([2,3],"b");
["a", 2, 3, "b", "c"]

Date クラスの拡張

Date extensions...
var d = new Date("2008/06/01");
code expect result
d.toSimpleDateString();
"2008/06/01"
d.toSimpleDateString('-');
"2008-06-01"
d.toSimpleDateString('//');
"2008//06//01"
d.isLeapYear();
true
new Date("2000/01/01").isLeapYear();
true
new Date("2007/01/01").isLeapYear();
false
new Date("2100/01/01").isLeapYear();
false
d.getDaysOfMonth();
30
new Date("2008/02/01").getDaysOfMonth();
29
new Date("2007/02/01").getDaysOfMonth();
28
d.addMonth(1).toSimpleDateString();
"2008/07/01"
d.addMonth(12).toSimpleDateString();
"2009/06/01"
d.addYear(1).toSimpleDateString();
"2009/06/01"

yamachan's Ajax lab > proto-webtools > Core >