diff options
Diffstat (limited to 'webclient')
-rw-r--r-- | webclient/components/fileUpload/file-upload-service.js | 7 | ||||
-rw-r--r-- | webclient/components/matrix/matrix-service.js | 3 | ||||
-rw-r--r-- | webclient/room/room.html | 2 | ||||
-rw-r--r-- | webclient/test/README | 30 | ||||
-rw-r--r-- | webclient/test/karma.conf.js | 17 |
5 files changed, 44 insertions, 15 deletions
diff --git a/webclient/components/fileUpload/file-upload-service.js b/webclient/components/fileUpload/file-upload-service.js index e0f67b2c6c..b544e29509 100644 --- a/webclient/components/fileUpload/file-upload-service.js +++ b/webclient/components/fileUpload/file-upload-service.js @@ -64,7 +64,8 @@ angular.module('mFileUpload', ['matrixService', 'mUtilities']) var imageMessage = { msgtype: "m.image", url: undefined, - body: { + body: "Image", + info: { size: undefined, w: undefined, h: undefined, @@ -90,7 +91,7 @@ angular.module('mFileUpload', ['matrixService', 'mUtilities']) function(url) { // Update message metadata imageMessage.url = url; - imageMessage.body = { + imageMessage.info = { size: imageFile.size, w: size.width, h: size.height, @@ -101,7 +102,7 @@ angular.module('mFileUpload', ['matrixService', 'mUtilities']) // reuse the original image info for thumbnail data if (!imageMessage.thumbnail_url) { imageMessage.thumbnail_url = imageMessage.url; - imageMessage.thumbnail_info = imageMessage.body; + imageMessage.thumbnail_info = imageMessage.info; } // We are done diff --git a/webclient/components/matrix/matrix-service.js b/webclient/components/matrix/matrix-service.js index d089bf601c..fedfb8910d 100644 --- a/webclient/components/matrix/matrix-service.js +++ b/webclient/components/matrix/matrix-service.js @@ -422,7 +422,8 @@ angular.module('matrixService', []) var content = { msgtype: "m.image", url: image_url, - body: image_body + info: image_body, + body: "Image" }; return this.sendMessage(room_id, msg_id, content); diff --git a/webclient/room/room.html b/webclient/room/room.html index 407daf56ff..ca5669a732 100644 --- a/webclient/room/room.html +++ b/webclient/room/room.html @@ -139,7 +139,7 @@ ng-hide="room.events[$index - 1].user_id === msg.user_id || msg.user_id === state.user_id"/> </td> <td ng-class="(!msg.content.membership && ('m.room.topic' !== msg.type && 'm.room.name' !== msg.type))? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : 'membership text'"> - <div class="bubble" ng-click="openJson(msg)"> + <div class="bubble" ng-dblclick="openJson(msg)"> <span ng-if="'join' === msg.content.membership && msg.changedKey === 'membership'"> {{ msg.content.displayname || members[msg.state_key].displayname || msg.state_key }} joined </span> diff --git a/webclient/test/README b/webclient/test/README index 1a7bc832c7..e7ed4eaa87 100644 --- a/webclient/test/README +++ b/webclient/test/README @@ -1,13 +1,31 @@ -Requires: - - nodejs/npm - - npm install karma +Testing is done using Karma. + + +UNIT TESTING +============ + +Requires the following: + - npm/nodejs + - phantomjs + +Requires the following node packages: - npm install jasmine - - npm install protractor (e2e testing) + - npm install karma + - npm install karma-jasmine + - npm install karma-phantomjs-launcher + - npm install karma-junit-reporter -Setting up continuous integration / run the unit tests (make sure you're in -this directory so it can find the config file): +Make sure you're in this directory so it can find the config file and run: karma start +You should see all the tests pass. + + +E2E TESTING +=========== + +npm install protractor + Setting up e2e tests (only if you don't have a selenium server to run the tests on. If you do, edit the config to point to that url): diff --git a/webclient/test/karma.conf.js b/webclient/test/karma.conf.js index 22c4eaaafa..083c7c7200 100644 --- a/webclient/test/karma.conf.js +++ b/webclient/test/karma.conf.js @@ -23,6 +23,8 @@ module.exports = function(config) { '../js/angular-animate.js', '../js/angular-sanitize.js', '../js/ng-infinite-scroll-matrix.js', + '../js/ui-bootstrap*', + '../js/elastic.js', '../login/**/*.*', '../room/**/*.*', '../components/**/*.*', @@ -35,6 +37,10 @@ module.exports = function(config) { './unit/**/*.js' ], + plugins: [ + 'karma-*', + ], + // list of files to exclude exclude: [ @@ -50,8 +56,11 @@ module.exports = function(config) { // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['progress'], - + reporters: ['progress', 'junit'], + junitReporter: { + outputFile: 'test-results.xml', + suite: '' + }, // web server port port: 9876, @@ -72,11 +81,11 @@ module.exports = function(config) { // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ['Chrome'], + browsers: ['PhantomJS'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits - singleRun: false + singleRun: true }); }; |