2424use LINE \LINEBot \Event \JoinEvent ;
2525use LINE \LINEBot \Event \LeaveEvent ;
2626use LINE \LINEBot \Event \MessageEvent \AudioMessage ;
27+ use LINE \LINEBot \Event \MessageEvent \FileMessage ;
2728use LINE \LINEBot \Event \MessageEvent \ImageMessage ;
2829use LINE \LINEBot \Event \MessageEvent \LocationMessage ;
2930use LINE \LINEBot \Event \MessageEvent \StickerMessage ;
@@ -227,6 +228,21 @@ class EventRequestParserTest extends \PHPUnit_Framework_TestCase
227228 "id":"contentid",
228229 "type":"__unknown__"
229230 }
231+ },
232+ {
233+ "replyToken": "replytoken",
234+ "type": "message",
235+ "timestamp": 1462629479859,
236+ "source": {
237+ "type": "user",
238+ "userId": "userid"
239+ },
240+ "message": {
241+ "id": "325708",
242+ "type": "file",
243+ "fileName": "file.txt",
244+ "fileSize": 2138
245+ }
230246 }
231247 ]
232248}
@@ -236,9 +252,9 @@ public function testParseEventRequest()
236252 {
237253 $ bot = new LINEBot (new DummyHttpClient ($ this , function () {
238254 }), ['channelSecret ' => 'testsecret ' ]);
239- $ events = $ bot ->parseEventRequest ($ this ::$ json , 'Cz7xWmZJizFKB+paG1imAwycGOSAq6IUMVw4slB3VpQ = ' );
255+ $ events = $ bot ->parseEventRequest ($ this ::$ json , '56hhe+3PxvEaYotu9e2ZXmYQ0RMc6/74/jNyKQ6w6U0 = ' );
240256
241- $ this ->assertEquals (count ($ events ), 16 );
257+ $ this ->assertEquals (count ($ events ), 17 );
242258
243259 {
244260 // text
@@ -419,5 +435,17 @@ public function testParseEventRequest()
419435 /** @var UnknownMessage $event */
420436 $ this ->assertEquals ('__unknown__ ' , $ event ->getMessageBody ()['type ' ]);
421437 }
438+
439+ {
440+ // file message
441+ $ event = $ events [16 ];
442+ $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent ' , $ event );
443+ $ this ->assertInstanceOf ('LINE\LINEBot\Event\MessageEvent\FileMessage ' , $ event );
444+ /** @var FileMessage $event */
445+ $ this ->assertEquals ('file.txt ' , $ event ->getFileName ());
446+ $ this ->assertEquals ('2138 ' , $ event ->getFileSize ());
447+ $ this ->assertEquals ('325708 ' , $ event ->getMessageId ());
448+ $ this ->assertEquals ('file ' , $ event ->getMessageType ());
449+ }
422450 }
423451}
0 commit comments