[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/lava gzz/potion/Expression.java gzz/zzutil/...
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] gzz/lava gzz/potion/Expression.java gzz/zzutil/... |
Date: |
Mon, 02 Dec 2002 20:30:09 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Benja Fallenstein <address@hidden> 02/12/02 20:30:09
Modified files:
lava/gzz/potion: Expression.java
lava/gzz/zzutil: Containment.java
lava/test/gzz/zzutil: Containment.test
Log message:
Complete Containment.java
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/potion/Expression.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/zzutil/Containment.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/test/gzz/zzutil/Containment.test.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gzz/lava/gzz/potion/Expression.java
diff -u gzz/lava/gzz/potion/Expression.java:1.1
gzz/lava/gzz/potion/Expression.java:1.2
--- gzz/lava/gzz/potion/Expression.java:1.1 Thu Nov 21 18:51:35 2002
+++ gzz/lava/gzz/potion/Expression.java Mon Dec 2 20:30:09 2002
@@ -1,9 +1,10 @@
+//(c):Benja Fallenstein and others
package gzz.potion;
import java.util.*;
import gzz.vob.linebreaking.HChain;
-public interface Expression{
+public interface Expression {
- String getString(Map context);
- void render(Map context, HChain into);
+ String getString(Map context);
+ void render(Map context, HChain into);
}
Index: gzz/lava/gzz/zzutil/Containment.java
diff -u gzz/lava/gzz/zzutil/Containment.java:1.4
gzz/lava/gzz/zzutil/Containment.java:1.5
--- gzz/lava/gzz/zzutil/Containment.java:1.4 Mon Nov 25 18:52:50 2002
+++ gzz/lava/gzz/zzutil/Containment.java Mon Dec 2 20:30:09 2002
@@ -82,7 +82,26 @@
* (i.e., has a connection on d..contain-list, or
* a connection negwards on d.contain).
*/
- public static void addContainedCell(Cell add, Cell into)
+ public static void addContainedCell(Cell into, Cell add)
throws IllegalArgumentException {
+ Dim d_contain = into.space.getDim(Ids.d_contain);
+ Dim d_contain_list = into.space.getDim(Ids.d_contain_list);
+
+ if(add.s(d_contain, -1) != null ||
+ add.s(d_contain_list, -1) != null ||
+ add.s(d_contain_list) != null) {
+ throw new IllegalArgumentException("Already contained: "+add);
+ }
+
+ if(into.s(d_contain) == null)
+ into.connect(d_contain, add);
+ else {
+ Cell c = into.s(d_contain, 1);
+ while(c.s(d_contain_list) != null &&
+ c.s(d_contain_list).s(d_contain, -1) == null) {
+ c = c.s(d_contain_list);
+ }
+ c.insert(d_contain_list, 1, add);
+ }
}
}
Index: gzz/lava/test/gzz/zzutil/Containment.test
diff -u gzz/lava/test/gzz/zzutil/Containment.test:1.1
gzz/lava/test/gzz/zzutil/Containment.test:1.2
--- gzz/lava/test/gzz/zzutil/Containment.test:1.1 Mon Nov 25 18:52:51 2002
+++ gzz/lava/test/gzz/zzutil/Containment.test Mon Dec 2 20:30:09 2002
@@ -45,3 +45,39 @@
enfs[1].plus(enfs[2].plus(enfs[3]))
assert Containment.getContainedEnfilade(c2) == enfs[4]
assert Containment.getContainedEnfilade(c3) == enfs[5]
+
+
+def testAddContained():
+ s = space()
+ d = Dims(s)
+
+ c = s.N()
+ c.setText("A")
+ c1 = s.N()
+ c1.setText(" true")
+ c1a = s.N()
+ c1a.setText(" ")
+ c2 = s.N()
+ c2.setText("challenge")
+
+ add = Containment.addContainedCell
+ get = Containment.getContainedText
+
+ add(c, c1);
+ add(c, c2);
+ add(c1, c1a);
+
+ assert get(c) == "A true challenge"
+ assert get(c1) == " true "
+ assert c.t() == "A"
+
+ try:
+ add(c2, c1a)
+ except java.lang.IllegalArgumentException:
+ pass
+ else:
+ assert 0
+
+ assert get(c) == "A true challenge"
+ assert get(c1) == " true "
+ assert c.t() == "A"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/lava gzz/potion/Expression.java gzz/zzutil/...,
Benja Fallenstein <=