| 92 | }; |
| 93 | |
| 94 | TEST_F(ScriptMsgTest, TestURLNewAndIndex) |
| 95 | { |
| 96 | int top = lua_gettop(L); |
| 97 | |
| 98 | // empty |
| 99 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 100 | "local url = msg.url()\n" |
| 101 | "assert(url.socket == __default_url.socket, \"invalid socket\")\n" |
| 102 | "assert(url.path == __default_url.path, \"invalid path\")\n" |
| 103 | "assert(url.fragment == __default_url.fragment, \"invalid fragment\")\n" |
| 104 | )); |
| 105 | |
| 106 | // empty string |
| 107 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 108 | "local url = msg.url(\"\")\n" |
| 109 | "assert(url.socket == __default_url.socket, \"invalid socket\")\n" |
| 110 | "assert(url.path == __default_url.path, \"invalid path\")\n" |
| 111 | "assert(url.fragment == __default_url.fragment, \"invalid fragment\")\n" |
| 112 | )); |
| 113 | |
| 114 | // default path |
| 115 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 116 | "local url = msg.url(\".\")\n" |
| 117 | "assert(url.socket == __default_url.socket, \"invalid socket\")\n" |
| 118 | "assert(url.path == __default_url.path, \"invalid path\")\n" |
| 119 | "assert(url.fragment == nil, \"invalid fragment\")\n" |
| 120 | )); |
| 121 | |
| 122 | // default fragment |
| 123 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 124 | "local url = msg.url(\"#\")\n" |
| 125 | "assert(url.socket == __default_url.socket, \"invalid socket\")\n" |
| 126 | "assert(url.path == __default_url.path, \"invalid path\")\n" |
| 127 | "assert(url.fragment == __default_url.fragment, \"invalid fragment\")\n" |
| 128 | )); |
| 129 | |
| 130 | // socket string |
| 131 | dmMessage::HSocket socket; |
| 132 | ASSERT_EQ(dmMessage::RESULT_OK, dmMessage::NewSocket("test", &socket)); |
| 133 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 134 | "local url = msg.url(\"test:\")\n" |
| 135 | "assert(url.socket ~= __default_url.socket, \"invalid socket\")\n" |
| 136 | "assert(url.path == nil, \"invalid path\")\n" |
| 137 | "assert(url.fragment == nil, \"invalid fragment\")\n" |
| 138 | )); |
| 139 | ASSERT_EQ(dmMessage::RESULT_OK, dmMessage::DeleteSocket(socket)); |
| 140 | |
| 141 | // fragment string |
| 142 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 143 | "local url = msg.url(\"test\")\n" |
| 144 | "assert(url.socket == __default_url.socket, \"invalid socket\")\n" |
| 145 | "assert(url.path == hash(\"test\"), \"invalid path\")\n" |
| 146 | "assert(url.fragment == nil, \"invalid fragment\")\n" |
| 147 | )); |
| 148 | |
| 149 | // path string |
| 150 | ASSERT_TRUE(dmScriptTest::RunString(L, |
| 151 | "local url = msg.url(\"#test\")\n" |
nothing calls this directly
no test coverage detected