Skip to content

Commit 236b65d

Browse files
committed
Merge pull request mixi-inc#15 from mixi-inc/impl-stage7
Implement stage7
2 parents 0d622b0 + 55b16bd commit 236b65d

File tree

6 files changed

+287
-13
lines changed

6 files changed

+287
-13
lines changed

โ€ŽREADME.mdโ€Ž

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -817,13 +817,21 @@ button.addEventListener('click', function(event) {
817817

818818
### ใ‚นใƒ†ใƒผใ‚ธ5
819819

820-
ใ‚ตใƒผใƒใƒผใจ้€šไฟกใ™ใ‚‹ใƒˆใƒฌใƒผใƒ‹ใƒณใ‚ฐ
820+
้žๅŒๆœŸๅ‡ฆ็†ใฎใƒˆใƒฌใƒผใƒ‹ใƒณใ‚ฐ
821821

822822

823823
#### ใ‚ตใƒผใƒใƒผใจใฎ้€šไฟก
824824

825-
JavaScript ใซใฏใ‚ตใƒผใƒใƒผใจ้€šไฟกใ™ใ‚‹ใŸใ‚ใฎ API ใŒ
826-
็”จๆ„ใ•ใ‚Œใฆใ„ใพใ™ใ€‚
825+
้žๅŒๆœŸๅ‡ฆ็†ใฎไปฃ่กจไพ‹ใจใ„ใˆใฐใ‚ตใƒผใƒใƒผใจใฎ้€šไฟกใงใ™ใ€‚
826+
827+
ใ‚ตใƒผใƒใƒผใจใฎ้€šไฟกใฏใƒใƒƒใƒˆใƒฏใƒผใ‚ฏใ‚’้€š้Žใ™ใ‚‹ใŸใ‚ใ€
828+
ใ‹ใชใ‚Šใฎๆ™‚้–“ใŒใ‹ใ‹ใ‚Šใพใ™ใ€‚ใใ“ใงใ€ใƒฌใ‚นใƒใƒณใ‚นใŒ
829+
่ฟ”ใฃใฆใใ‚‹ใพใงใฎ้–“ใซใ€ๅˆฅใฎๅ‡ฆ็†ใ‚’ใŠใ“ใชใ†ใ“ใจใซ
830+
ใ‚ˆใฃใฆใ€ๆ™‚้–“ใ‚’ๆœ‰ๅŠนๆดป็”จใ™ใ‚‹ใ“ใจใŒ้‡่ฆใซใชใ‚Šใพใ™ใ€‚
831+
832+
833+
JavaScript ใซใฏใ‚ตใƒผใƒใƒผใจ้žๅŒๆœŸใซ้€šไฟกใ™ใ‚‹ใŸใ‚ใฎ
834+
API ใŒ็”จๆ„ใ•ใ‚Œใฆใ„ใพใ™ใ€‚
827835

828836
- [fetch API](http://www.hcn.zaq.ne.jp/___/WEB/Fetch-ja.html)
829837

@@ -855,7 +863,7 @@ fetch('/users.json')
855863
console.log('parsed json', json)
856864
})
857865
.catch(function(error) {
858-
console.log('parsing failed', error)
866+
console.error('parsing failed', error)
859867
});
860868
```
861869

@@ -894,7 +902,7 @@ fetch('/users.json')
894902

895903
// /users.json ใฎๅ–ๅพ—ๆ™‚ใซใ‚จใƒฉใƒผใŒใงใŸใจใใซใ€
896904
// error ใ‚’ใƒญใ‚ฐใซๅ‡บๅŠ›ใ™ใ‚‹
897-
console.log(error);
905+
console.error(error);
898906
});
899907
```
900908

@@ -1101,19 +1109,19 @@ bower ใง็ฎก่ฝ„ใ—ใŸใ„ใƒ•ใ‚กใ‚คใƒซใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’้–‹ใใ€
11011109
ใ“ใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎไฝœ่€…ใ‚’ๆŒ‡ๅฎšใ—ใพใ™ใ€‚
11021110

11031111

1104-
##### 7. license
1112+
##### 8. license
11051113

11061114
ๅฅฝใใชใƒฉใ‚คใ‚ปใƒณใ‚นใ‚’้ธใถใจใ‚ˆใ„ใงใ™ใ€‚
11071115

11081116
ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฏ [MIT ใƒฉใ‚คใ‚ปใƒณใ‚น](http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license)ใงใ™ใ€‚
11091117

11101118

1111-
##### 8. homepage
1119+
##### 9. homepage
11121120

11131121
ใ“ใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎๆƒ…ๅ ฑใŒ่ฆ‹ใ‚‰ใ‚Œใ‚‹ URL ใ‚’่จ˜่ฟฐใ—ใพใ™ใ€‚
11141122

11151123

1116-
##### 9. set currenttly installed components as dependencies?
1124+
##### 10. set currenttly installed components as dependencies?
11171125

11181126
ๆ—ขใซ `bower_components` ใซๅซใพใ‚Œใฆใ„ใ‚‹
11191127
ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ่จญๅฎšใซ
@@ -1122,7 +1130,7 @@ bower ใง็ฎก่ฝ„ใ—ใŸใ„ใƒ•ใ‚กใ‚คใƒซใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’้–‹ใใ€
11221130
n ใงๆง‹ใ„ใพใ›ใ‚“ใ€‚
11231131

11241132

1125-
##### 10. add commonly ignored files to ignore list?
1133+
##### 11. add commonly ignored files to ignore list?
11261134

11271135
`.gitignore` ใชใฉใฎใƒ•ใ‚กใ‚คใƒซใ‹ใ‚‰ใ€
11281136
ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใซๅซใ‚ใชใ„ใƒ•ใ‚กใ‚คใƒซใฎๆŒ‡ๅฎšใ‚’
@@ -1131,15 +1139,15 @@ n ใงๆง‹ใ„ใพใ›ใ‚“ใ€‚
11311139
y ใง่ชญใฟ่พผใพใ›ใพใ™ใ€‚
11321140

11331141

1134-
##### 11. would you like to mark this package as private which prevents it from being accidentaly published to the registry?
1142+
##### 12. would you like to mark this package as private which prevents it from being accidentaly published to the registry?
11351143

11361144
bower ใฎใƒฌใ‚ธใ‚นใƒˆใƒชใธ็™ป้Œฒใงใใชใ„ใ‚ˆใ†ใซใ™ใ‚‹ใ‹
11371145
ใฉใ†ใ‹ๆŒ‡ๅฎšใ—ใพใ™ใ€‚
11381146

11391147
y ใงใƒฌใ‚ธใ‚นใƒˆใƒชใธใฎๅ…ฌ้–‹ใŒใงใใชใ„ใ‚ˆใ†ใซ่จญๅฎšใ—ใพใ™ใ€‚
11401148

11411149

1142-
##### 12. Looks good?
1150+
##### 13. Looks good?
11431151

11441152
ใ“ใฎ่จญๅฎšใงๅ•้กŒใชใ‘ใ‚Œใฐ y ใ‚’ๅ…ฅๅŠ›ใ—ใพใ™ใ€‚
11451153

@@ -1193,13 +1201,27 @@ y ใงใƒฌใ‚ธใ‚นใƒˆใƒชใธใฎๅ…ฌ้–‹ใŒใงใใชใ„ใ‚ˆใ†ใซ่จญๅฎšใ—ใพใ™ใ€‚
11931201
ใ‚ˆใใ‚ใ‚‹ใ‚คใƒ‡ใ‚ฃใ‚ชใƒ ใ‚’่ชญใฟๆ›ธใใ™ใ‚‹ใƒˆใƒฌใƒผใƒ‹ใƒณใ‚ฐ
11941202

11951203

1204+
ใ“ใฎใ‚นใƒ†ใƒผใ‚ธใงใฏใ€ใ‚ˆใใ‚ใ‚‹ JavaScript ใฎ
1205+
ไธๆ€่ญฐใชๆ›ธใๆ–นใ‚’ๅญฆใณใพใ™ใ€‚
1206+
1207+
ใชใŠใ€ไปŠๅ›žใฏใƒ’ใƒณใƒˆใŒใ‚ใ‚Šใพใ›ใ‚“๏ผ
1208+
ใœใฒ่‡ชๅˆ†ใง่ชฟในใฆใ€็ตๆžœใ‚’็ขบใ‹ใ‚ใฆใฟใฆใใ ใ•ใ„๏ผ
1209+
1210+
1211+
ใชใŠใ€่ˆˆๅ‘ณใฎใ‚ใ‚‹ๆ–นใฏใ€ใ‚นใƒ†ใƒผใ‚ธใ€Œ้—‡ใ€ใซ
1212+
ๆŒ‘ๆˆฆใ—ใฆใฟใฆใใ ใ•ใ„ใญ๏ผ
1213+
1214+
`.skip` ใ‚’ๅ‰Š้™คใ™ใ‚ŒใฐๆŒ‘ๆˆฆใงใใ‚‹ใ‚ˆใ†ใซใซ
1215+
ใชใ‚Šใพใ™ใ€‚
1216+
1217+
11961218
#### ๅฎŸ็ฟ’
11971219

11981220
ไธ‹ใฎใƒ†ใ‚นใƒˆใŒ green ใซใชใ‚‹ใ‚ˆใ†ใซใ€
1199-
`public/stage6/tests.js` ใ‚’
1221+
`public/stage7/tests.js` ใ‚’
12001222
ไฟฎๆญฃใ—ใฆใใ ใ•ใ„ใ€‚
12011223

1202-
[http://localhost:8000/stage6/](http://localhost:8000/stage6/)
1224+
[http://localhost:8000/stage7/](http://localhost:8000/stage7/)
12031225

12041226

12051227

โ€Žpublic/stage7/.csslintrcโ€Ž

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"//": "ใ•ใ™ใŒใซใ„ใพใฉใ IE7 ใฏใ‚„ใ‚ใฆใปใ—ใ„",
3+
"box-sizing": false
4+
}

โ€Žpublic/stage7/.eslintrcโ€Ž

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"mocha": true
5+
},
6+
"rules": {
7+
"no-unused-expressions": 0,
8+
"no-undef-init": 0
9+
},
10+
"globals": {
11+
"$": false,
12+
"jQuery": false,
13+
"fetch": false,
14+
"Promise": false,
15+
"HTMLCollection": false
16+
}
17+
}

