GUACAMOLE-1793: Merge correction to creation of SessionRecordings from Blobs.
diff --git a/guacamole-common-js/src/main/webapp/modules/SessionRecording.js b/guacamole-common-js/src/main/webapp/modules/SessionRecording.js
index 984d877..ce8968f 100644
--- a/guacamole-common-js/src/main/webapp/modules/SessionRecording.js
+++ b/guacamole-common-js/src/main/webapp/modules/SessionRecording.js
@@ -398,8 +398,10 @@
};
// Read instructions from provided blob, extracting each frame
- if (source instanceof Blob)
+ if (source instanceof Blob) {
+ recordingBlob = source;
parseBlob(recordingBlob, loadInstruction, notifyLoaded);
+ }
// If tunnel provided instead of Blob, extract frames, etc. as instructions
// are received, buffering things into a Blob for future seeks
diff --git a/guacamole-common-js/src/test/javascript/SessionRecordingSpec.js b/guacamole-common-js/src/test/javascript/SessionRecordingSpec.js
new file mode 100644
index 0000000..46117f0
--- /dev/null
+++ b/guacamole-common-js/src/test/javascript/SessionRecordingSpec.js
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* global Guacamole, expect */
+
+describe('Guacamole.SessionRecording', function() {
+
+ it('should create new SessionRecording instance from Blob', function() {
+
+ const blob = new Blob(['4.size,1.1,1.0,1.0;']);
+ const recording = new Guacamole.SessionRecording(blob);
+ expect(recording).not.toBeNull();
+
+ });
+
+});
\ No newline at end of file