You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by vh...@apache.org on 2002/06/06 10:21:23 UTC
cvs commit: xml-batik/test-sources/org/apache/batik/script/rhino ScriptSelfTest.java
vhardy 2002/06/06 01:21:22
Modified: test-resources/org/apache/batik/test regard.xml
Added: test-resources/org/apache/batik/script/rhino eval.svg
unitTesting.xml
test-sources/org/apache/batik/script/rhino
ScriptSelfTest.java
Log:
Added test showing bug on eval. Fix is following
Revision Changes Path
1.1 xml-batik/test-resources/org/apache/batik/script/rhino/eval.svg
Index: eval.svg
===================================================================
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- ========================================================================= -->
<!-- Copyright (C) The Apache Software Foundation. All rights reserved. -->
<!-- -->
<!-- This software is published under the terms of the Apache Software License -->
<!-- version 1.1, a copy of which has been included with this distribution in -->
<!-- the LICENSE file. -->
<!-- ========================================================================= -->
<!-- ========================================================================= -->
<!-- Checks the operation of the Rhino eval function. -->
<!-- -->
<!-- @author vincent.hardy@sun.com -->
<!-- @version $Id: eval.svg,v 1.1 2002/06/06 08:21:22 vhardy Exp $ -->
<!-- ========================================================================= -->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:test="http://xml.apache.org/batik/test"
width="450" height="500" viewBox="0 0 450 500"
onload="checkEval()">
<test:testResult id="testResult" result="failed" errorCode="evalCode not evaluated"/>
<script type="text/ecmascript"><![CDATA[
function checkEval(){
var e = document.getElementById('target');
var ecmaCode = e.getAttributeNS("http://some.company.com/", "eval");
alert("About to evaluate: " + ecmaCode);
eval(ecmaCode);
}
function callMe() {
alert("in callMe()");
var e = document.getElementById("testResult");
e.setAttributeNS(null, "result", "passed");
}
]]></script>
<rect width="100%" height="100%" id="target" xmlns:data="http://some.company.com/"
data:eval="callMe()"
onclick="checkEval()"/>
</svg>
1.1 xml-batik/test-resources/org/apache/batik/script/rhino/unitTesting.xml
Index: unitTesting.xml
===================================================================
<!-- ========================================================================= -->
<!-- Copyright (C) The Apache Software Foundation. All rights reserved. -->
<!-- -->
<!-- This software is published under the terms of the Apache Software License -->
<!-- version 1.1, a copy of which has been included with this distribution in -->
<!-- the LICENSE file. -->
<!-- ========================================================================= -->
<!-- ========================================================================= -->
<!-- @author vincent.hardy@sun.com -->
<!-- @version $Id: unitTesting.xml,v 1.1 2002/06/06 08:21:22 vhardy Exp $ -->
<!-- ========================================================================= -->
<testSuite id="script.rhino.unitTesting"
name="org.apache.batik.script.rhino package - Unit Testing">
<!-- ================================================================ -->
<!-- Script Permissions check -->
<!-- ================================================================ -->
<testGroup id="security" name="Script Security"
class="org.apache.batik.script.rhino.ScriptSelfTest">
<test id="script/rhino/eval">
<property name="Secure" class="java.lang.Boolean" value="true" />
</test>
</testGroup>
</testSuite>
1.26 +2 -2 xml-batik/test-resources/org/apache/batik/test/regard.xml
Index: regard.xml
===================================================================
RCS file: /home/cvs/xml-batik/test-resources/org/apache/batik/test/regard.xml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- regard.xml 3 May 2002 12:28:53 -0000 1.25
+++ regard.xml 6 Jun 2002 08:21:22 -0000 1.26
@@ -11,7 +11,7 @@
<!-- regression testing. -->
<!-- -->
<!-- @author vincent.hardy@eng.sun.com -->
-<!-- @version $Id: regard.xml,v 1.25 2002/05/03 12:28:53 vhardy Exp $ -->
+<!-- @version $Id: regard.xml,v 1.26 2002/06/06 08:21:22 vhardy Exp $ -->
<!-- ========================================================================= -->
<testRun id="regard" name="Batik Standard Regression Test Run">
<testReportProcessor class="org.apache.batik.test.xml.XMLTestReportProcessor" >
@@ -60,8 +60,8 @@
<testSuite href="file:test-resources/org/apache/batik/dom/svg/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/gvt/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/parser/unitTesting.xml" />
+ <testSuite href="file:test-resources/org/apache/batik/script/rhino/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/transcoder/image/unitTesting.xml" />
-
<testSuite href="file:test-resources/org/apache/batik/css/engine/value/unitTesting.xml" />
1.1 xml-batik/test-sources/org/apache/batik/script/rhino/ScriptSelfTest.java
Index: ScriptSelfTest.java
===================================================================
/*****************************************************************************
* Copyright (C) The Apache Software Foundation. All rights reserved. *
* ------------------------------------------------------------------------- *
* This software is published under the terms of the Apache Software License *
* version 1.1, a copy of which has been included with this distribution in *
* the LICENSE file. *
*****************************************************************************/
package org.apache.batik.script.rhino;
import org.apache.batik.test.*;
import org.apache.batik.util.ApplicationSecurityEnforcer;
import org.apache.batik.util.ParsedURL;
import org.apache.batik.test.svg.SelfContainedSVGOnLoadTest;
import org.apache.batik.bridge.UserAgent;
import org.apache.batik.bridge.UserAgentAdapter;
import org.apache.batik.bridge.ScriptSecurity;
import org.apache.batik.bridge.DefaultScriptSecurity;
import org.apache.batik.bridge.NoLoadScriptSecurity;
import org.apache.batik.bridge.RelaxedScriptSecurity;
/**
* Helper class to simplify writing the unitTesting.xml file for
* scripting. The "id" for the test needs to be the path of the
* selft contained SVG test, starting from:
* <xml-batik-dir>/test-resources/org/apache/batik/
*
* @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
* @version $Id: ScriptSelfTest.java,v 1.1 2002/06/06 08:21:22 vhardy Exp $
*/
public class ScriptSelfTest extends SelfContainedSVGOnLoadTest {
boolean secure = true;
boolean constrain = true;
String scripts = "text/ecmascript, application/java-archive";
TestUserAgent userAgent = new TestUserAgent();
public void setId(String id){
super.setId(id);
svgURL = resolveURL("test-resources/org/apache/batik/" + id + ".svg");
}
public void setSecure(Boolean secure){
this.secure = secure.booleanValue();
}
public Boolean getSecure(){
return new Boolean(this.secure);
}
public void setConstrain(Boolean constrain){
this.constrain = constrain.booleanValue();
}
public Boolean getConstrain(){
return new Boolean(this.constrain);
}
public void setScripts(String scripts){
this.scripts = scripts;
}
public String getScripts(){
return scripts;
}
public TestReport runImpl() throws Exception{
ApplicationSecurityEnforcer ase
= new ApplicationSecurityEnforcer(this.getClass(),
"org/apache/batik/apps/svgbrowser/resources/svgbrowser.policy",
"dummy.jar");
if (secure) {
ase.enforceSecurity(true);
}
try {
return super.runImpl();
} finally {
ase.enforceSecurity(false);
}
}
protected UserAgent buildUserAgent(){
return userAgent;
}
class TestUserAgent extends UserAgentAdapter {
public ScriptSecurity getScriptSecurity(String scriptType,
ParsedURL scriptPURL,
ParsedURL docPURL){
if (scripts.indexOf(scriptType) == -1){
return new NoLoadScriptSecurity(scriptType);
} else {
if (constrain){
return new DefaultScriptSecurity
(scriptType, scriptPURL, docPURL);
} else {
return new RelaxedScriptSecurity
(scriptType, scriptPURL, docPURL);
}
}
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org