Commit 1ce7620b authored by JC Brand's avatar JC Brand

Merge remote-tracking branch 'origin' into 0.8

Conflicts:
	converse.js
	docs/CHANGES.rst
	index.html
parents 319a955f 839dd0bd
...@@ -29,7 +29,7 @@ It has the following features: ...@@ -29,7 +29,7 @@ It has the following features:
* Custom status messages * Custom status messages
* Typing notifications * Typing notifications
* Third person messages (/me ) * Third person messages (/me )
* Translated into multiple languages (af, de, es, fr, it, hu, pt-BR, ru) * Translated into multiple languages (af, de, en, es, fr, he, hu, id, it, ja, nl, pt_BR, ru)
* Off-the-record encryption support (via `OTR.js <http://arlolra.github.io/otr>`_) * Off-the-record encryption support (via `OTR.js <http://arlolra.github.io/otr>`_)
----------- -----------
...@@ -88,9 +88,16 @@ Licence ...@@ -88,9 +88,16 @@ Licence
``Converse.js`` is released under both the MIT_ and GPL_ licenses. ``Converse.js`` is released under both the MIT_ and GPL_ licenses.
------ -------
Donate Support
------ -------
For support queries and discussions, please join the mailing list: conversejs@librelist.com
Issues can be logged on the `Github issue tracker <https://github.com/jcbrand/converse.js/issues>`_.
---------------------------------
Donations or tips are appreciated
---------------------------------
* Bitcoin: 16FsPqE9DhFTryxrUenpsGX4LJ1TPu8GqS * Bitcoin: 16FsPqE9DhFTryxrUenpsGX4LJ1TPu8GqS
* Litecoin: LLvLH6qJch7HAamLguHkwobCrxmHLhiwZw * Litecoin: LLvLH6qJch7HAamLguHkwobCrxmHLhiwZw
......
{ {
"name": "converse", "name": "converse",
"version": "0.7.2", "version": "0.7.3",
"devDependencies": { "devDependencies": {
"jasmine": "https://github.com/jcbrand/jasmine.git#1_3_x", "jasmine": "https://github.com/jcbrand/jasmine.git#1_3_x",
"otr": "0.2.7", "otr": "0.2.7",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -333,22 +333,18 @@ you can use the generic selector below, but it's slower: ...@@ -333,22 +333,18 @@ you can use the generic selector below, but it's slower:
span.spinner { span.spinner {
background: url(images/spinner.gif) no-repeat center; background: url(images/spinner.gif) no-repeat center;
width: 22px;
height: 22px; height: 22px;
padding: 0 2px 0 2px; padding: 0 2px 0 2px;
display: block; display: block;
} }
span.spinner.centered { span.spinner.centered {
position: absolute; text-align: center;
top: 30%; padding-top: 5em;
left: 50%;
margin: 0 0 0 -25%;
} }
span.spinner.hor_centered { span.spinner.hor_centered {
left: 40%; text-align: center;
position: absolute;
} }
#toggle-controlbox { #toggle-controlbox {
...@@ -1157,6 +1153,7 @@ ul.chat-toolbar li { ...@@ -1157,6 +1153,7 @@ ul.chat-toolbar li {
list-style: none; list-style: none;
padding: 0 3px 0 3px; padding: 0 3px 0 3px;
cursor: pointer; cursor: pointer;
margin-top: 1px;
} }
ul.chat-toolbar li:hover { ul.chat-toolbar li:hover {
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -7,11 +7,16 @@ Changelog ...@@ -7,11 +7,16 @@ Changelog
* Chat boxes and rooms can now be resized vertically. [jcbrand] * Chat boxes and rooms can now be resized vertically. [jcbrand]
* Chat boxes and rooms can be minimized. [jcbrand] * Chat boxes and rooms can be minimized. [jcbrand]
0.7.3 (Unreleased) 0.7.3 (2014-02-23)
------------------ ------------------
* Option to display a call button in the chatbox toolbar, to allow third-party libraries to provide a calling feature. [Aupajo] * #93 Add API methods exposing the RID and SID values. Can be disabled. [jcbrand]
* #108 Japanese Translations. [mako09] * #102 Option to enable OTR by default. [Aupajo]
* #103 Option to display a call button in the chatbox toolbar, to allow third-party libraries to provide a calling feature. [Aupajo]
* #108 Japanese Translations [mako09]
* #111 OTR not working when using converse.js with prebinding. [jseidl, jcbrand]
* #114, #124 Hewbrew Translations [GreenLunar]
* #115 Indonesian Translations [priyadi]
0.7.2 (2013-12-18) 0.7.2 (2013-12-18)
------------------ ------------------
......
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 652c197d955de4d2c90bb99dc6534a15 config: 738ca7b60aed811ee1668ad08d26eabb
tags: fbb0d17656682115ca4d033fb2f83ba1 tags: fbb0d17656682115ca4d033fb2f83ba1
This diff is collapsed.
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index &mdash; Converse.js 0.7.1 documentation</title> <title>Index &mdash; Converse.js 0.7.3 documentation</title>
<link rel="stylesheet" href="_static/stylesheet.css" type="text/css" /> <link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '0.7.1', VERSION: '0.7.3',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<script type="text/javascript" src="_static/jquery.js"></script> <script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Converse.js 0.7.1 documentation" href="index.html" /> <link rel="top" title="Converse.js 0.7.3 documentation" href="index.html" />
</head> </head>
<body> <body>
<div id="header_wrap" class="outer"> <div id="header_wrap" class="outer">
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<li class="right" style="margin-right: 10px"> <li class="right" style="margin-right: 10px">
<a href="#" title="General Index" <a href="#" title="General Index"
accesskey="I">index</a></li> accesskey="I">index</a></li>
<li><a href="index.html">Converse.js 0.7.1 documentation</a> &raquo;</li> <li><a href="index.html">Converse.js 0.7.3 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<section id="main_content" class="inner"> <section id="main_content" class="inner">
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<li class="right" style="margin-right: 10px"> <li class="right" style="margin-right: 10px">
<a href="#" title="General Index" <a href="#" title="General Index"
>index</a></li> >index</a></li>
<li><a href="index.html">Converse.js 0.7.1 documentation</a> &raquo;</li> <li><a href="index.html">Converse.js 0.7.3 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
</div> </div>
......
This diff is collapsed.
# Sphinx inventory version 2 # Sphinx inventory version 2
# Project: Converse.js # Project: Converse.js
# Version: 0.7.1 # Version: 0.7.3
# The remainder of this file is compressed using zlib. # The remainder of this file is compressed using zlib.
xm xm
{"]; {"];
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search &mdash; Converse.js 0.7.1 documentation</title> <title>Search &mdash; Converse.js 0.7.3 documentation</title>
<link rel="stylesheet" href="_static/stylesheet.css" type="text/css" /> <link rel="stylesheet" href="_static/stylesheet.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: '', URL_ROOT: '',
VERSION: '0.7.1', VERSION: '0.7.3',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html', FILE_SUFFIX: '.html',
HAS_SOURCE: true HAS_SOURCE: true
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<script type="text/javascript" src="_static/underscore.js"></script> <script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script> <script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script> <script type="text/javascript" src="_static/searchtools.js"></script>
<link rel="top" title="Converse.js 0.7.1 documentation" href="index.html" /> <link rel="top" title="Converse.js 0.7.3 documentation" href="index.html" />
<script type="text/javascript"> <script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); }); jQuery(function() { Search.loadIndex("searchindex.js"); });
</script> </script>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<li class="right" style="margin-right: 10px"> <li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index" <a href="genindex.html" title="General Index"
accesskey="I">index</a></li> accesskey="I">index</a></li>
<li><a href="index.html">Converse.js 0.7.1 documentation</a> &raquo;</li> <li><a href="index.html">Converse.js 0.7.3 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
<section id="main_content" class="inner"> <section id="main_content" class="inner">
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<li class="right" style="margin-right: 10px"> <li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index" <a href="genindex.html" title="General Index"
>index</a></li> >index</a></li>
<li><a href="index.html">Converse.js 0.7.1 documentation</a> &raquo;</li> <li><a href="index.html">Converse.js 0.7.3 documentation</a> &raquo;</li>
</ul> </ul>
</div> </div>
</div> </div>
......
This diff is collapsed.
...@@ -48,9 +48,9 @@ copyright = u'2013, JC Brand' ...@@ -48,9 +48,9 @@ copyright = u'2013, JC Brand'
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '0.7.2' version = '0.7.3'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '0.7.2' release = '0.7.3'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
......
This diff is collapsed.
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
<meta name="description" content="Converse.js: Open Source Browser-Based Instant Messaging" /> <meta name="description" content="Converse.js: Open Source Browser-Based Instant Messaging" />
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css"> <link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<link rel="stylesheet" type="text/css" media="screen" href="converse.css"> <link rel="stylesheet" type="text/css" media="screen" href="converse.css">
<script data-main="main" src="components/requirejs/require.js"></script> <!--<script data-main="main" src="components/requirejs/require.js"></script>-->
<!--<script src="builds/converse.min.js"></script>--> <script src="builds/converse.min.js"></script>
<title>Converse.js</title> <title>Converse.js</title>
</head> </head>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<li>Custom status messages</li> <li>Custom status messages</li>
<li>Typing notifications</li> <li>Typing notifications</li>
<li>Third person messages (/me )</li> <li>Third person messages (/me )</li>
<li>Translated into multiple languages (af, de, es, fr, hu, it, nl, pt-BR, ru)</li> <li>Translated into multiple languages (af, de, en, es, fr, he, hu, id, it, ja, nl, pt_BR, ru)</li>
<li>Off-the-record encryption (via <a href="http://arlolra.github.io/otr/" target="_blank">OTR.js</a>)</li> <li>Off-the-record encryption (via <a href="http://arlolra.github.io/otr/" target="_blank">OTR.js</a>)</li>
</ul> </ul>
...@@ -159,9 +159,17 @@ ...@@ -159,9 +159,17 @@
You can: You can:
<ul> <ul>
<li>Follow me on <a href="http://twitter.com/jcopkode" target="_blank">Twitter</a></li> <li>Follow me on <a href="http://twitter.com/jcopkode" target="_blank">Twitter</a></li>
<li>Chat via <a href="xmpp:jc@opkode.com" class="xmpp JSnocheck" title="XMPP/Jabber">XMPP/Jabber</a></li> <li>Chat with me via XMPP: <a href="xmpp:jc@opkode.com" class="xmpp JSnocheck" title="XMPP/Jabber">jc@opkode.com</a></li>
<li>Send me an email via this <a href="http://opkode.com/contact" target="_blank">contact form</a>.</li>
<ul> <ul>
<p>
For <strong>support queries</strong>, please write to the mailing list: <a href="mailto:conversejs@librelist.com">conversejs@librelist.com</a>
</p>
<p>
Please <a target="_blank" href="https://github.com/jcbrand/converse.js/issues">file <strong>bugs</strong> on Github</a>.
</p>
<p>
I'm available for special features and consulting work. Please <a href="http://opkode.com/contact" target="_blank">contact me here</a>.
</p>
</section> </section>
</div> </div>
...@@ -186,7 +194,7 @@ ...@@ -186,7 +194,7 @@
allow_otr: true, allow_otr: true,
auto_list_rooms: false, auto_list_rooms: false,
auto_subscribe: false, auto_subscribe: false,
bosh_service_url: 'http://devbox:8890/http-bind', // Please use this connection manager only for testing purposes bosh_service_url: 'https://bind.opkode.im', // Please use this connection manager only for testing purposes
debug: true , debug: true ,
hide_muc_server: false, hide_muc_server: false,
i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported i18n: locales['en'], // Refer to ./locale/locales.js to see which locales are supported
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
"en": "locale/en/LC_MESSAGES/en", "en": "locale/en/LC_MESSAGES/en",
"es": "locale/es/LC_MESSAGES/es", "es": "locale/es/LC_MESSAGES/es",
"fr": "locale/fr/LC_MESSAGES/fr", "fr": "locale/fr/LC_MESSAGES/fr",
"he": "locale/he/LC_MESSAGES/he",
"hu": "locale/hu/LC_MESSAGES/hu", "hu": "locale/hu/LC_MESSAGES/hu",
"id": "locale/id/LC_MESSAGES/id",
"it": "locale/it/LC_MESSAGES/it", "it": "locale/it/LC_MESSAGES/it",
"ja": "locale/ja/LC_MESSAGES/ja", "ja": "locale/ja/LC_MESSAGES/ja",
"nl": "locale/nl/LC_MESSAGES/nl", "nl": "locale/nl/LC_MESSAGES/nl",
...@@ -30,20 +32,24 @@ ...@@ -30,20 +32,24 @@
'en', 'en',
'es', 'es',
'fr', 'fr',
'he',
'hu', 'hu',
'id',
'it', 'it',
'ja', 'ja',
'nl', 'nl',
'pt_BR', 'pt_BR',
'ru' 'ru'
], function (jed, af, de, en, es, fr, hu, it, ja, nl, pt_BR, ru) { ], function (jed, af, de, en, es, fr, he, hu, id, it, ja, nl, pt_BR, ru) {
root.locales = { root.locales = {
'af': af, 'af': af,
'de': de, 'de': de,
'en': en, 'en': en,
'es': es, 'es': es,
'fr': fr, 'fr': fr,
'he': he,
'hu': hu, 'hu': hu,
'id': id,
'it': it, 'it': it,
'ja': ja, 'ja': ja,
'nl': nl, 'nl': nl,
......
{ {
"name": "converse.js", "name": "converse.js",
"version": "0.7.2", "version": "0.7.3",
"description": "Browser based XMPP instant messaging client", "description": "Browser based XMPP instant messaging client",
"main": "main.js", "main": "main.js",
"directories": { "directories": {
......
...@@ -8,60 +8,40 @@ ...@@ -8,60 +8,40 @@
); );
} (this, function (mock, utils) { } (this, function (mock, utils) {
return describe("Converse", $.proxy(function(mock, utils) { return describe("Converse", $.proxy(function(mock, utils) {
window.localStorage.clear();
it("allows you to subscribe to emitted events", function () {
this.callback = function () {};
spyOn(this, 'callback');
converse.on('onInitialized', this.callback);
converse.emit('onInitialized');
expect(this.callback).toHaveBeenCalled();
converse.emit('onInitialized');
expect(this.callback.callCount, 2);
converse.emit('onInitialized');
expect(this.callback.callCount, 3);
});
it("allows you to listen once for an emitted event", function () {
this.callback = function () {};
spyOn(this, 'callback');
converse.once('onInitialized', this.callback);
converse.emit('onInitialized');
expect(this.callback).toHaveBeenCalled();
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
});
it("allows you to stop listening or subscribing to an event", function () {
this.callback = function () {};
this.anotherCallback = function () {};
this.neverCalled = function () {};
spyOn(this, 'callback');
spyOn(this, 'anotherCallback');
spyOn(this, 'neverCalled');
converse.on('onInitialized', this.callback);
converse.on('onInitialized', this.anotherCallback);
converse.emit('onInitialized'); beforeEach($.proxy(function () {
expect(this.callback).toHaveBeenCalled(); window.localStorage.clear();
expect(this.anotherCallback).toHaveBeenCalled(); window.sessionStorage.clear();
}, converse));
converse.off('onInitialized', this.callback);
it("has an API method for retrieving the next RID", $.proxy(function () {
converse.emit('onInitialized'); var old_connection = converse.connection;
expect(this.callback.callCount, 1); converse.connection.rid = '1234';
expect(this.anotherCallback.callCount, 2); converse.expose_rid_and_sid = false;
expect(converse_api.getRID()).toBe(null);
converse.once('onInitialized', this.neverCalled);
converse.off('onInitialized', this.neverCalled); converse.expose_rid_and_sid = true;
expect(converse_api.getRID()).toBe('1234');
converse.emit('onInitialized');
expect(this.callback.callCount, 1); converse.connection = undefined;
expect(this.anotherCallback.callCount, 3); expect(converse_api.getRID()).toBe(null);
expect(this.neverCalled).not.toHaveBeenCalled(); // Restore the connection
}); converse.connection = old_connection;
}, converse));
it("has an API method for retrieving the SID", $.proxy(function () {
var old_connection = converse.connection;
converse.connection.sid = '1234';
converse.expose_rid_and_sid = false;
expect(converse_api.getSID()).toBe(null);
converse.expose_rid_and_sid = true;
expect(converse_api.getSID()).toBe('1234');
converse.connection = undefined;
expect(converse_api.getSID()).toBe(null);
// Restore the connection
converse.connection = old_connection;
}, converse));
}, converse, mock, utils)); }, converse, mock, utils));
})); }));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
}
);
} (this, function (mock, utils) {
return describe("The Converse Event Emitter", $.proxy(function(mock, utils) {
window.localStorage.clear();
it("allows you to subscribe to emitted events", function () {
this.callback = function () {};
spyOn(this, 'callback');
converse.on('onInitialized', this.callback);
converse.emit('onInitialized');
expect(this.callback).toHaveBeenCalled();
converse.emit('onInitialized');
expect(this.callback.callCount, 2);
converse.emit('onInitialized');
expect(this.callback.callCount, 3);
});
it("allows you to listen once for an emitted event", function () {
this.callback = function () {};
spyOn(this, 'callback');
converse.once('onInitialized', this.callback);
converse.emit('onInitialized');
expect(this.callback).toHaveBeenCalled();
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
});
it("allows you to stop listening or subscribing to an event", function () {
this.callback = function () {};
this.anotherCallback = function () {};
this.neverCalled = function () {};
spyOn(this, 'callback');
spyOn(this, 'anotherCallback');
spyOn(this, 'neverCalled');
converse.on('onInitialized', this.callback);
converse.on('onInitialized', this.anotherCallback);
converse.emit('onInitialized');
expect(this.callback).toHaveBeenCalled();
expect(this.anotherCallback).toHaveBeenCalled();
converse.off('onInitialized', this.callback);
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
expect(this.anotherCallback.callCount, 2);
converse.once('onInitialized', this.neverCalled);
converse.off('onInitialized', this.neverCalled);
converse.emit('onInitialized');
expect(this.callback.callCount, 1);
expect(this.anotherCallback.callCount, 3);
expect(this.neverCalled).not.toHaveBeenCalled();
});
}, converse, mock, utils));
}));
(function (root, factory) {
define([
"mock",
"utils"
], function (mock, utils) {
return factory(mock, utils);
}
);
} (this, function (mock, utils) {
return describe("The OTR module", $.proxy(function(mock, utils) {
beforeEach($.proxy(function () {
window.localStorage.clear();
window.sessionStorage.clear();
}, converse));
it("can store a session passphrase in session storage", $.proxy(function () {
var pp;
// With no prebind, the user's XMPP password is used and nothing is
// stored in session storage.
this.prebind = false;
this.connection.pass = 's3cr3t!';
expect(this.otr.getSessionPassphrase()).toBe(this.connection.pass);
expect(window.sessionStorage.length).toBe(0);
expect(window.localStorage.length).toBe(0);
// With prebind, a random passphrase is generated and stored in
// session storage.
this.prebind = true;
pp = this.otr.getSessionPassphrase();
expect(pp).not.toBe(this.connection.pass);
expect(window.sessionStorage.length).toBe(1);
expect(window.localStorage.length).toBe(0);
expect(pp).toBe(window.sessionStorage[hex_sha1(converse.connection.jid)]);
// Clean up
this.prebind = false;
}, converse));
}, converse, mock, utils));
}));
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
"jquery": "components/jquery/jquery", "jquery": "components/jquery/jquery",
"jed": "components/jed/jed", "jed": "components/jed/jed",
"locales": "locale/nolocales", "locales": "locale/nolocales",
"pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR",
"ru": "locale/ru/LC_MESSAGES/ru",
"jquery.tinysort": "components/tinysort/src/jquery.tinysort", "jquery.tinysort": "components/tinysort/src/jquery.tinysort",
"underscore": "components/underscore/underscore", "underscore": "components/underscore/underscore",
"backbone": "components/backbone/backbone", "backbone": "components/backbone/backbone",
......
...@@ -12,8 +12,11 @@ ...@@ -12,8 +12,11 @@
"en": "locale/en/LC_MESSAGES/en", "en": "locale/en/LC_MESSAGES/en",
"es": "locale/es/LC_MESSAGES/es", "es": "locale/es/LC_MESSAGES/es",
"fr": "locale/fr/LC_MESSAGES/fr", "fr": "locale/fr/LC_MESSAGES/fr",
"he": "locale/he/LC_MESSAGES/he",
"hu": "locale/hu/LC_MESSAGES/hu", "hu": "locale/hu/LC_MESSAGES/hu",
"it": "locale/it/LC_MESSAGES/it", "it": "locale/it/LC_MESSAGES/it",
"id": "locale/id/LC_MESSAGES/id",
"ja": "locale/ja/LC_MESSAGES/ja",
"nl": "locale/nl/LC_MESSAGES/nl", "nl": "locale/nl/LC_MESSAGES/nl",
"pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR", "pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR",
"ru": "locale/ru/LC_MESSAGES/ru", "ru": "locale/ru/LC_MESSAGES/ru",
......
...@@ -12,8 +12,11 @@ ...@@ -12,8 +12,11 @@
"en": "locale/en/LC_MESSAGES/en", "en": "locale/en/LC_MESSAGES/en",
"es": "locale/es/LC_MESSAGES/es", "es": "locale/es/LC_MESSAGES/es",
"fr": "locale/fr/LC_MESSAGES/fr", "fr": "locale/fr/LC_MESSAGES/fr",
"he": "locale/he/LC_MESSAGES/he",
"hu": "locale/hu/LC_MESSAGES/hu", "hu": "locale/hu/LC_MESSAGES/hu",
"id": "locale/id/LC_MESSAGES/id",
"it": "locale/it/LC_MESSAGES/it", "it": "locale/it/LC_MESSAGES/it",
"ja": "locale/ja/LC_MESSAGES/ja",
"nl": "locale/nl/LC_MESSAGES/nl", "nl": "locale/nl/LC_MESSAGES/nl",
"pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR", "pt_BR": "locale/pt_BR/LC_MESSAGES/pt_BR",
"ru": "locale/ru/LC_MESSAGES/ru", "ru": "locale/ru/LC_MESSAGES/ru",
......
...@@ -47,6 +47,7 @@ require([ ...@@ -47,6 +47,7 @@ require([
"jasmine-html" "jasmine-html"
], function($, converse, mock, jasmine) { ], function($, converse, mock, jasmine) {
// Set up converse.js // Set up converse.js
window.converse_api = converse;
window.localStorage.clear(); window.localStorage.clear();
converse.initialize({ converse.initialize({
prebind: false, prebind: false,
...@@ -58,10 +59,20 @@ require([ ...@@ -58,10 +59,20 @@ require([
testing: true testing: true
}, function (converse) { }, function (converse) {
window.converse = converse; window.converse = converse;
window.crypto = {
getRandomValues: function (buf) {
var i;
for (i=0, len=buf.length; i<len; i++) {
buf[i] = Math.floor(Math.random()*256);
}
}
};
require([ require([
"jasmine-console-reporter", "jasmine-console-reporter",
"jasmine-junit-reporter", "jasmine-junit-reporter",
"spec/converse", "spec/converse",
"spec/otr",
"spec/eventemitter",
"spec/controlbox", "spec/controlbox",
"spec/chatbox", "spec/chatbox",
"spec/chatroom" "spec/chatroom"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment