Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

PDFJavaScriptLaunchActionTestCase.java 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. package org.apache.fop.pdf;
  18. import org.junit.Test;
  19. import static org.junit.Assert.assertFalse;
  20. import static org.junit.Assert.assertTrue;
  21. public class PDFJavaScriptLaunchActionTestCase {
  22. @Test
  23. public void testToPDFStringShouldEncrypt() {
  24. String jsScript = "this.exportDataObject({cName:\"some.pdf\", nLaunch:2});";
  25. PDFJavaScriptLaunchAction action = new PDFJavaScriptLaunchAction(jsScript);
  26. PDFDocument document = new PDFDocument("<test />");
  27. document.setEncryption(new PDFEncryptionParams(null, null, false,
  28. true, false, true, true));
  29. action.setDocument(document);
  30. action.setObjectNumber(1);
  31. String pdfString = action.toPDFString();
  32. assertTrue(pdfString.startsWith("<<\n/S /JavaScript\n/JS <"));
  33. assertFalse(pdfString.contains(jsScript));
  34. assertTrue(pdfString.endsWith(">\n>>"));
  35. }
  36. }