factor/extra/http/server/components/components-tests.factor

132 lines
3.1 KiB
Factor
Raw Normal View History

2008-03-11 04:39:09 -04:00
IN: http.server.components.tests
2008-04-14 05:34:26 -04:00
USING: http.server.components http.server.forms
http.server.validators namespaces tools.test kernel accessors
tuple-syntax mirrors
http http.server.actions http.server.templating.fhtml
2008-04-14 05:34:26 -04:00
io.streams.string io.streams.null ;
2008-03-11 04:39:09 -04:00
validation-failed? off
[ 3 ] [ "3" "n" <number> validate ] unit-test
[ 123 ] [
""
"n" <number>
123 >>default
validate
] unit-test
[ f ] [ validation-failed? get ] unit-test
[ t ] [ "3x" "n" <number> validate validation-error? ] unit-test
[ t ] [ validation-failed? get ] unit-test
[ "" ] [ "" "email" <email> validate ] unit-test
[ "slava@jedit.org" ] [ "slava@jedit.org" "email" <email> validate ] unit-test
[ "slava@jedit.org" ] [
"slava@jedit.org"
"email" <email>
t >>required
validate
] unit-test
[ t ] [
"a"
"email" <email>
t >>required
validate validation-error?
] unit-test
[ t ] [ "a" "email" <email> validate validation-error? ] unit-test
TUPLE: test-tuple text number more-text ;
: <test-tuple> test-tuple new ;
2008-03-11 04:39:09 -04:00
: <test-form> ( -- form )
"test" <form>
2008-04-15 07:10:08 -04:00
"resource:extra/http/server/components/test/form.fhtml" <fhtml> >>view-template
"resource:extra/http/server/components/test/form.fhtml" <fhtml> >>edit-template
2008-03-11 04:39:09 -04:00
"text" <string>
t >>required
add-field
"number" <number>
123 >>default
t >>required
0 >>min-value
10 >>max-value
add-field
"more-text" <text>
"hi" >>default
add-field ;
[ ] [ <test-tuple> <mirror> values set <test-form> view-form write-response-body drop ] unit-test
2008-03-11 04:39:09 -04:00
[ ] [ <test-tuple> <mirror> values set <test-form> edit-form write-response-body drop ] unit-test
2008-03-11 04:39:09 -04:00
[ TUPLE{ test-tuple number: 123 more-text: "hi" } ] [
<test-tuple> from-tuple
<test-form> set-defaults
values-tuple
] unit-test
[
H{
{ "text" "fdafsa" }
{ "number" "xxx" }
{ "more-text" "" }
} params set
H{ } clone values set
[ t ] [ <test-form> (validate-form) ] unit-test
[ "fdafsa" ] [ "text" value ] unit-test
[ t ] [ "number" value validation-error? ] unit-test
] with-scope
2008-03-14 18:40:47 -04:00
[
[ ] [
"n" <number>
0 >>min-value
10 >>max-value
"n" set
] unit-test
[ "123" ] [
"123" "n" get validate value>>
] unit-test
2008-03-15 07:22:47 -04:00
2008-04-14 05:34:26 -04:00
[ ] [ "i" <integer> "i" set ] unit-test
2008-03-15 07:22:47 -04:00
[ 3 ] [
2008-04-14 05:34:26 -04:00
"3" "i" get validate
] unit-test
[ t ] [
"3.9" "i" get validate validation-error?
2008-03-15 07:22:47 -04:00
] unit-test
2008-04-14 05:34:26 -04:00
H{ } clone values set
[ ] [ 3 "i" set-value ] unit-test
[ "3" ] [ [ "i" get render-view ] with-string-writer ] unit-test
[ ] [ [ "i" get render-edit ] with-null-stream ] unit-test
[ ] [ "t" <text> "t" set ] unit-test
[ ] [ "hello world" "t" set-value ] unit-test
[ ] [ [ "t" get render-edit ] with-null-stream ] unit-test
2008-03-14 18:40:47 -04:00
] with-scope
2008-03-15 07:22:47 -04:00
[ t ] [ "wake up sheeple" dup "n" <text> validate = ] unit-test
2008-04-14 05:34:26 -04:00
[ ] [ "password" <password> "p" set ] unit-test