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
});
};
|