]> gitweb.factorcode.org Git - factor.git/blobdiff - 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
index 4bc9de6645ac6c6c1c024d46df28f4d9cfbeeb7d..41d93c889ec4acf9c5f32b56f85f4a7f53337014 100644 (file)
@@ -1,5 +1,6 @@
+USING: documents documents.private accessors sequences
+namespaces tools.test make arrays kernel fry ;
 IN: documents.tests
-USING: documents namespaces tools.test make arrays kernel fry ;
 
 ! Tests
 
@@ -88,19 +89,65 @@ USING: documents namespaces tools.test make arrays kernel fry ;
     "doc" get doc-string
 ] unit-test
 
-<document> "doc" set
-"Hello world" "doc" get set-doc-string
-[ { 0 0 } ] [ { 0 0 } "doc" get one-word-elt prev-elt ] unit-test
-[ { 0 0 } ] [ { 0 2 } "doc" get one-word-elt prev-elt ] unit-test
-[ { 0 0 } ] [ { 0 5 } "doc" get one-word-elt prev-elt ] unit-test
-[ { 0 5 } ] [ { 0 2 } "doc" get one-word-elt next-elt ] unit-test
-[ { 0 5 } ] [ { 0 5 } "doc" get one-word-elt next-elt ] unit-test
-
 <document> "doc" set
 "Hello\nworld, how are\nyou?" "doc" get set-doc-string
 
 [ { 2 4 } ] [ "doc" get doc-end ] unit-test
 
-[ { 0 0 } ] [ { 0 3 } "doc" get line-elt prev-elt ] unit-test
-[ { 0 3 } ] [ { 1 3 } "doc" get line-elt prev-elt ] unit-test
-[ { 2 4 } ] [ { 2 1 } "doc" get line-elt next-elt ] unit-test
+! Undo/redo
+[ ] [ <document> "d" set ] unit-test
+
+[ ] [ "Hello, world." "d" get set-doc-string ] unit-test
+
+[
+    T{ edit
+       { old-string "" }
+       { new-string "Hello, world." }
+       { from { 0 0 } }
+       { old-to { 0 0 } }
+       { new-to { 0 13 } }
+    }
+] [ "d" get undos>> first ] unit-test
+
+[ ] [ "Goodbye" { 0 0 } { 0 5 } "d" get set-doc-range ] unit-test
+
+[ "Goodbye, world." ] [ "d" get doc-string ] unit-test
+
+[ ] [ "cruel " { 0 9 } { 0 9 } "d" get set-doc-range ] unit-test
+
+[ 3 ] [ "d" get undos>> length ] unit-test
+
+[ "Goodbye, cruel world." ] [ "d" get doc-string ] unit-test
+
+[ "" { 0 9 } { 0 15 } ] [
+    "d" get undos>> last
+    [ old-string>> ] [ from>> ] [ new-to>> ] tri
+] unit-test
+
+[ ] [ "d" get undo ] unit-test
+
+[ "Goodbye, world." ] [ "d" get doc-string ] unit-test
+
+[ ] [ "d" get undo ] unit-test
+
+[ "Hello, world." ] [ "d" get doc-string ] unit-test
+
+[ ] [ "d" get redo ] unit-test
+
+[ "Goodbye, world." ] [ "d" get doc-string ] unit-test
+
+[ ] [ <document> "d" set ] unit-test
+
+[ ] [ "d" get clear-doc ] unit-test
+
+[ ] [ "d" get clear-doc ] unit-test
+
+[ 0 ] [ "d" get undos>> length ] unit-test
+
+[ ] [ <document> "d" set ] unit-test
+
+[ ] [ "d" get value>> "value" set ] unit-test
+
+[ ] [ "Hello world" "d" get set-doc-string ] unit-test
+
+[ { "" } ] [ "value" get ] unit-test