浏览代码

refactor URL generators

El RIDO 2 年之前
父节点
当前提交
fd82b937a9
共有 2 个文件被更改,包括 15 次插入21 次删除
  1. 2 2
      js/test/Model.js
  2. 13 19
      js/test/UiHelper.js

+ 2 - 2
js/test/Model.js

@@ -80,7 +80,7 @@ describe('Model', function () {
 
         jsc.property(
             'returns the query string without separator, if any',
-            common.jscUrl(),
+            common.jscUrl(true, false),
             jsc.tuple(new Array(16).fill(common.jscHexString)),
             jsc.array(common.jscQueryString()),
             jsc.array(common.jscQueryString()),
@@ -184,7 +184,7 @@ describe('Model', function () {
         );
         jsc.property(
             'throws exception on empty fragment of the URL',
-            common.jscUrl(false, false),
+            common.jscUrl(false),
             function (url) {
                 let clean = jsdom('', {url: common.urlToString(url)}),
                     result = false;

+ 13 - 19
js/test/UiHelper.js

@@ -13,10 +13,9 @@ describe('UiHelper', function () {
 
         jsc.property(
             'redirects to home, when the state is null',
-            common.jscSchemas(),
-            jsc.nearray(common.jscA2zString()),
-            function (schema, address) {
-                var expected = schema + '://' + address.join('') + '/',
+            common.jscUrl(false, false),
+            function (url) {
+                const expected = common.urlToString(url),
                     clean = jsdom('', {url: expected});
 
                 // make window.location.href writable
@@ -34,13 +33,11 @@ describe('UiHelper', function () {
 
         jsc.property(
             'does not redirect to home, when a new paste is created',
-            common.jscSchemas(),
-            jsc.nearray(common.jscA2zString()),
-            jsc.array(common.jscQueryString()),
+            common.jscUrl(false),
             jsc.nearray(common.jscBase64String()),
-            function (schema, address, query, fragment) {
-                var expected = schema + '://' + address.join('') + '/?' +
-                               query.join('') + '#' + fragment.join(''),
+            function (url, fragment) {
+                url.fragment = fragment.join('');
+                const expected = common.urlToString(url),
                     clean = jsdom('', {url: expected});
 
                 // make window.location.href writable
@@ -67,15 +64,12 @@ describe('UiHelper', function () {
 
         jsc.property(
             'redirects to home',
-            common.jscSchemas(),
-            jsc.nearray(common.jscA2zString()),
-            jsc.array(common.jscQueryString()),
-            jsc.nearray(common.jscBase64String()),
-            function (schema, address, query, fragment) {
-                var expected = schema + '://' + address.join('') + '/',
-                    clean = jsdom('', {
-                        url: expected + '?' + query.join('') + '#' + fragment.join('')
-                    });
+            common.jscUrl(),
+            function (url) {
+                const clean = jsdom('', {url: common.urlToString(url)});
+                delete(url.query);
+                delete(url.fragment);
+                const expected = common.urlToString(url);
 
                 // make window.location.href writable
                 Object.defineProperty(window.location, 'href', {