doc/commands: parse CmdEntityLink commands from http
authorAlexandre Terrasa <alexandre@moz-code.org>
Tue, 1 May 2018 19:30:11 +0000 (15:30 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Wed, 2 May 2018 23:03:34 +0000 (19:03 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/doc/commands/commands_http.nit
src/doc/commands/tests/test_commands_http.nit

index d35161b..70d2062 100644 (file)
@@ -85,6 +85,14 @@ redef class CmdComment
        end
 end
 
+redef class CmdEntityLink
+       redef fun http_init(req) do
+               text = req.string_arg("text")
+               title = req.string_arg("title")
+               return super
+       end
+end
+
 redef class CmdAncestors
        redef fun http_init(req) do
                parents = req.bool_arg("parents") or else true
index 7cdd240..c081699 100644 (file)
@@ -77,6 +77,44 @@ class TestCommandsHttp
                assert res isa WarningNoMDoc
        end
 
+       # CmdEntityLink
+
+       fun test_cmd_http_link is test do
+               var req = new_request("/test_prog::Character")
+               var cmd = new CmdEntityLink(test_view)
+               var res = cmd.http_init(req)
+               assert res isa CmdSuccess
+               assert cmd.text == "Character"
+               assert cmd.title == "Characters can be played by both the human or the machine."
+       end
+
+       fun test_cmd_http_link_with_text is test do
+               var req = new_request("/test_prog::Character?text=foo")
+               var cmd = new CmdEntityLink(test_view)
+               var res = cmd.http_init(req)
+               assert res isa CmdSuccess
+               assert cmd.text == "foo"
+               assert cmd.title == "Characters can be played by both the human or the machine."
+       end
+
+       fun test_cmd_http_link_with_title is test do
+               var req = new_request("/test_prog::Character?title=bar")
+               var cmd = new CmdEntityLink(test_view)
+               var res = cmd.http_init(req)
+               assert res isa CmdSuccess
+               assert cmd.text == "Character"
+               assert cmd.title == "bar"
+       end
+
+       fun test_cmd_http_link_with_text_and_title is test do
+               var req = new_request("/test_prog::Character?text=foo&title=bar")
+               var cmd = new CmdEntityLink(test_view)
+               var res = cmd.http_init(req)
+               assert res isa CmdSuccess
+               assert cmd.text == "foo"
+               assert cmd.title == "bar"
+       end
+
        # CmdInheritance
 
        fun test_cmd_http_parents is test do