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

started work on UiHelper tests

El RIDO пре 9 година
родитељ
комит
ba0ff3545d
1 измењених фајлова са 30 додато и 0 уклоњено
  1. 30 0
      js/test.js

+ 30 - 0
js/test.js

@@ -2,6 +2,7 @@
 var jsc = require('jsverify'),
     jsdom = require('jsdom-global'),
     cleanup = jsdom(),
+    EventEmitter = require('events'),
 
     a2zString = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
                  'n','o','p','q','r','s','t','u','v','w','x','y','z'],
@@ -810,3 +811,32 @@ describe('Model', function () {
         );
     });
 });
+
+describe('UiHelper', function () {
+    describe('historyChange', function () {
+        before(function () {
+            $.PrivateBin.Helper.reset();
+        });
+
+        jsc.property(
+            'returns the URL without query & fragment',
+            jsc.elements(schemas),
+            jsc.nearray(jsc.elements(a2zString)),
+            jsc.array(jsc.elements(queryString)),
+            'string',
+            function (schema, address, query, fragment) {
+                var expected = schema + '://' + address.join('') + '/',
+                    clean = jsdom('', {url: expected + '?' + query.join('') + '#' + fragment}),
+                    emitter = new EventEmitter();
+
+                $.PrivateBin.UiHelper.init();
+                emitter.emit('popstate');
+                var result = window.location.href;
+                clean();
+                console.log(expected, result);
+                return expected === result;
+            }
+        );
+    });
+});
+