summaryrefslogtreecommitdiffstats
path: root/modules/libjar/zipwriter/test/unit/test_zipcomment.js
blob: afe0fd78864c93351ad74e0682fe66e595538d61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

const DATA = "ZIP WRITER TEST COMMENT";
const DATA2 = "ANOTHER ONE";

function run_test() {
  zipW.open(tmpFile, PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE);
  zipW.comment = DATA;
  zipW.close();

  // Should have created a zip file
  Assert.ok(tmpFile.exists());

  // Empty zip file should just be the end of central directory marker
  // and comment
  Assert.equal(tmpFile.fileSize, ZIP_EOCDR_HEADER_SIZE + DATA.length);

  zipW.open(tmpFile, PR_RDWR);
  // Should have the set comment
  Assert.equal(zipW.comment, DATA);
  zipW.comment = DATA2;
  zipW.close();

  // Certain platforms cache the file size so get a fresh file to check.
  tmpFile = tmpFile.clone();

  // Empty zip file should just be the end of central directory marker
  // and comment. This should now be shorter
  Assert.equal(tmpFile.fileSize, ZIP_EOCDR_HEADER_SIZE + DATA2.length);
}