API: `getText` with old revision should only return text, not atext
Co-authored-by: Richard Hansen <rhansen@rhansen.org>pull/5317/head
parent
75ee1ef535
commit
6cca27dea6
|
@ -8,6 +8,8 @@
|
|||
* `padOptions.showChat`
|
||||
* `padOptions.userColor`
|
||||
* `padOptions.userName`
|
||||
* Fixed the return value of the `getText` HTTP API when called with a specific
|
||||
revision.
|
||||
* Fixed a potential attribute pool corruption bug with `copyPadWithoutHistory`.
|
||||
* Mappings created by the `createGroupIfNotExistsFor` HTTP API are now removed
|
||||
from the database when the group is deleted.
|
||||
|
|
|
@ -172,7 +172,9 @@ exports.getText = async (padID, rev) => {
|
|||
}
|
||||
|
||||
// get the text of this revision
|
||||
const text = await pad.getInternalRevisionAText(rev);
|
||||
// getInternalRevisionAText() returns an atext object but we only want the .text inside it.
|
||||
// Details at https://github.com/ether/etherpad-lite/issues/5073
|
||||
const {text} = await pad.getInternalRevisionAText(rev);
|
||||
return {text};
|
||||
}
|
||||
|
||||
|
|
|
@ -102,6 +102,7 @@ describe(__filename, function () {
|
|||
-> getLastEdited(padID) -- Should not be 0
|
||||
-> appendText(padID, "hello")
|
||||
-> getText(padID) -- Should be "hello worldhello"
|
||||
-> getText(padID, rev=2) - should return "hello world"
|
||||
-> setHTML(padID) -- Should fail on invalid HTML
|
||||
-> setHTML(padID) *3 -- Should fail on invalid HTML
|
||||
-> getHTML(padID) -- Should return HTML close to posted HTML
|
||||
|
@ -401,6 +402,22 @@ describe(__filename, function () {
|
|||
assert.equal(res.body.data.text, `${text}hello\n`);
|
||||
});
|
||||
|
||||
it('getText of old revision', async function () {
|
||||
let res = await agent.get(`${endPoint('getRevisionsCount')}&padID=${testPadId}`)
|
||||
.expect(200)
|
||||
.expect('Content-Type', /json/);
|
||||
assert.equal(res.body.code, 0);
|
||||
const rev = res.body.data.revisions;
|
||||
assert(rev != null);
|
||||
assert(Number.isInteger(rev));
|
||||
assert(rev > 0);
|
||||
res = await agent.get(`${endPoint('getText')}&padID=${testPadId}&rev=${rev - 1}`)
|
||||
.expect(200)
|
||||
.expect('Content-Type', /json/);
|
||||
assert.equal(res.body.code, 0);
|
||||
assert.equal(res.body.data.text, `${text}\n`);
|
||||
});
|
||||
|
||||
it('Sets the HTML of a Pad attempting to pass ugly HTML', async function () {
|
||||
const html = '<div><b>Hello HTML</title></head></div>';
|
||||
const res = await agent.post(endPoint('setHTML'))
|
||||
|
|
Loading…
Reference in New Issue