]> gitweb.factorcode.org Git - factor.git/blob - basis/documents/elements/elements-tests.factor
70476e16a95f336f67b01fe077b68bed0456b777
[factor.git] / basis / documents / elements / elements-tests.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: tools.test namespaces documents documents.elements ;
4 IN: document.elements.tests
5
6 SYMBOL: doc
7 <document> doc set
8 "123\nabcé" doc get set-doc-string
9
10 ! char-elt
11 [ { 0 0 } ] [ { 0 0 } doc get char-elt prev-elt ] unit-test
12 [ { 0 0 } ] [ { 0 1 } doc get char-elt prev-elt ] unit-test
13 [ { 0 3 } ] [ { 1 0 } doc get char-elt prev-elt ] unit-test
14 [ { 1 3 } ] [ { 1 5 } doc get char-elt prev-elt ] unit-test
15
16 [ { 1 5 } ] [ { 1 5 } doc get char-elt next-elt ] unit-test
17 [ { 0 2 } ] [ { 0 1 } doc get char-elt next-elt ] unit-test
18 [ { 1 0 } ] [ { 0 3 } doc get char-elt next-elt ] unit-test
19 [ { 1 5 } ] [ { 1 3 } doc get char-elt next-elt ] unit-test
20
21 ! word-elt
22 <document> doc set
23 "Hello world\nanother line" doc get set-doc-string
24
25 [ { 0 0 } ] [ { 0 0 } doc get word-elt prev-elt ] unit-test
26 [ { 0 0 } ] [ { 0 2 } doc get word-elt prev-elt ] unit-test
27 [ { 0 0 } ] [ { 0 5 } doc get word-elt prev-elt ] unit-test
28 [ { 0 5 } ] [ { 0 6 } doc get word-elt prev-elt ] unit-test
29 [ { 0 6 } ] [ { 0 8 } doc get word-elt prev-elt ] unit-test
30 [ { 0 11 } ] [ { 1 0 } doc get word-elt prev-elt ] unit-test
31
32 [ { 0 5 } ] [ { 0 0 } doc get word-elt next-elt ] unit-test
33 [ { 0 6 } ] [ { 0 5 } doc get word-elt next-elt ] unit-test
34 [ { 0 11 } ] [ { 0 6 } doc get word-elt next-elt ] unit-test
35 [ { 1 0 } ] [ { 0 11 } doc get word-elt next-elt ] unit-test
36
37
38 ! one-word-elt
39 [ { 0 0 } ] [ { 0 0 } doc get one-word-elt prev-elt ] unit-test
40 [ { 0 0 } ] [ { 0 2 } doc get one-word-elt prev-elt ] unit-test
41 [ { 0 0 } ] [ { 0 5 } doc get one-word-elt prev-elt ] unit-test
42 [ { 0 5 } ] [ { 0 2 } doc get one-word-elt next-elt ] unit-test
43 [ { 0 5 } ] [ { 0 5 } doc get one-word-elt next-elt ] unit-test
44
45 ! line-elt
46 <document> doc set
47 "Hello\nworld, how are\nyou?" doc get set-doc-string
48
49 [ { 0 0 } ] [ { 0 3 } doc get line-elt prev-elt ] unit-test
50 [ { 0 3 } ] [ { 1 3 } doc get line-elt prev-elt ] unit-test
51 [ { 2 4 } ] [ { 2 1 } doc get line-elt next-elt ] unit-test
52
53 ! one-line-elt
54 [ { 1 0 } ] [ { 1 3 } doc get one-line-elt prev-elt ] unit-test
55 [ { 1 14 } ] [ { 1 3 } doc get one-line-elt next-elt ] unit-test
56
57 ! page-elt
58 <document> doc set
59 "First line
60 Second line
61 Third line
62 Fourth line
63 Fifth line
64 Sixth line" doc get set-doc-string
65
66 [ { 0 0 } ] [ { 3 3 } doc get 4 <page-elt> prev-elt ] unit-test
67 [ { 1 2 } ] [ { 5 2 } doc get 4 <page-elt> prev-elt ] unit-test
68
69 [ { 4 3 } ] [ { 0 3 } doc get 4 <page-elt> next-elt ] unit-test
70 [ { 5 10 } ] [ { 4 2 } doc get 4 <page-elt> next-elt ] unit-test
71
72 ! doc-elt
73 [ { 0 0 } ] [ { 3 4 } doc get doc-elt prev-elt ] unit-test
74 [ { 5 10 } ] [ { 3 4 } doc get doc-elt next-elt ] unit-test