spyne 0.19.1 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +4 -3
- package/.travis.yml +24 -11
- package/karma.conf.js +76 -86
- package/lib/spyne.esm.js +15 -0
- package/lib/spyne.esm.js.map +1 -0
- package/lib/spyne.umd.js +9565 -0
- package/package.json +47 -27
- package/rollup.config.js +26 -0
- package/src/spyne/channels/channel-fetch-class.js +39 -43
- package/src/spyne/channels/channel-payload-class.js +61 -74
- package/src/spyne/channels/channel-proxy.js +25 -26
- package/src/spyne/channels/channel.js +141 -149
- package/src/spyne/channels/channels-config.js +46 -47
- package/src/spyne/channels/channels-map.js +61 -65
- package/src/spyne/channels/spyne-channel-lifecycle.js +12 -12
- package/src/spyne/channels/spyne-channel-route.js +241 -250
- package/src/spyne/channels/spyne-channel-ui.js +213 -75
- package/src/spyne/channels/spyne-channel-window.js +157 -157
- package/src/spyne/spyne-app.js +32 -19
- package/src/spyne/spyne-plugins.js +55 -70
- package/src/spyne/spyne.js +23 -23
- package/src/spyne/utils/channel-config-validator.js +10 -10
- package/src/spyne/utils/channel-fetch-util.js +72 -55
- package/src/spyne/utils/channel-payload-filter.js +89 -100
- package/src/spyne/utils/deep-merge.js +31 -29
- package/src/spyne/utils/frp-tools.js +108 -92
- package/src/spyne/utils/gc.js +6 -6
- package/src/spyne/utils/mixins/base-core-mixins.js +17 -15
- package/src/spyne/utils/mixins/base-streams-mixins.js +9 -9
- package/src/spyne/utils/route-channel-updater.js +23 -29
- package/src/spyne/utils/safe-clone.js +40 -58
- package/src/spyne/utils/sanitize-html.js +35 -0
- package/src/spyne/utils/security-policy.js +11 -0
- package/src/spyne/utils/spyne-app-properties.js +110 -114
- package/src/spyne/utils/spyne-logger.js +4 -11
- package/src/spyne/utils/spyne-plugins-methods.js +38 -63
- package/src/spyne/utils/spyne-trait.js +33 -33
- package/src/spyne/utils/spyne-utils-channel-route-url.js +229 -153
- package/src/spyne/utils/spyne-utils-channel-route.js +128 -138
- package/src/spyne/utils/spyne-utils-channel-window.js +39 -39
- package/src/spyne/utils/viewstream-animations.js +12 -12
- package/src/spyne/utils/viewstream-observables.js +45 -45
- package/src/spyne/views/dom-element-template.js +111 -114
- package/src/spyne/views/dom-element.js +82 -84
- package/src/spyne/views/view-stream-broadcaster.js +66 -62
- package/src/spyne/views/view-stream-element.js +105 -106
- package/src/spyne/views/view-stream-payload.js +25 -27
- package/src/spyne/views/view-stream-selector.js +157 -163
- package/src/spyne/views/view-stream.js +416 -640
- package/src/tests/channels/channel-dom.test.js +15 -15
- package/src/tests/channels/channel-fetch.test.js +51 -62
- package/src/tests/channels/channel-payload-class.test.js +50 -63
- package/src/tests/channels/channel-payload-filter.test.js +133 -193
- package/src/tests/channels/channel-route.test.js +102 -112
- package/src/tests/channels/channel-stream-item.test.js +19 -19
- package/src/tests/channels/channel-ui.test.js +15 -27
- package/src/tests/channels/channel-util-dom.test.js +31 -31
- package/src/tests/channels/channel.test.js +20 -25
- package/src/tests/channels/route-utils.test.js +61 -66
- package/src/tests/channels/url-utils.test.js +151 -151
- package/src/tests/channels/view-stream-broadcaster.test.js +7 -7
- package/src/tests/import.test.js +5 -5
- package/src/tests/index.js +6 -7
- package/src/tests/index.test.js +6 -8
- package/src/tests/mocks/channel-payload-data.js +218 -220
- package/src/tests/mocks/enhancer.test.js +5 -5
- package/src/tests/mocks/payload-ui.js +87 -90
- package/src/tests/mocks/routes-data.js +264 -266
- package/src/tests/mocks/spyne-docs.mocks.js +3 -3
- package/src/tests/mocks/template-renderer.mocks.js +47 -47
- package/src/tests/mocks/utils-data.js +78 -79
- package/src/tests/mocks/viewstream-internal-payload.mocks.js +50 -50
- package/src/tests/mocks/window-events-arr.js +1 -1
- package/src/tests/package-json.spec.test.js +9 -0
- package/src/tests/spyne-app.test.js +15 -18
- package/src/tests/spyne-plugin.test.js +16 -20
- package/src/tests/utils/channel-action-filter.test.js +84 -86
- package/src/tests/utils/channel-data-packet-generator.unused.js +62 -86
- package/src/tests/utils/channel-fetch-util.test.js +64 -66
- package/src/tests/utils/frp-tools.test.js +19 -19
- package/src/tests/utils/plugins-methods.test.js +31 -55
- package/src/tests/utils/security.test.js +10 -0
- package/src/tests/utils/spyne-app-properties.test.js +4 -8
- package/src/tests/views/dom-el-selectors.test.js +112 -119
- package/src/tests/views/dom-el-template-proxy.test.js +7 -0
- package/src/tests/views/dom-el-template.test.js +186 -156
- package/src/tests/views/dom-el.test.js +58 -56
- package/src/tests/views/view-stream-enhancer-loader.test.js +2 -2
- package/src/tests/views/view-stream-enhancer.test.js +11 -11
- package/src/tests/views/view-stream.test.js +22 -33
- package/webpack.config.js +76 -67
- package/docs/-_%20Solves%20equations%20of%20the%20form%20a%20_%20x%20=%20b.html +0 -487
- package/docs/DomItem.html +0 -298
- package/docs/DomItem_DomItem.html +0 -314
- package/docs/ViewStream.html +0 -2249
- package/docs/ViewStream_ViewStream.html +0 -503
- package/docs/custom/css/jsdoc-viewstream.css +0 -377
- package/docs/custom/layout.tmpl +0 -47
- package/docs/dom-item.js.html +0 -213
- package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docs/global.html +0 -548
- package/docs/index-custom.html +0 -79
- package/docs/index.html +0 -82
- package/docs/jsdoc.config.json +0 -22
- package/docs/scripts/linenumber.js +0 -25
- package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docs/scripts/prettify/lang-css.js +0 -2
- package/docs/scripts/prettify/prettify.js +0 -28
- package/docs/styles/jsdoc-default.css +0 -358
- package/docs/styles/prettify-jsdoc.css +0 -111
- package/docs/styles/prettify-tomorrow.css +0 -132
- package/docs/view-stream.js.html +0 -767
|
@@ -1,106 +1,101 @@
|
|
|
1
1
|
// const assert = require('assert');
|
|
2
2
|
|
|
3
|
-
import { SpyneUtilsChannelRoute } from '../../spyne/utils/spyne-utils-channel-route'
|
|
4
|
-
import {postProcessedRouteData, preProcessedRouteData,reduceProcessedRouteData,reducedRoutesArr, mainConfigPreProcessedData, mainConfigPostProcessedData} from '../mocks/routes-data'
|
|
3
|
+
import { SpyneUtilsChannelRoute } from '../../spyne/utils/spyne-utils-channel-route'
|
|
4
|
+
import { postProcessedRouteData, preProcessedRouteData, reduceProcessedRouteData, reducedRoutesArr, mainConfigPreProcessedData, mainConfigPostProcessedData } from '../mocks/routes-data'
|
|
5
5
|
import {
|
|
6
6
|
SpyneConfigData,
|
|
7
7
|
RouteDataForTests,
|
|
8
8
|
windowLocationData
|
|
9
|
-
} from '../mocks/utils-data'
|
|
10
|
-
import { SpyneChannelRoute } from '../../spyne/channels/spyne-channel-route'
|
|
11
|
-
import {path} from 'ramda'
|
|
12
|
-
const R = require('ramda')
|
|
13
|
-
const ObjtoStr = JSON.stringify
|
|
9
|
+
} from '../mocks/utils-data'
|
|
10
|
+
import { SpyneChannelRoute } from '../../spyne/channels/spyne-channel-route'
|
|
11
|
+
import { path } from 'ramda'
|
|
12
|
+
const R = require('ramda')
|
|
13
|
+
const ObjtoStr = JSON.stringify
|
|
14
14
|
|
|
15
|
-
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
15
|
+
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
16
16
|
|
|
17
17
|
describe('Route Utils', () => {
|
|
18
18
|
it('flattenConfigObjects should return array of params', () => {
|
|
19
|
-
const finalArr = [
|
|
20
|
-
|
|
19
|
+
const finalArr = ['pageId', '', 'imageNum', 'author', 'hemingway', 'author', 'hemingway', 'imageNum', 'pixels', 'photogNum', 'randomNum', '32', 'holographs|photos|digital|videos']
|
|
20
|
+
const arr = SpyneUtilsChannelRoute.flattenConfigObject(routeConfig.routes)
|
|
21
21
|
// return true;
|
|
22
|
-
expect(arr).to.deep.equal(finalArr)
|
|
23
|
-
})
|
|
22
|
+
expect(arr).to.deep.equal(finalArr)
|
|
23
|
+
})
|
|
24
24
|
|
|
25
25
|
it('get route arr data should remove unused params', () => {
|
|
26
|
-
const paramsArr = ['pageId', '', 'imageNum', 'author', 'photogNum']
|
|
27
|
-
const arr = ['imageNum', 'pageId', 'author']
|
|
28
|
-
const routedArr = ['pageId', 'imageNum', 'author']
|
|
29
|
-
|
|
30
|
-
expect(routeObj.paths).to.deep.equal(routedArr)
|
|
31
|
-
})
|
|
32
|
-
})
|
|
26
|
+
const paramsArr = ['pageId', '', 'imageNum', 'author', 'photogNum']
|
|
27
|
+
const arr = ['imageNum', 'pageId', 'author']
|
|
28
|
+
const routedArr = ['pageId', 'imageNum', 'author']
|
|
29
|
+
const routeObj = SpyneUtilsChannelRoute.getRouteArrData(arr, paramsArr)
|
|
30
|
+
expect(routeObj.paths).to.deep.equal(routedArr)
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
33
|
|
|
34
34
|
describe('it should compare two objects for updated keys', () => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
35
|
+
const obj1 = {
|
|
36
|
+
pageId: 'guide',
|
|
37
|
+
section: 'reference'
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const obj2 = {
|
|
41
|
+
pageId: 'guide',
|
|
42
|
+
section: 'overview',
|
|
43
|
+
menuItem: 'intro-sending-channel-payloads',
|
|
44
|
+
type: 'menuItem',
|
|
45
|
+
isManualScroll: true
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const obj3 = {
|
|
49
49
|
ya: 1,
|
|
50
50
|
ubu:3,
|
|
51
51
|
lsd:4,
|
|
52
52
|
aesf:'sadfsd',
|
|
53
53
|
a23rff: 23,
|
|
54
54
|
aasdsf: 234
|
|
55
|
-
}
|
|
55
|
+
}
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
const routeKeywordsArr = [
|
|
58
58
|
'pageId',
|
|
59
59
|
'section',
|
|
60
60
|
'menuItem'
|
|
61
|
-
]
|
|
61
|
+
]
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
const checkUpdatedKeys = SpyneUtilsChannelRoute.compareRouteKeywords()
|
|
64
64
|
|
|
65
65
|
it('first comparison should be done against empty obj', () => {
|
|
66
|
-
|
|
67
|
-
console.log(
|
|
68
|
-
expect(compareStart.pathsChanged).to.deep.equal(['pageId', 'section'])
|
|
69
|
-
})
|
|
66
|
+
const compareStart = checkUpdatedKeys.compare(obj1)
|
|
67
|
+
// console.log('compare start is ', compareStart)
|
|
68
|
+
expect(compareStart.pathsChanged).to.deep.equal(['pageId', 'section'])
|
|
69
|
+
})
|
|
70
70
|
|
|
71
71
|
it('should compare second obj against first', () => {
|
|
72
|
-
|
|
73
|
-
expect(compare2.pathsChanged).to.deep.equal(['section', 'menuItem'])
|
|
74
|
-
})
|
|
75
|
-
|
|
72
|
+
const compare2 = checkUpdatedKeys.compare(obj2, routeKeywordsArr)
|
|
73
|
+
expect(compare2.pathsChanged).to.deep.equal(['section', 'menuItem'])
|
|
74
|
+
})
|
|
76
75
|
|
|
77
|
-
it('should conform empty str and and 404s, convert arrays to route config', ()=>{
|
|
78
|
-
const revisedConfig = SpyneUtilsChannelRoute.conformRouteObject(preProcessedRouteData)
|
|
79
|
-
expect(revisedConfig).to.deep.equal(postProcessedRouteData)
|
|
76
|
+
it('should conform empty str and and 404s, convert arrays to route config', () => {
|
|
77
|
+
const revisedConfig = SpyneUtilsChannelRoute.conformRouteObject(preProcessedRouteData)
|
|
78
|
+
expect(revisedConfig).to.deep.equal(postProcessedRouteData)
|
|
80
79
|
})
|
|
81
80
|
|
|
82
|
-
it('should create route datasets ',()=>{
|
|
83
|
-
const channelsRouteObj = R.prop('routes', postProcessedRouteData)
|
|
81
|
+
it('should create route datasets ', () => {
|
|
82
|
+
const channelsRouteObj = R.prop('routes', postProcessedRouteData)
|
|
84
83
|
|
|
85
84
|
channelsRouteObj.routePath['bio-.*'] = {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
routePath : {
|
|
86
|
+
404 : '.+',
|
|
87
|
+
routeName : 'bioId',
|
|
88
|
+
bioLastName : '.*'
|
|
90
89
|
}
|
|
91
|
-
}
|
|
90
|
+
}
|
|
92
91
|
|
|
93
|
-
const routeDatasetsAndProps = SpyneUtilsChannelRoute.addRouteDatasets(postProcessedRouteData)
|
|
92
|
+
const routeDatasetsAndProps = SpyneUtilsChannelRoute.addRouteDatasets(postProcessedRouteData)
|
|
94
93
|
|
|
95
|
-
const {routeDatasetsArr} = routeDatasetsAndProps
|
|
96
|
-
const {routeNamesArr} = routeDatasetsAndProps
|
|
97
|
-
|
|
98
|
-
//console.log(routeNamesArr,' route data sets \n',JSON.stringify(routeDatasetsArr) );
|
|
99
|
-
//return true;
|
|
100
|
-
expect(routeDatasetsArr).to.deep.equal(reducedRoutesArr);
|
|
94
|
+
const { routeDatasetsArr } = routeDatasetsAndProps
|
|
95
|
+
const { routeNamesArr } = routeDatasetsAndProps
|
|
101
96
|
|
|
97
|
+
// console.log(routeNamesArr,' route data sets \n',JSON.stringify(routeDatasetsArr) );
|
|
98
|
+
// return true;
|
|
99
|
+
expect(routeDatasetsArr).to.deep.equal(reducedRoutesArr)
|
|
102
100
|
})
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
});
|
|
101
|
+
})
|
|
@@ -1,226 +1,226 @@
|
|
|
1
1
|
// const assert = require('assert');
|
|
2
2
|
|
|
3
|
-
import { SpyneUtilsChannelRouteUrl } from '../../spyne/utils/spyne-utils-channel-route-url'
|
|
4
|
-
import { SpyneConfigData, RouteDataForTests, routeConfigWithRegexOverride, payloadDataForUrlUtils, urlUtilsArr } from '../mocks/utils-data'
|
|
3
|
+
import { SpyneUtilsChannelRouteUrl } from '../../spyne/utils/spyne-utils-channel-route-url'
|
|
4
|
+
import { SpyneConfigData, RouteDataForTests, routeConfigWithRegexOverride, payloadDataForUrlUtils, urlUtilsArr } from '../mocks/utils-data'
|
|
5
5
|
|
|
6
|
-
chai.use(require('chai-dom'))
|
|
6
|
+
chai.use(require('chai-dom'))
|
|
7
7
|
|
|
8
|
-
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
8
|
+
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
9
9
|
|
|
10
10
|
describe('URL Utils - Params To Route', () => {
|
|
11
11
|
describe('Route query string should parse into query obj', () => {
|
|
12
12
|
it('output multiple routeData from slash query', () => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
17
|
-
})
|
|
13
|
+
const data = RouteDataForTests.multiple.data
|
|
14
|
+
const queryStr = RouteDataForTests.multiple.query
|
|
15
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(queryStr, routeConfig, 'query')
|
|
16
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
17
|
+
})
|
|
18
18
|
it('output single routeData from slash query', () => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
23
|
-
})
|
|
19
|
+
const data = RouteDataForTests.singleBasic.data
|
|
20
|
+
const queryStr = RouteDataForTests.singleBasic.query
|
|
21
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(queryStr, routeConfig, 'query')
|
|
22
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
23
|
+
})
|
|
24
24
|
it('output home routeData from slash query', () => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
29
|
-
})
|
|
30
|
-
})
|
|
25
|
+
const data = RouteDataForTests.home.data
|
|
26
|
+
const queryStr = RouteDataForTests.home.query
|
|
27
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(queryStr, routeConfig, 'query')
|
|
28
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
29
|
+
})
|
|
30
|
+
})
|
|
31
31
|
|
|
32
32
|
describe('Route slash string should parse into query obj', () => {
|
|
33
33
|
it('output multiple routeData from slash query', () => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const data = RouteDataForTests.multiple.data
|
|
35
|
+
const slashStr = RouteDataForTests.multiple.slash
|
|
36
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(slashStr, routeConfig)
|
|
37
37
|
// console.log('data query multiple1 ',slashStr,paramsFromRoute.routeData);
|
|
38
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
39
|
-
})
|
|
38
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
39
|
+
})
|
|
40
40
|
|
|
41
41
|
it('output multiple regex routeData from slash query', () => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const data = RouteDataForTests.multipleRegex.data
|
|
43
|
+
const slashStr = RouteDataForTests.multipleRegex.slash
|
|
44
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(slashStr, routeConfig)
|
|
45
45
|
// console.log('data query regex str to routeData ',data,slashStr,paramsFromRoute.routeData);
|
|
46
46
|
// return true;
|
|
47
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
48
|
-
})
|
|
47
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
48
|
+
})
|
|
49
49
|
|
|
50
50
|
it('output single routeData from slash query', () => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
55
|
-
})
|
|
51
|
+
const data = RouteDataForTests.singleBasic.data
|
|
52
|
+
const slashStr = RouteDataForTests.singleBasic.slash
|
|
53
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(slashStr, routeConfig)
|
|
54
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
55
|
+
})
|
|
56
56
|
|
|
57
57
|
it('output home routeData from slash query', () => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const data = RouteDataForTests.home.data
|
|
59
|
+
const slashStr = RouteDataForTests.home.slash
|
|
60
|
+
const paramsFromRoute = SpyneUtilsChannelRouteUrl.convertRouteToParams(slashStr, routeConfig)
|
|
61
61
|
// console.log('data query multiple1 ',slashStr,paramsFromRoute.routeData,data);
|
|
62
|
-
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
63
|
-
})
|
|
64
|
-
})
|
|
62
|
+
expect(JSON.stringify(paramsFromRoute.routeData)).to.equal(JSON.stringify(data))
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
65
|
|
|
66
66
|
describe('Should create array of route routeData from obj', () => {
|
|
67
67
|
it('should return multiple routeData in arr', () => {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
expect(JSON.stringify(routeVal)).to.equal(correctRouteArr)
|
|
73
|
-
})
|
|
68
|
+
const data = RouteDataForTests.multiple.data
|
|
69
|
+
const correctRouteArr = RouteDataForTests.multiple.arr
|
|
70
|
+
const route = routeConfig.routes.routePath
|
|
71
|
+
const routeVal = SpyneUtilsChannelRouteUrl.createRouteArrayFromParams(data, route)
|
|
72
|
+
expect(JSON.stringify(routeVal)).to.equal(correctRouteArr)
|
|
73
|
+
})
|
|
74
74
|
|
|
75
75
|
it('should return single keyword in arr', () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
expect(JSON.stringify(routeVal)).to.equal(correctRouteArr)
|
|
81
|
-
})
|
|
76
|
+
const data = RouteDataForTests.single.data
|
|
77
|
+
const correctRouteArr = RouteDataForTests.single.arr
|
|
78
|
+
const route = routeConfig.routes.routePath
|
|
79
|
+
const routeVal = SpyneUtilsChannelRouteUrl.createRouteArrayFromParams(data, route)
|
|
80
|
+
expect(JSON.stringify(routeVal)).to.equal(correctRouteArr)
|
|
81
|
+
})
|
|
82
82
|
|
|
83
83
|
it('should return home keyword in arr', () => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
const data = RouteDataForTests.home.data
|
|
85
|
+
const correctRouteArr = RouteDataForTests.home.arr
|
|
86
|
+
const route = routeConfig.routes.routePath
|
|
87
|
+
const routeVal = SpyneUtilsChannelRouteUrl.createRouteArrayFromParams(data, route)
|
|
88
88
|
expect(JSON.stringify(routeVal))
|
|
89
|
-
.to.equal(JSON.stringify(correctRouteArr))
|
|
90
|
-
})
|
|
89
|
+
.to.equal(JSON.stringify(correctRouteArr))
|
|
90
|
+
})
|
|
91
91
|
it('should return empty keyword in arr', () => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
const data = RouteDataForTests.empty.data
|
|
93
|
+
const correctRouteArr = RouteDataForTests.empty.arr
|
|
94
|
+
const route = routeConfig.routes.routePath
|
|
95
|
+
const routeVal = SpyneUtilsChannelRouteUrl.createRouteArrayFromParams(data, route)
|
|
96
96
|
// console.log('data empty ',JSON.stringify(routeVal),correctRouteArr);
|
|
97
|
-
expect(1).to.equal(1)
|
|
98
|
-
})
|
|
99
|
-
})
|
|
97
|
+
expect(1).to.equal(1)
|
|
98
|
+
})
|
|
99
|
+
}) // END ARRAY OF ROUTE PARAMS
|
|
100
100
|
describe('Params should translate to slash routes', () => {
|
|
101
101
|
it('output multiple routeData query', () => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
const data = RouteDataForTests.multiple.data
|
|
103
|
+
const correctRouteQuery = RouteDataForTests.multiple.slash
|
|
104
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash')
|
|
105
105
|
// console.log('data query multiple ',routeVal);
|
|
106
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
107
|
-
})
|
|
106
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
107
|
+
})
|
|
108
108
|
it('Params based on regex should translate to slash routes', () => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
const data = RouteDataForTests.multipleRegex.data
|
|
110
|
+
const correctRouteQuery = RouteDataForTests.multipleRegex.slash
|
|
111
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash')
|
|
112
112
|
// console.log('data query multiple 1',data, correctRouteQuery, routeVal);
|
|
113
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
114
|
-
})
|
|
113
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
114
|
+
})
|
|
115
115
|
|
|
116
116
|
it('nested keyword route should translate to slash routes', () => {
|
|
117
|
-
let data = RouteDataForTests.multiple.data
|
|
118
|
-
data = R.omit(['pageId', 'imageNum'], data)
|
|
119
|
-
let correctRouteQuery = RouteDataForTests.multiple.slash
|
|
120
|
-
correctRouteQuery = 'page-one/5/doe'
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
let data = RouteDataForTests.multiple.data
|
|
118
|
+
data = R.omit(['pageId', 'imageNum'], data)
|
|
119
|
+
let correctRouteQuery = RouteDataForTests.multiple.slash
|
|
120
|
+
correctRouteQuery = 'page-one/5/doe'
|
|
121
|
+
const updatedQuery = 'page-one/5/ubalu'
|
|
122
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash', correctRouteQuery)
|
|
123
123
|
// console.log('data query multiple 1',data, correctRouteQuery, routeVal);
|
|
124
124
|
// console.log(' data: ',updatedQuery, correctRouteQuery, routeVal);
|
|
125
|
-
expect(routeVal).to.equal(updatedQuery)
|
|
126
|
-
})
|
|
125
|
+
expect(routeVal).to.equal(updatedQuery)
|
|
126
|
+
})
|
|
127
127
|
|
|
128
128
|
it('nested keyword route should not display if missing in between slash routes', () => {
|
|
129
|
-
let data = RouteDataForTests.multiple.data
|
|
130
|
-
data = R.omit(['pageId', 'imageNum'], data)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
expect(routeVal).to.equal(correctRouteQuery)
|
|
134
|
-
})
|
|
129
|
+
let data = RouteDataForTests.multiple.data
|
|
130
|
+
data = R.omit(['pageId', 'imageNum'], data)
|
|
131
|
+
const correctRouteQuery = 'page-one'
|
|
132
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash', correctRouteQuery)
|
|
133
|
+
expect(routeVal).to.equal(correctRouteQuery)
|
|
134
|
+
})
|
|
135
135
|
|
|
136
136
|
it('nested keyword route should translate to hash routes', () => {
|
|
137
|
-
|
|
138
|
-
thisRouteConfig.isHash = true
|
|
139
|
-
let data = RouteDataForTests.multiple.data
|
|
140
|
-
data = R.omit(['pageId', 'imageNum'], data)
|
|
141
|
-
let correctRouteQuery = RouteDataForTests.multiple.slash
|
|
142
|
-
correctRouteQuery = 'page-one/5/sdfdf'
|
|
143
|
-
|
|
144
|
-
|
|
137
|
+
const thisRouteConfig = R.clone(routeConfig)
|
|
138
|
+
thisRouteConfig.isHash = true
|
|
139
|
+
let data = RouteDataForTests.multiple.data
|
|
140
|
+
data = R.omit(['pageId', 'imageNum'], data)
|
|
141
|
+
let correctRouteQuery = RouteDataForTests.multiple.slash
|
|
142
|
+
correctRouteQuery = 'page-one/5/sdfdf'
|
|
143
|
+
const updatedQuery = 'page-one/5/ubalu'
|
|
144
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, thisRouteConfig, 'slash', correctRouteQuery)
|
|
145
145
|
// console.log('data query multiple 1',data, correctRouteQuery, routeVal,updatedQuery);
|
|
146
146
|
// console.log(' data: ',updatedQuery, correctRouteQuery, routeVal);
|
|
147
147
|
// return true;
|
|
148
|
-
expect(routeVal).to.equal(updatedQuery)
|
|
149
|
-
})
|
|
148
|
+
expect(routeVal).to.equal(updatedQuery)
|
|
149
|
+
})
|
|
150
150
|
|
|
151
151
|
it('output single routeData query', () => {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
const data = RouteDataForTests.single.data
|
|
153
|
+
const correctRouteQuery = RouteDataForTests.single.slash
|
|
154
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash')
|
|
155
155
|
// console.log('data query single ',routeVal);
|
|
156
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
157
|
-
})
|
|
156
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
157
|
+
})
|
|
158
158
|
it('output home routeData query', () => {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
const data = RouteDataForTests.home.data
|
|
160
|
+
const correctRouteQuery = RouteDataForTests.home.slash
|
|
161
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash')
|
|
162
162
|
// console.log('data query home ',routeVal);
|
|
163
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
164
|
-
})
|
|
163
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
164
|
+
})
|
|
165
165
|
it('output empty routeData query', () => {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
const data = RouteDataForTests.empty.data
|
|
167
|
+
const correctRouteQuery = RouteDataForTests.empty.slash
|
|
168
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'slash', correctRouteQuery)
|
|
169
169
|
// console.log('data query empty ',routeVal);
|
|
170
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
171
|
-
})
|
|
172
|
-
})
|
|
170
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
171
|
+
})
|
|
172
|
+
})
|
|
173
173
|
|
|
174
174
|
describe('Params should translate to query routes', () => {
|
|
175
175
|
it('output multiple routeData query', () => {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
const data = RouteDataForTests.multiple.data
|
|
177
|
+
const correctRouteQuery = RouteDataForTests.multiple.query
|
|
178
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'query')
|
|
179
179
|
// console.log('data query multiple ',routeVal);
|
|
180
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
181
|
-
})
|
|
180
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
181
|
+
})
|
|
182
182
|
|
|
183
183
|
it('output multiple routeData with regex query', () => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
const data = RouteDataForTests.multipleRegex.data
|
|
185
|
+
const correctRouteQuery = RouteDataForTests.multipleRegex.query
|
|
186
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'query')
|
|
187
187
|
// console.log('data query multiple ',routeVal);
|
|
188
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
189
|
-
})
|
|
188
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
189
|
+
})
|
|
190
190
|
|
|
191
191
|
it('output single routeData query', () => {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
192
|
+
const data = RouteDataForTests.single.data
|
|
193
|
+
const correctRouteQuery = RouteDataForTests.single.query
|
|
194
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'query')
|
|
195
195
|
// console.log('data query single ',routeVal);
|
|
196
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
197
|
-
})
|
|
196
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
197
|
+
})
|
|
198
198
|
it('output home routeData query', () => {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
const data = RouteDataForTests.home.data
|
|
200
|
+
const correctRouteQuery = RouteDataForTests.home.query
|
|
201
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'query')
|
|
202
202
|
// console.log('data query home ',routeVal);
|
|
203
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
204
|
-
})
|
|
203
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
204
|
+
})
|
|
205
205
|
it('output empty routeData query', () => {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
const data = RouteDataForTests.empty.data
|
|
207
|
+
const correctRouteQuery = RouteDataForTests.empty.query
|
|
208
|
+
const routeVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(data, routeConfig, 'query')
|
|
209
209
|
// console.log('data query empty ',routeVal);
|
|
210
|
-
expect(correctRouteQuery).to.equal(routeVal)
|
|
211
|
-
})
|
|
212
|
-
})
|
|
210
|
+
expect(correctRouteQuery).to.equal(routeVal)
|
|
211
|
+
})
|
|
212
|
+
})
|
|
213
213
|
|
|
214
214
|
describe('Overrides to regex values are added', () => {
|
|
215
215
|
it('should override pageId home regex', () => {
|
|
216
|
-
|
|
217
|
-
expect(paramsToRouteVal).to.equal('')
|
|
218
|
-
})
|
|
216
|
+
const paramsToRouteVal = SpyneUtilsChannelRouteUrl.convertParamsToRoute(payloadDataForUrlUtils, routeConfigWithRegexOverride)
|
|
217
|
+
expect(paramsToRouteVal).to.equal('')
|
|
218
|
+
})
|
|
219
219
|
|
|
220
220
|
it('should replace regex with obj value from data', () => {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
expect(pageIdStr).to.equal('')
|
|
224
|
-
})
|
|
225
|
-
})
|
|
226
|
-
})
|
|
221
|
+
const arrUpdate = SpyneUtilsChannelRouteUrl.checkPayloadForRegexOverrides(urlUtilsArr, payloadDataForUrlUtils)
|
|
222
|
+
const pageIdStr = arrUpdate[0].pageId
|
|
223
|
+
expect(pageIdStr).to.equal('')
|
|
224
|
+
})
|
|
225
|
+
})
|
|
226
|
+
})
|
|
@@ -3,15 +3,15 @@ import {
|
|
|
3
3
|
SpyneConfigData,
|
|
4
4
|
RouteDataForTests,
|
|
5
5
|
windowLocationData
|
|
6
|
-
} from '../mocks/utils-data'
|
|
7
|
-
chai.use(require('chai-dom'))
|
|
6
|
+
} from '../mocks/utils-data'
|
|
7
|
+
chai.use(require('chai-dom'))
|
|
8
8
|
|
|
9
|
-
const ObjtoStr = JSON.stringify
|
|
9
|
+
const ObjtoStr = JSON.stringify
|
|
10
10
|
|
|
11
|
-
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
11
|
+
const routeConfig = SpyneConfigData.channels.ROUTE
|
|
12
12
|
|
|
13
13
|
describe('ViewStreamBroadcaster', () => {
|
|
14
14
|
it('should placeholder', () => {
|
|
15
|
-
return true
|
|
16
|
-
})
|
|
17
|
-
})
|
|
15
|
+
return true
|
|
16
|
+
})
|
|
17
|
+
})
|
package/src/tests/import.test.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// creation and utility methods
|
|
2
2
|
// operators all come from `rxjs/operators`
|
|
3
|
-
import { map, takeUntil, tap } from 'rxjs/operators'
|
|
4
|
-
const Observable = require('rxjs')
|
|
3
|
+
import { map, takeUntil, tap } from 'rxjs/operators'
|
|
4
|
+
const Observable = require('rxjs')
|
|
5
5
|
|
|
6
6
|
describe('importing tests import.test.js', () => {
|
|
7
7
|
it('works', () => {
|
|
8
8
|
// throw new Error('ya!')
|
|
9
9
|
// console.log('loaded tests ',Observable);
|
|
10
10
|
|
|
11
|
-
expect(true).to.be.true
|
|
12
|
-
})
|
|
13
|
-
})
|
|
11
|
+
expect(true).to.be.true
|
|
12
|
+
})
|
|
13
|
+
})
|
package/src/tests/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
// let getGlobalObj = constants.getGlobalObj;
|
|
3
2
|
|
|
4
3
|
// import {CDN} from "../app/app-contants";
|
|
@@ -9,19 +8,19 @@
|
|
|
9
8
|
|
|
10
9
|
function maybeFirst(array) {
|
|
11
10
|
if (array && array.length) {
|
|
12
|
-
return array[0]
|
|
11
|
+
return array[0]
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
const assert = require('assert')
|
|
17
16
|
|
|
18
17
|
describe('maybeFirst', function() {
|
|
19
18
|
it('returns the first element of an array', function() {
|
|
20
|
-
|
|
19
|
+
const result = maybeFirst([1, 2, 3])
|
|
21
20
|
|
|
22
|
-
assert.equal(result, 1, 'maybeFirst([1, 2, 3]) is 1')
|
|
23
|
-
})
|
|
24
|
-
})
|
|
21
|
+
assert.equal(result, 1, 'maybeFirst([1, 2, 3]) is 1')
|
|
22
|
+
})
|
|
23
|
+
})
|
|
25
24
|
|
|
26
25
|
/*
|
|
27
26
|
|