โ€Žpublic/stage7/index.htmlโ€Ž

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>mixi JS Training</title>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<link href="http://img.mixi.net/img/basic/favicon.ico" type="image/vnd.microsoft.icon" rel="icon">
8+
<link href="http://img.mixi.net/img/basic/favicon.ico" type="image/vnd.microsoft.icon" rel="shortcut icon">
9+
<link rel="stylesheet" href="/bower_components/mocha/mocha.css" media="all">
10+
<link rel="stylesheet" href="/common/mocha-patch.css" media="all">
11+
<link rel="stylesheet" href="style.css" media="all">
12+
</head>
13+
<body>
14+
<div id="mocha"></div>
15+
<script src="/bower_components/mocha/mocha.js"></script>
16+
<script src="/bower_components/chai/chai.js"></script>
17+
<script src="/bower_components/chai-as-promised/lib/chai-as-promised.js"></script>
18+
<script src="/bower_components/fetch/fetch.js"></script>
19+
<script>
20+
mocha.ui('bdd');
21+
mocha.reporter('html');
22+
expect = chai.expect;
23+
</script>
24+
<script>mocha.setup('bdd')</script>
25+
<script src="tests.js"></script>
26+
<script>
27+
if (window.mochaPhantomJS) { mochaPhantomJS.run(); }
28+
else { mocha.run(); }
29+
</script>
30+
</body>
31+
</html>

