]> gitweb.factorcode.org Git - factor.git/blob - basis/documents/documents-tests.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / documents / documents-tests.factor
1 USING: documents documents.private accessors sequences
2 namespaces tools.test make arrays kernel fry ;
3 IN: documents.tests
4
5 ! Tests
6
7 [ { } ] [
8     [
9         { 1 10 }
10         { 1 10 } [ , "HI" , ] each-line
11     ] { } make
12 ] unit-test
13
14 [ { 1 "HI" } ] [
15     [
16         { 1 10 }
17         { 1 11 } [ , "HI" , ] each-line
18     ] { } make
19 ] unit-test
20
21 [ { 1 "HI" 2 "HI" } ] [
22     [
23         { 1 10 }
24         { 2 11 } [ , "HI" , ] each-line
25     ] { } make
26 ] unit-test
27
28 [ { { t f 1 } { t f 2 } } ] [
29     [
30         { 1 10 } { 2 11 }
31         t f
32         '[ [ _ _ ] dip 3array , ] each-line
33     ] { } make
34 ] unit-test
35
36 [ { 10 4 } ] [ { "a" } { 10 3 } text+loc ] unit-test
37 [ { 10 4 } ] [ { "a" } { 10 3 } text+loc ] unit-test
38
39 [ { 2 9 } ] [
40     <document> "doc" set
41     "Hello world,\nhow are you?\nMore text"
42     "doc" get set-doc-string
43     { 10 0 } "doc" get validate-loc
44 ] unit-test
45
46 [ { 1 12 } ] [
47     <document> "doc" set
48     "Hello world,\nhow are you?\nMore text"
49     "doc" get set-doc-string
50     { 1 20 } "doc" get validate-loc
51 ] unit-test
52
53 [ " world,\nhow are you?\nMore" ] [
54     <document> "doc" set
55     "Hello world,\nhow are you?\nMore text"
56     "doc" get set-doc-string
57     { 0 5 } { 2 4 } "doc" get doc-range
58 ] unit-test
59
60 [ "Hello world,\nhow you?\nMore text" ] [
61     <document> "doc" set
62     "Hello world,\nhow are you?\nMore text"
63     "doc" get set-doc-string
64     { 1 3 } { 1 7 } "doc" get remove-doc-range
65     "doc" get doc-string
66 ] unit-test
67
68 [ "Hello world,\nhow text" ] [
69     <document> "doc" set
70     "Hello world,\nhow are you?\nMore text"
71     "doc" get set-doc-string
72     { 1 3 } { 2 4 } "doc" get remove-doc-range
73     "doc" get doc-string
74 ] unit-test
75
76 [ "Hello world,\nhow you?\nMore text" ] [
77     <document> "doc" set
78     "Hello world,\nhow are you?\nMore text"
79     "doc" get set-doc-string
80     "" { 1 3 } { 1 7 } "doc" get set-doc-range
81     "doc" get doc-string
82 ] unit-test
83
84 [ "Hello world,\nhow text" ] [
85     <document> "doc" set
86     "Hello world,\nhow are you?\nMore text"
87     "doc" get set-doc-string
88     "" { 1 3 } { 2 4 } "doc" get set-doc-range
89     "doc" get doc-string
90 ] unit-test
91
92 <document> "doc" set
93 "Hello\nworld, how are\nyou?" "doc" get set-doc-string
94
95 [ { 2 4 } ] [ "doc" get doc-end ] unit-test
96
97 ! Undo/redo
98 [ ] [ <document> "d" set ] unit-test
99
100 [ ] [ "Hello, world." "d" get set-doc-string ] unit-test
101
102 [
103     T{ edit
104        { old-string "" }
105        { new-string "Hello, world." }
106        { from { 0 0 } }
107        { old-to { 0 0 } }
108        { new-to { 0 13 } }
109     }
110 ] [ "d" get undos>> first ] unit-test
111
112 [ ] [ "Goodbye" { 0 0 } { 0 5 } "d" get set-doc-range ] unit-test
113
114 [ "Goodbye, world." ] [ "d" get doc-string ] unit-test
115
116 [ ] [ "cruel " { 0 9 } { 0 9 } "d" get set-doc-range ] unit-test
117
118 [ 3 ] [ "d" get undos>> length ] unit-test
119
120 [ "Goodbye, cruel world." ] [ "d" get doc-string ] unit-test
121
122 [ "" { 0 9 } { 0 15 } ] [
123     "d" get undos>> last
124     [ old-string>> ] [ from>> ] [ new-to>> ] tri
125 ] unit-test
126
127 [ ] [ "d" get undo ] unit-test
128
129 [ "Goodbye, world." ] [ "d" get doc-string ] unit-test
130
131 [ ] [ "d" get undo ] unit-test
132
133 [ "Hello, world." ] [ "d" get doc-string ] unit-test
134
135 [ ] [ "d" get redo ] unit-test
136
137 [ "Goodbye, world." ] [ "d" get doc-string ] unit-test
138
139 [ ] [ <document> "d" set ] unit-test
140
141 [ ] [ "d" get clear-doc ] unit-test
142
143 [ ] [ "d" get clear-doc ] unit-test
144
145 [ 0 ] [ "d" get undos>> length ] unit-test
146
147 [ ] [ <document> "d" set ] unit-test
148
149 [ ] [ "d" get value>> "value" set ] unit-test
150
151 [ ] [ "Hello world" "d" get set-doc-string ] unit-test
152
153 [ { "" } ] [ "value" get ] unit-test