From 44d721d2a55560a2017dc08a6c8473120f9355a8 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Wed, 25 Nov 2015 02:46:32 +0100 Subject: [PATCH] add a few tests based on mineflayer --- package.json | 9 +++-- test/mineflayer.js | 72 ++++++++++++++++++++++++++++++++++++ test/{index.js => simple.js} | 0 3 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 test/mineflayer.js rename test/{index.js => simple.js} (100%) diff --git a/package.json b/package.json index 2a00b2f..2f3841b 100644 --- a/package.json +++ b/package.json @@ -51,14 +51,15 @@ "url": "http://github.com/mhsjlw/flying-squid/issues" }, "devDependencies": { - "doctoc": "^0.15.0", - "longjohn": "~0.2.8", "babel": "5.8.23", + "chai": "~3.2.0", + "doctoc": "^0.15.0", "gulp": "^3.8.11", "gulp-babel": "^5.1.0", "gulp-plumber": "^1.0.1", "gulp-sourcemaps": "^1.3.0", - "mocha": "~2.2.5", - "chai": "~3.2.0" + "longjohn": "~0.2.8", + "mineflayer": "^1.5.1", + "mocha": "~2.2.5" } } diff --git a/test/mineflayer.js b/test/mineflayer.js new file mode 100644 index 0000000..d6188ab --- /dev/null +++ b/test/mineflayer.js @@ -0,0 +1,72 @@ +var net = require('net'); +var mcServer=require("../"); +var settings = require('../config/default-settings'); +var mineflayer = require("mineflayer"); + + +describe("Server with mineflayer connection", function() { + var bot; + var serv; + var player; + before(function(done){ + var options = { + 'motd': settings.motd, + 'max-players': settings.maxPlayers, + 'port': settings.port, + 'online-mode': false, + gameMode:settings.gameMode, + logging:settings.logging, + generation:settings.generation, + 'modpe': settings.modpe, + kickTimeout: settings.kickTimeout ? settings.kickTimeout : 10*1000, + regionFolder: settings.regionFolder, + plugins: settings.plugins + }; + + serv=mcServer.createMCServer(options); + + serv.on("listening",function(){ + bot = mineflayer.createBot({ + host: "localhost", + port: 25565, + username: "echo" + }); + + serv.once("newPlayer",function(p){ + player=p; + }); + + bot.on('spawn', function() { + done(); + }); + }) + }); + + describe("commands",function(){ + it("has an help command", function(done) { + bot.once("message",function(message){ + done(); + }); + bot.chat("/help"); + }); + it("can use /particle",function(done){ + bot._client.on('world_particles',function(){ + done(); + }); + bot.chat("/particle 5 10 100 100 100"); + }); + it("can use /playsound",function(done) { + bot.on('soundEffectHeard',function(){ + done(); + }); + bot.chat('/playsound ambient.weather.rain'); + }); + it("can use /summon",function(done) { + bot.on('entitySpawn',function(entity){ + if(entity.name=="EnderDragon") + done(); + }); + bot.chat('/summon EnderDragon'); + }); + }); +}); diff --git a/test/index.js b/test/simple.js similarity index 100% rename from test/index.js rename to test/simple.js