@relax.dev/router
Version:
Router for VKUI
40 lines (39 loc) • 1.3 kB
JavaScript
;
var _Page = require("./Page");
var _Route = require("./Route");
var mockPage = new _Page.Page('mock-panel', 'mock-view');
test('from location', function () {
var list = {
'/': mockPage
};
{
var location = '';
expect(!!_Route.Route.fromLocation(list, location)).toBe(true);
expect(!!_Route.Route.fromLocation(list, location, true)).toBe(true);
}
{
var _location = '/';
expect(!!_Route.Route.fromLocation(list, _location)).toBe(true);
expect(!!_Route.Route.fromLocation(list, _location, true)).toBe(true);
}
{
var _location2 = '/?utm_source=ad';
expect(!!_Route.Route.fromLocation(list, _location2)).toBe(true);
expect(!!_Route.Route.fromLocation(list, _location2, true)).toBe(true);
}
});
test('route clone', function () {
var page = new _Page.Page('vew_main', 'panel_main').makeInfinity();
var route = new _Route.Route(page, '/', {
id: '15'
});
expect(JSON.stringify(route)).toEqual(JSON.stringify(route.clone()));
});
it('should return location', function () {
var route1 = new _Route.Route(mockPage, '/', {
mockParam: 'mock-value'
});
var route2 = new _Route.Route(mockPage, '/mock-page', {});
expect(route1.location).toBe('#?mockParam=mock-value');
expect(route2.location).toBe('#mock-page');
});