Преглед изворни кода

Add method to get the latest RID. Updates #93

JC Brand пре 11 година
родитељ
комит
30f3114c7c
3 измењених фајлова са 35 додато и 0 уклоњено
  1. 6 0
      converse.js
  2. 27 0
      spec/converse.js
  3. 2 0
      tests_main.js

+ 6 - 0
converse.js

@@ -3585,6 +3585,12 @@
         'initialize': function (settings, callback) {
             converse.initialize(settings, callback);
         },
+        'getRID': function () {
+            if (typeof converse.connection !== "undefined") {
+                return converse.connection.rid;
+            }
+            return null;
+        },
         'once': function(evt, handler) {
             converse.once(evt, handler);
         },

+ 27 - 0
spec/converse.js

@@ -0,0 +1,27 @@
+(function (root, factory) {
+    define([
+        "mock",
+        "utils"
+        ], function (mock, utils) {
+            return factory(mock, utils);
+        }
+    );
+} (this, function (mock, utils) {
+    return describe("Converse", $.proxy(function(mock, utils) {
+
+        beforeEach($.proxy(function () {
+            window.localStorage.clear();
+            window.sessionStorage.clear();
+        }, converse));
+
+        it("has an API method for retrieving the next RID", $.proxy(function () {
+            var old_connection = converse.connection;
+            converse.connection.rid = '1234';
+            expect(converse_api.getRID()).toBe('1234');
+            converse.connection = undefined;
+            expect(converse_api.getRID()).toBe(null);
+            // Restore the connection
+            converse.connection = old_connection;
+        }, converse));
+    }, converse, mock, utils));
+}));

+ 2 - 0
tests_main.js

@@ -100,6 +100,7 @@ require([
     "jasmine-html"
     ], function($, converse, mock, jasmine) {
         // Set up converse.js
+        window.converse_api = converse;
         window.localStorage.clear();
         converse.initialize({
             prebind: false,
@@ -122,6 +123,7 @@ require([
             require([
                 "jasmine-console-reporter",
                 "jasmine-junit-reporter",
+                "spec/converse",
                 "spec/otr",
                 "spec/eventemitter",
                 "spec/controlbox",