โ€Žpublic/stage7/style.cssโ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.js-training-sample-link {
2+
display: block;
3+
margin: 10px auto;
4+
text-align: center;
5+
}

โ€Žpublic/stage7/tests.jsโ€Ž

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
describe('ใ‚นใƒ†ใƒผใ‚ธ7๏ผˆใ‚ˆใใ‚ใ‚‹JSใฎใ‚คใƒ‡ใ‚ฃใ‚ชใƒ ใ‚’่ชญใ‚ใ‚‹๏ผ‰', function() {
2+
'use strict';
3+
4+
it('ใ‚ฏใƒญใƒผใ‚ธใƒฃใƒผ', function() {
5+
var createCounter = function() {
6+
var i = 0;
7+
8+
return function() {
9+
return i++;
10+
};
11+
};
12+
13+
var counter = createCounter();
14+
15+
expect(counter()).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
16+
expect(counter()).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
17+
expect(counter()).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
18+
});
19+
20+
21+
it('ใ‚ทใƒงใƒผใƒˆใ‚ตใƒผใ‚ญใƒƒใƒˆๆผ”็ฎ—', function() {
22+
expect(true && 'default').to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
23+
24+
expect(false || 'default').to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
25+
26+
expect(0 || 'default').to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
27+
28+
expect({} || 'default').to.deep.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
29+
30+
var func = function(arg) {
31+
return arg || {};
32+
};
33+
34+
expect(func({ foo: 'bar' })).to.deep.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
35+
36+
expect(func()).to.deep.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
37+
});
38+
39+
40+
it('็„กๅๅณๆ™‚ๅฎŸ่กŒ้–ขๆ•ฐ', function() {
41+
var num = 0;
42+
43+
(function() {
44+
num = 1;
45+
})();
46+
47+
expect(num).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
48+
});
49+
50+
51+
it('setTimeout 0 ใƒ‘ใ‚ฟใƒผใƒณ', function() {
52+
var num = 0;
53+
54+
setTimeout(function() {
55+
num = 1;
56+
}, 0);
57+
58+
expect(num).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
59+
});
60+
61+
62+
it('็œŸๅฝๅ€คๅค‰ๆ›', function() {
63+
var truthy = 1;
64+
var falsey = 0;
65+
66+
expect(!!truthy).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
67+
expect(!!falsey).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
68+
expect(Boolean(truthy)).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
69+
expect(Boolean(falsey)).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
70+
});
71+
72+
73+
it('prototype ็ถ™ๆ‰ฟ', function() {
74+
var GrandParent = function() {
75+
this.grandParent = true;
76+
};
77+
78+
var Parent = function() {
79+
this.parent = true;
80+
};
81+
Parent.prototype = new GrandParent();
82+
83+
var Child = function() {
84+
this.child = true;
85+
};
86+
Child.prototype = new Parent();
87+
88+
var parent = new Parent();
89+
var child = new Child();
90+
91+
expect(parent.grandParent).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
92+
93+
expect(parent.child).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
94+
95+
expect(child.grandParent).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
96+
97+
expect(child.parent).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
98+
});
99+
});
100+
101+
102+
describe.skip('้—‡', function() {
103+
it('== ๆผ”็ฎ—ๅญ', function(){
104+
expect('10' == 10)
105+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
106+
107+
expect(null == undefined)
108+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
109+
110+
expect(null == false)
111+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
112+
113+
expect(true == 1)
114+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
115+
116+
expect([0, 1] == 0)
117+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
118+
119+
expect([1] == 1)
120+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
121+
});
122+
123+
124+
it('new ๆผ”็ฎ—ๅญ', function(){
125+
expect(Boolean(false) ? true : false)
126+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
127+
128+
expect(Boolean(0) ? true : false)
129+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
130+
131+
expect(new Boolean(0) ? true : false)
132+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
133+
134+
expect('abc' ? true : false)
135+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
136+
137+
expect('' ? true : false)
138+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
139+
140+
expect(String(0) ? true : false)
141+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
142+
143+
expect(String('') ? true : false)
144+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
145+
146+
expect(new String(0) ? true : false)
147+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
148+
149+
expect(new String('') ? true : false)
150+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
151+
});
152+
153+
154+
it('ๆš—้ป™ใฎใ‚ญใƒฃใ‚นใƒˆ', function(){
155+
expect(+'10' === '10').to.equal()/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */;
156+
157+
expect(10 === (10 + '')).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
158+
});
159+
160+
161+
it('Array ใ‚ณใƒณใ‚นใƒˆใƒฉใ‚ฏใ‚ฟ', function(){
162+
expect(Array(3)).to.deep.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
163+
164+
expect(Array(1, 2, 3)).to.deep.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
165+
});
166+
167+
168+
it('withๆ–‡', function(){
169+
var obj = { 'foo': undefined, 'undefined': true };
170+
171+
with (obj) {
172+
expect(obj.foo === undefined)
173+
.to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
174+
}
175+
});
176+
177+
178+
it('typeof ๆผ”็ฎ—ๅญ', function(){
179+
expect(typeof 0).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
180+
181+
expect(typeof true).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
182+
183+
expect(typeof 'string').to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
184+
185+
expect(typeof function() {}).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
186+
187+
expect(typeof {}).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
188+
189+
expect(typeof []).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
190+
191+
expect(typeof undefined).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
192+
193+
expect(typeof null).to.equal(/* ใ“ใ“ใซๅ€คใ‚’ๆ›ธใ่พผใ‚“ใงใใ ใ•ใ„ */);
194+
});
195+
});

0 commit comments

Comments
ย (0)