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