discordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teams
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
5.1 KiB
116 lines
5.1 KiB
describe("Ext.data.amf.Reader", function() { |
|
var reader; |
|
|
|
beforeEach(function() { |
|
Ext.define('spec.Engineer', { |
|
extend: 'Ext.data.Model', |
|
fields: ['name'] |
|
}); |
|
reader = new Ext.data.amf.Reader({model: spec.Engineer}); |
|
}); |
|
|
|
afterEach(function() { |
|
Ext.ModelManager.types = {}; |
|
Ext.undefine('spec.Engineer'); |
|
}); |
|
|
|
it("should read records in AMF0 format", function() { |
|
var resultSet = reader.read({ responseBytes: [ |
|
0,0,0,0,0,1,0,16,109,101,115,115,97,103,101,47,111,110,82,101,115, |
|
117,108,116,0,4,110,117,108,108,0,0,0,0,10,0,0,0,3,3,0,2,105,100,0, |
|
63,240,0,0,0,0,0,0,0,4,110,97,109,101,2,0,4,80,104,105,108,0,0,9,3, |
|
0,2,105,100,0,64,0,0,0,0,0,0,0,0,4,110,97,109,101,2,0,3,68,111,110, |
|
0,0,9,3,0,2,105,100,0,64,8,0,0,0,0,0,0,0,4,110,97,109,101,2,0,5,75, |
|
101,118,105,110,0,0,9 |
|
]}); |
|
|
|
expect(resultSet instanceof Ext.data.ResultSet).toBe(true); |
|
|
|
expect(resultSet.success).toBe(true); |
|
expect(resultSet.count).toBe(3); |
|
|
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records[0] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[0].getId()).toBe(1); |
|
expect(resultSet.records[0].get('name')).toBe('Phil'); |
|
expect(resultSet.records[1] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[1].getId()).toBe(2); |
|
expect(resultSet.records[1].get('name')).toBe('Don'); |
|
expect(resultSet.records[2] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[2].getId()).toBe(3); |
|
expect(resultSet.records[2].get('name')).toBe('Kevin'); |
|
}); |
|
|
|
it("should read records in AMF0 format when the record root is not the message body", function() { |
|
reader = new Ext.data.amf.Reader({ |
|
model: spec.Engineer, |
|
root: 'a.b[1].c' |
|
}); |
|
|
|
var resultSet = reader.read({ responseBytes: [ |
|
0,0,0,0,0,1,0,16,109,101,115,115,97,103,101,47,111,110,82,101,115, |
|
117,108,116,0,4,110,117,108,108,0,0,0,0,3,0,1,97,3,0,1,98,10,0,0,0, |
|
2,0,63,240,0,0,0,0,0,0,3,0,1,99,10,0,0,0,3,3,0,2,105,100,0,63,240,0, |
|
0,0,0,0,0,0,4,110,97,109,101,2,0,4,80,104,105,108,0,0,9,3,0,2,105, |
|
100,0,64,0,0,0,0,0,0,0,0,4,110,97,109,101,2,0,3,68,111,110,0,0,9,3, |
|
0,2,105,100,0,64,8,0,0,0,0,0,0,0,4,110,97,109,101,2,0,5,75,101,118, |
|
105,110,0,0,9,0,0,9,0,0,9,0,0,9 |
|
]}); |
|
|
|
expect(resultSet instanceof Ext.data.ResultSet).toBe(true); |
|
|
|
expect(resultSet.success).toBe(true); |
|
expect(resultSet.count).toBe(3); |
|
|
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records[0] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[0].getId()).toBe(1); |
|
expect(resultSet.records[0].get('name')).toBe('Phil'); |
|
expect(resultSet.records[1] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[1].getId()).toBe(2); |
|
expect(resultSet.records[1].get('name')).toBe('Don'); |
|
expect(resultSet.records[2] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[2].getId()).toBe(3); |
|
expect(resultSet.records[2].get('name')).toBe('Kevin'); |
|
}); |
|
|
|
it("should read records in AMF3 format", function() { |
|
var resultSet = reader.read({ responseBytes: [ |
|
0,3,0,0,0,1,0,16,109,101,115,115,97,103,101,47,111,110,82,101,115, |
|
117,108,116,0,4,110,117,108,108,0,0,0,0,17,9,7,1,10,11,1,5,105,100, |
|
4,1,9,110,97,109,101,6,9,80,104,105,108,1,10,1,0,4,2,2,6,7,68,111, |
|
110,1,10,1,0,4,3,2,6,11,75,101,118,105,110,1 |
|
]}); |
|
|
|
expect(resultSet instanceof Ext.data.ResultSet).toBe(true); |
|
|
|
expect(resultSet.success).toBe(true); |
|
expect(resultSet.count).toBe(3); |
|
|
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records.length).toBe(3); |
|
expect(resultSet.records[0] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[0].getId()).toBe(1); |
|
expect(resultSet.records[0].get('name')).toBe('Phil'); |
|
expect(resultSet.records[1] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[1].getId()).toBe(2); |
|
expect(resultSet.records[1].get('name')).toBe('Don'); |
|
expect(resultSet.records[2] instanceof spec.Engineer).toBe(true); |
|
expect(resultSet.records[2].getId()).toBe(3); |
|
expect(resultSet.records[2].get('name')).toBe('Kevin'); |
|
}); |
|
|
|
it("should return a null result set if there are no data in the response", function() { |
|
runs(function() { |
|
var resultSet = reader.read({ responseBytes: [] }); |
|
|
|
expect(resultSet instanceof Ext.data.ResultSet).toBe(true); |
|
expect(resultSet.total).toBe(0); |
|
expect(resultSet.count).toBe(0); |
|
expect(resultSet.records).toEqual([]); |
|
expect(resultSet.success).toBe(true); |
|
}); |
|
}); |
|
});
|
|
|