]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/gadgets/editors/editors-tests.factor
bd610ba53b57d6cf0d2a829bbe35cf1d8a9c96f8
[factor.git] / basis / ui / gadgets / editors / editors-tests.factor
1 USING: accessors ui.gadgets.editors tools.test kernel io
2 io.streams.plain definitions namespaces ui.gadgets
3 ui.gadgets.grids prettyprint documents ui.gestures ui.gadgets.debug
4 models documents.elements ui.gadgets.scrollers ui.gadgets.line-support
5 sequences ;
6 IN: ui.gadgets.editors.tests
7
8 [ "foo bar" ] [
9     <editor> "editor" set
10     "editor" get [
11         "foo bar" "editor" get set-editor-string
12         "editor" get one-line-elt select-elt
13         "editor" get gadget-selection
14     ] with-grafted-gadget
15 ] unit-test
16
17 [ "baz quux" ] [
18     <editor> "editor" set
19     "editor" get [
20         "foo bar\nbaz quux" "editor" get set-editor-string
21         "editor" get one-line-elt select-elt
22         "editor" get gadget-selection
23     ] with-grafted-gadget
24 ] unit-test
25
26 [ ] [
27     <editor> "editor" set
28     "editor" get [
29         "foo bar\nbaz quux" "editor" get set-editor-string
30         4 hand-click# set
31         "editor" get position-caret
32     ] with-grafted-gadget
33 ] unit-test
34
35 [ "bar" ] [
36     <editor> "editor" set
37     "editor" get [
38         "bar\nbaz quux" "editor" get set-editor-string
39         { 0 3 } "editor" get caret>> set-model
40         "editor" get select-word
41         "editor" get gadget-selection
42     ] with-grafted-gadget
43 ] unit-test
44
45 \ <editor> must-infer
46
47 "hello" <model> <model-field> "field" set
48
49 "field" get [
50     [ "hello" ] [ "field" get field-model>> value>> ] unit-test
51 ] with-grafted-gadget
52
53 [ "Hello world." ] [ "Hello    \n    world." join-lines ] unit-test
54 [ "  Hello world.  " ] [ "  Hello    \n    world.  " join-lines ] unit-test
55 [ "  Hello world. Goodbye." ] [ "  Hello    \n    world.  \n  Goodbye." join-lines ] unit-test
56
57 [ ] [ <editor> com-join-lines ] unit-test
58 [ ] [ <editor> "A" over set-editor-string com-join-lines ] unit-test
59 [ "A B" ] [ <editor> "A\nB" over set-editor-string [ com-join-lines ] [ editor-string ] bi ] unit-test
60
61 [ 2 ] [ <editor> 20 >>min-rows 20 >>min-cols pref-viewport-dim length ] unit-test
62
63 [ 20 ] [
64     <editor> 20 >>min-rows 20 >>min-cols
65     dup pref-viewport-dim >>dim
66     visible-lines
67 ] unit-test
68