summaryrefslogtreecommitdiff
path: root/ambari-web/test/utils/ember_reopen_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'ambari-web/test/utils/ember_reopen_test.js')
-rw-r--r--ambari-web/test/utils/ember_reopen_test.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/ambari-web/test/utils/ember_reopen_test.js b/ambari-web/test/utils/ember_reopen_test.js
index eda5e81c06..aa50a50b03 100644
--- a/ambari-web/test/utils/ember_reopen_test.js
+++ b/ambari-web/test/utils/ember_reopen_test.js
@@ -78,4 +78,61 @@ describe('Ember functionality extension', function () {
});
+ describe('#Em.Route', function() {
+ describe('#serializeQueryParams', function() {
+ var route,
+ cases = [
+ {
+ m: 'No query params',
+ params: undefined,
+ e: {
+ result: {query: ''},
+ serializedQuery: {}
+ }
+ },
+ {
+ m: 'Query params ?param1=value1&param2=value2',
+ params: { query: '?param1=value1&param2=value2'},
+ e: {
+ result: {query: '?param1=value1&param2=value2'},
+ serializedQuery: {param1: 'value1', param2: 'value2'}
+ }
+ },
+ {
+ m: 'Query params with encodedComponent ?param1=value1%30&param2=value2',
+ params: { query: '?param1=value1%30&param2=value2'},
+ e: {
+ result: {query: '?param1=value1%30&param2=value2'},
+ serializedQuery: {param1: 'value10', param2: 'value2'}
+ }
+ }
+ ];
+
+ beforeEach(function() {
+ route = Ember.Route.create({
+ route: 'demo:query',
+ serialize: function(router, params) {
+ return this.serializeQueryParams(router, params, 'testController');
+ }
+ });
+ });
+
+ afterEach(function() {
+ route.destroy();
+ route = null;
+ });
+
+ cases.forEach(function(test) {
+ it(test.m, function() {
+ var ctrl = Em.Object.create({});
+ var router = Em.Object.create({
+ testController: ctrl
+ });
+ var ret = route.serialize(router, test.params);
+ expect(ret).to.be.eql(test.e.result);
+ expect(ctrl.get('serializedQuery')).to.be.eql(test.e.serializedQuery);
+ });
+ });
+ });
+ });
});