01: /*
02:
03: Licensed to the Apache Software Foundation (ASF) under one or more
04: contributor license agreements. See the NOTICE file distributed with
05: this work for additional information regarding copyright ownership.
06: The ASF licenses this file to You under the Apache License, Version 2.0
07: (the "License"); you may not use this file except in compliance with
08: the License. You may obtain a copy of the License at
09:
10: http://www.apache.org/licenses/LICENSE-2.0
11:
12: Unless required by applicable law or agreed to in writing, software
13: distributed under the License is distributed on an "AS IS" BASIS,
14: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: See the License for the specific language governing permissions and
16: limitations under the License.
17:
18: */
19: package org.apache.batik.dom;
20:
21: import org.w3c.dom.Document;
22: import org.w3c.dom.Node;
23: import org.w3c.dom.UserDataHandler;
24:
25: /**
26: * Tests Node.setUserData and Node.getUserData.
27: *
28: * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
29: * @version $Id: NodeGetUserDataTest.java 475477 2006-11-15 22:44:28Z cam $
30: */
31: public class NodeGetUserDataTest extends DOM3Test {
32: static class UserHandler implements UserDataHandler {
33: int count = 0;
34:
35: public void handle(short op, String key, Object data, Node src,
36: Node dest) {
37: count++;
38: }
39:
40: public int getCount() {
41: return count;
42: }
43: }
44:
45: public boolean runImplBase() throws Exception {
46: UserHandler udh = new UserHandler();
47: Document doc = newDoc();
48: AbstractNode n = (AbstractNode) doc.createElementNS(null,
49: "test");
50: n.setUserData("key", "val", udh);
51: ((AbstractDocument) doc).renameNode(n, null, "abc");
52: return udh.getCount() == 1
53: && ((String) n.getUserData("key")).equals("val");
54: }
55: }
|