Skip to content

Commit 913b67b

Browse files
authored
fix: update property indexes in parse_fd_embedded_json_attachments() (#729) (#730)
1 parent 3056a3d commit 913b67b

File tree

3 files changed

+73
-44
lines changed

3 files changed

+73
-44
lines changed

src/gmail.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1260,11 +1260,11 @@ var Gmail = function(localJQuery) {
12601260
if (Array.isArray(json)) {
12611261
for (let item of json) {
12621262
res.push({
1263-
attachment_id: item["4"],
1264-
name: item["2"],
1265-
type: item["1"],
1266-
url: api.tools.check_fd_attachment_url(item["6"]),
1267-
size: Number.parseInt(item["3"])
1263+
attachment_id: item[3],
1264+
name: item[1],
1265+
type: item[0],
1266+
url: api.tools.check_fd_attachment_url(item[5]),
1267+
size: item[2]
12681268
});
12691269
}
12701270
}

test/test.parsing.js

+38-38
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
// "use strict";
1+
"use strict";
22

3-
// let assert = require("assert");
4-
// let Gmail = require("../src/gmail").Gmail;
3+
let assert = require("assert");
4+
let Gmail = require("../src/gmail").Gmail;
55

66
// let testData = require("./testdata-parser.js");
77

@@ -1002,40 +1002,40 @@
10021002

10031003
// });
10041004

1005-
// describe("Test tools for parsing fd-embedded-data", () => {
1006-
1007-
// var xhrDataJSON = require("./testdata-parser-json/testdata-parser-fd-embedded.json");
1008-
// var gmail = new Gmail();
1009-
// var parsed = gmail.tools.parse_fd_embedded_json(xhrDataJSON);
1010-
1011-
// it("JSON Data is an array of 5 elements", () => {
1012-
// assert.equal(Array.isArray(parsed),true);
1013-
// assert.equal(parsed.length,5);
1014-
// });
1015-
1016-
// it("Handles Thread-1 Email-1 JSON consistently", () => {
1017-
// assert.equal(parsed[0].id, "msg-f:1743836977043622489");
1018-
// assert.equal(parsed[0].legacy_email_id, "18335a7dcae04a59");
1019-
// assert.equal(parsed[0].thread_id, "thread-f:1743836977043622489|msg-f:1743836977043622489");
1020-
// assert.equal(parsed[0].smtp_id, "<[email protected]>");
1021-
// assert.equal(parsed[0].is_draft, false);
1022-
// assert.equal(parsed[0].subject, "Test email 4");
1023-
// assert.equal(parsed[0].timestamp, 1663052537006);
1024-
// assert.equal(parsed[0].content_html, "\r\n \r\n\r\n \r\n \r\n <div text=\"#000000\" bgcolor=\"#FFFFFF\">\r\n <p><br>\r\n </p>\r\n <div>-- <br>\r\n Vennlig hilsen<br>\r\n <b>Jostein Kjønigsen</b><br>\r\n <br>\r\n <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a> 🍵 <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a><br>\r\n <a href=\"https://jostein.kjønigsen.no\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://jostein.kj%C3%B8nigsen.no&amp;source=gmail&amp;ust=1663141446701000&amp;usg=AOvVaw2SHvrfYqS0EavwByBx-sPx\">https://jostein.kjønigsen.no</a></div>\r\n </div>\r\n\r\n");
1025-
// assert.deepStrictEqual(parsed[0].date, new Date("2020-04-27T09:35:30.515Z"));
1026-
// assert.equal(parsed[0].from.address, '[email protected]');
1027-
// assert.equal(parsed[0].from.name, 'Elon' );
1028-
// assert.equal((parsed[0].to).length, 2);
1029-
// assert.equal((parsed[0].cc).length, 2);
1030-
// assert.equal((parsed[0].bcc).length, 2);
1031-
1032-
// assert.equal((parsed[0].attachments).length, 1);
1033-
// assert.equal((parsed[0].attachments[0].attachment_id), "0.1");
1034-
// assert.equal((parsed[0].attachments[0].name), "Ubuntu_20.04.txt");
1035-
// assert.equal((parsed[0].attachments[0].type), "text/plain");
1036-
// assert.equal((parsed[0].attachments[0].url), "https://mail.google.com/mail/?ui=2&ik=74384930e0&attid=0.1&permmsgid=msg-a:r-7004022322083187773&th=171bafdd8d3f48bb&view=att&realattid=f_k9iacxmx0&zw");
1037-
// assert.equal((parsed[0].attachments[0].size), 1017);
1038-
// });
1005+
describe("Test tools for parsing fd-embedded-data", () => {
1006+
1007+
var xhrDataJSON = require("./testdata-parser-json/testdata-parser-fd-embedded.json");
1008+
var gmail = new Gmail();
1009+
var parsed = gmail.tools.parse_fd_embedded_json(xhrDataJSON);
1010+
1011+
it("JSON Data is an array of 5 elements", () => {
1012+
assert.equal(Array.isArray(parsed),true);
1013+
assert.equal(parsed.length,5);
1014+
});
1015+
1016+
it("Handles Thread-1 Email-1 JSON consistently", () => {
1017+
assert.equal(parsed[0].id, "msg-f:1743836977043622489");
1018+
assert.equal(parsed[0].legacy_email_id, "18335a7dcae04a59");
1019+
assert.equal(parsed[0].thread_id, "thread-f:1743836977043622489|msg-f:1743836977043622489");
1020+
assert.equal(parsed[0].smtp_id, "<[email protected]>");
1021+
assert.equal(parsed[0].is_draft, false);
1022+
assert.equal(parsed[0].subject, "Test email 4");
1023+
assert.equal(parsed[0].timestamp, 1663052537006);
1024+
assert.equal(parsed[0].content_html, "\r\n \r\n\r\n \r\n \r\n <div text=\"#000000\" bgcolor=\"#FFFFFF\">\r\n <p><br>\r\n </p>\r\n <div>-- <br>\r\n Vennlig hilsen<br>\r\n <b>Jostein Kjønigsen</b><br>\r\n <br>\r\n <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a> 🍵 <a href=\"mailto:[email protected]\" target=\"_blank\">[email protected]</a><br>\r\n <a href=\"https://jostein.kjønigsen.no\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://jostein.kj%C3%B8nigsen.no&amp;source=gmail&amp;ust=1663141446701000&amp;usg=AOvVaw2SHvrfYqS0EavwByBx-sPx\">https://jostein.kjønigsen.no</a></div>\r\n </div>\r\n\r\n");
1025+
assert.deepStrictEqual(parsed[0].date, new Date("2022-09-13T07:02:17.006Z"));
1026+
assert.equal(parsed[0].from.address, '[email protected]');
1027+
assert.equal(parsed[0].from.name, 'Jostein Kjønigsen' );
1028+
assert.equal((parsed[0].to).length, 1);
1029+
assert.equal((parsed[0].cc).length, 0);
1030+
assert.equal((parsed[0].bcc).length, 0);
1031+
1032+
assert.equal((parsed[0].attachments).length, 1);
1033+
assert.equal((parsed[0].attachments[0].attachment_id), "0.0.2");
1034+
assert.equal((parsed[0].attachments[0].name), "invite.ics");
1035+
assert.equal((parsed[0].attachments[0].type), "application/ics");
1036+
assert.equal((parsed[0].attachments[0].url), "https://mail.google.com/mail/?ui=0&ik=99e3eb73b5&attid=0.0.2&permmsgid=msg-f:1743836977043622489&th=18335a7f90a24d19&view=att&zw");
1037+
assert.equal((parsed[0].attachments[0].size), 1564);
1038+
});
10391039
// it("Handles Thread-1 Email-2 JSON consistently", () => {
10401040
// assert.equal(parsed[1].id, "msg-f:1665117937823393243");
10411041
// assert.equal(parsed[1].legacy_email_id, "171baff1391825db");
@@ -1129,7 +1129,7 @@
11291129
// assert.equal((parsed[4].attachments[0].url), "https://mail.google.com/mail/?ui=2&ik=74384930e0&attid=0.1&permmsgid=msg-f:1665118316230599953&th=171bb04953ebe511&view=att&zw");
11301130
// assert.equal((parsed[4].attachments[0].size), 278);
11311131
// });
1132-
// });
1132+
});
11331133

11341134
// describe("Test tools for parsing fd-request-data", () => {
11351135

test/testdata-parser-json/testdata-parser-fd-embedded.json

+30-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,36 @@
6262
"^sq_ig_i_personal",
6363
"^u"
6464
],
65-
null,
65+
[
66+
[
67+
"application/ics",
68+
"invite.ics",
69+
1564,
70+
"0.0.2",
71+
"",
72+
"https://mail.google.com/mail/?ui=0&ik=99e3eb73b5&attid=0.0.2&permmsgid=msg-f:1743836977043622489&th=18335a7f90a24d19&view=att&zw",
73+
0,
74+
[
75+
"/gmail/att/230514602909/AAXoEvt4U0y0XpJwLAslJg.4/38185",
76+
1564,
77+
"1609a18c_13e23b8d_7e0af756_3c5df6a4_2e2c506b",
78+
1064196813,
79+
1564,
80+
1,
81+
null,
82+
null,
83+
"ANGjdJ8dTFofalDEbii384u_Y-_YhwxHS-DyVo8nOiTqVNAf7j4eW9f0o8lAgbZHVX5QhKCpEh8k2y_oEm4XnusbV3FlcBy99xY1v7ulwo3g9CbVzB3z9ULc07yNyNE",
84+
null,
85+
null,
86+
null,
87+
null,
88+
"YjM1YmI0OTQ4ZjI3MmU5ZDg5ZTBjZDk1NjM2ZDRhNGUxZGIzYmZmZjFmNWY1ZDJmZTk0OTg2NWQzNmE1NTVhYQ=="
89+
],
90+
null,
91+
null,
92+
0
93+
]
94+
],
6695
null,
6796
6897
null,

0 commit comments

Comments
 (0)