kip/t/u.c

41 lines
852 B
C

#include"../u.h"
#define AEQ(a,b)Q((a)!=(b),die("assertion failed at line %d\n",__LINE__))
V tsl(V){
AEQ(4,Sl("meow").l);}
V tseql(V){
AEQ(0,seql(Sl("meow"),Sl("rewr")));
AEQ(1,seql(Sl("meow"),Sl("meow")));}
V tsnxt(V){
S n=Sl("meow/rewr/:3");
AEQ(1,seql(Sl("meow"),snxt(n,'/')))
AEQ(1,seql(Sl("rewr"),snxt(S0,'/')))
AEQ(1,seql(Sl(":3"),snxt(S0,'/')))
AEQ(0,snxt(S0,'/').l)}
V thputgetgrw(V){Ht h;
hini(&h,1,SZ(W));
*(W*)hput(&h,Sl("meow"))=1;
*(W*)hput(&h,Sl("rewr"))=2;
AEQ(1,*Hget(W,h,Sl("meow")));
AEQ(2,*Hget(W,h,Sl("rewr")));}
V thgetnul(V){Ht h;
hini(&h,4,SZ(W));
AEQ(0,Hget(W,h,Sl("meow")));}
V thgrw(V){Ht h;
hini(&h,2,SZ(W));
*(W*)hput(&h,Sl("meow"))=1;
hgrw(&h,8);
AEQ(1,*Hget(W,h,Sl("meow"))); }
I main(V){
/*S*/
tsl();
tseql();
tsnxt();
/*Ht*/
thputgetgrw();
thgetnul();
thgrw();
}