diff options
author | Oz Linden <oz@lindenlab.com> | 2012-06-18 14:01:18 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2012-06-18 14:01:18 -0400 |
commit | dad85ce55440e9c2328a4dd7362ac35c0e277b9e (patch) | |
tree | f97010e54bbf63be0876ae89a5b1ebc3df614adb | |
parent | bbf8137ce5b9e53ca8be2aea5c553bff8699b4a7 (diff) | |
parent | 242fe546ade3f7f2eeeb9b7b2ab7d744ac6ce9a9 (diff) |
merge changes for storm-1868
-rw-r--r-- | doc/contributions.txt | 3 | ||||
-rw-r--r-- | indra/llmessage/CMakeLists.txt | 8 | ||||
-rw-r--r-- | indra/llmessage/tests/llhttpclient_test.cpp (renamed from indra/test/llhttpclient_tut.cpp) | 39 | ||||
-rw-r--r-- | indra/llmessage/tests/llsdmessage_test.cpp | 2 | ||||
-rw-r--r-- | indra/llmessage/tests/test_llsdmessage_peer.py | 19 | ||||
-rw-r--r-- | indra/newview/llstatusbar.cpp | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/de/panel_volume_pulldown.xml | 15 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_status_bar.xml | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_volume_pulldown.xml | 318 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/es/panel_volume_pulldown.xml | 14 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/it/panel_volume_pulldown.xml | 15 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml | 14 | ||||
-rw-r--r-- | indra/newview/tests/llcapabilitylistener_test.cpp | 2 | ||||
-rw-r--r-- | indra/test/CMakeLists.txt | 1 |
14 files changed, 383 insertions, 70 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt index 20b0bff07e..90a9e8ef49 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1096,8 +1096,9 @@ Synystyr Texan Takeda Terrawyng TankMaster Finesmith STORM-1100 - STORM-1602 STORM-1258 + STORM-1602 + STORM-1868 VWR-26622 Talamasca Tali Rosca diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt index 0f40a670fa..d98781e9e6 100644 --- a/indra/llmessage/CMakeLists.txt +++ b/indra/llmessage/CMakeLists.txt @@ -254,6 +254,14 @@ if (LL_TESTS) "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py" ) + LL_ADD_INTEGRATION_TEST( + llhttpclient + "llhttpclient.cpp" + "${test_libs}" + ${PYTHON_EXECUTABLE} + "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py" + ) + LL_ADD_INTEGRATION_TEST(llavatarnamecache "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llhost "" "${test_libs}") LL_ADD_INTEGRATION_TEST(llpartdata "" "${test_libs}") diff --git a/indra/test/llhttpclient_tut.cpp b/indra/llmessage/tests/llhttpclient_test.cpp index 4b4046632c..843c3bcc4b 100644 --- a/indra/test/llhttpclient_tut.cpp +++ b/indra/llmessage/tests/llhttpclient_test.cpp @@ -1,5 +1,5 @@ /** - * @file llhttpclient_tut.cpp + * @file llhttpclient_test.cpp * @brief Testing the HTTP client classes. * * $LicenseInfo:firstyear=2006&license=viewerlgpl$ @@ -33,9 +33,6 @@ #include <tut/tut.hpp> #include "linden_common.h" -// These are too slow on Windows to actually include in the build. JC -#if !LL_WINDOWS - #include "lltut.h" #include "llhttpclient.h" #include "llformat.h" @@ -46,6 +43,7 @@ #include "llsdhttpserver.h" #include "lliohttpserver.h" #include "lliosocket.h" +#include "stringize.h" namespace tut { @@ -83,7 +81,8 @@ namespace tut struct HTTPClientTestData { public: - HTTPClientTestData() + HTTPClientTestData(): + local_server(STRINGIZE("http://127.0.0.1:" << getenv("PORT") << "/")) { apr_pool_create(&mPool, NULL); LLCurl::initClass(false); @@ -134,13 +133,14 @@ namespace tut delete mServerPump; mServerPump = NULL; } - + + const std::string local_server; + private: apr_pool_t* mPool; LLPumpIO* mServerPump; LLPumpIO* mClientPump; - protected: void ensureStatusOK() { @@ -257,7 +257,7 @@ namespace tut template<> template<> void HTTPClientTestObject::test<1>() { - LLHTTPClient::get("http://www.google.com/", newResult()); + LLHTTPClient::get(local_server, newResult()); runThePump(); ensureStatusOK(); ensure("result object wasn't destroyed", mResultDeleted); @@ -266,8 +266,8 @@ namespace tut template<> template<> void HTTPClientTestObject::test<2>() { - skip("error test depends on dev's local ISP not supplying \"helpful\" search page"); - LLHTTPClient::get("http://www.invalid", newResult()); + // Please nobody listen on this particular port... + LLHTTPClient::get("http://127.0.0.1:7950", newResult()); runThePump(); ensureStatusError(); } @@ -344,18 +344,13 @@ namespace tut // won't ever let it run. Instead get from a known LLSD // source and compare results with the non-blocking get which // is tested against the mini server earlier. - skip("secondlife.com is not reliable enough for unit tests."); - - - LLSD expected; - - LLHTTPClient::get("http://secondlife.com/xmlhttp/homepage.php", newResult()); + LLHTTPClient::get(local_server, newResult()); runThePump(); ensureStatusOK(); - expected = getResult(); + LLSD expected = getResult(); LLSD result; - result = LLHTTPClient::blockingGet("http://secondlife.com/xmlhttp/homepage.php"); + result = LLHTTPClient::blockingGet(local_server); LLSD body = result["body"]; ensure_equals("echoed result matches", body.size(), expected.size()); } @@ -364,20 +359,18 @@ namespace tut { // This is testing for the presence of the Header in the returned results // from an HTTP::get call. - LLHTTPClient::get("http://www.google.com/", newResult()); + LLHTTPClient::get(local_server, newResult()); runThePump(); ensureStatusOK(); LLSD header = getHeader(); - ensure_equals("got a header", header.emptyMap().asBoolean(), FALSE); + ensure("got a header", ! header.emptyMap().asBoolean()); } template<> template<> void HTTPClientTestObject::test<9>() { - LLHTTPClient::head("http://www.google.com/", newResult()); + LLHTTPClient::head(local_server, newResult()); runThePump(); ensureStatusOK(); ensure("result object wasn't destroyed", mResultDeleted); } } - -#endif // !LL_WINDOWS diff --git a/indra/llmessage/tests/llsdmessage_test.cpp b/indra/llmessage/tests/llsdmessage_test.cpp index 0f2c069303..31a791e4b4 100644 --- a/indra/llmessage/tests/llsdmessage_test.cpp +++ b/indra/llmessage/tests/llsdmessage_test.cpp @@ -143,7 +143,7 @@ namespace tut httpPump.post(request); ensure("got response", netio.pump()); ensure("success response", success); - ensure_equals(result.asString(), "success"); + ensure_equals(result["reply"].asString(), "success"); body["status"] = 499; body["reason"] = "custom error message"; diff --git a/indra/llmessage/tests/test_llsdmessage_peer.py b/indra/llmessage/tests/test_llsdmessage_peer.py index 22edd9dad8..fe4f3a8c01 100644 --- a/indra/llmessage/tests/test_llsdmessage_peer.py +++ b/indra/llmessage/tests/test_llsdmessage_peer.py @@ -78,25 +78,32 @@ class TestHTTPRequestHandler(BaseHTTPRequestHandler): ## debug("root node tag %s", tree.getroot().tag) ## return llsd.to_python(tree.getroot()) - def do_GET(self): + def do_HEAD(self): + self.do_GET(withdata=False) + + def do_GET(self, withdata=True): # Of course, don't attempt to read data. - self.answer(dict(reply="success", status=500, - reason="Your GET operation requested failure")) + data = dict(reply="success", body="avatar", random=17) + self.answer(data, withdata=withdata) def do_POST(self): # Read the provided POST data. self.answer(self.read_xml()) - def answer(self, data): + def answer(self, data, withdata=True): debug("%s.answer(%s): self.path = %r", self.__class__.__name__, data, self.path) if "fail" not in self.path: - response = llsd.format_xml(data.get("reply", llsd.LLSD("success"))) + data = data.copy() # we're going to modify + # Ensure there's a "reply" key in data, even if there wasn't before + data["reply"] = data.get("reply", llsd.LLSD("success")) + response = llsd.format_xml(data) debug("success: %s", response) self.send_response(200) self.send_header("Content-type", "application/llsd+xml") self.send_header("Content-Length", str(len(response))) self.end_headers() - self.wfile.write(response) + if withdata: + self.wfile.write(response) else: # fail requested status = data.get("status", 500) # self.responses maps an int status to a (short, long) pair of diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 89240c982f..ff69c6e9fd 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -469,7 +469,7 @@ void LLStatusBar::onMouseEnterVolume() LLRect vol_btn_rect = volbtn->getRect(); LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect(); volume_pulldown_rect.setLeftTopAndSize(vol_btn_rect.mLeft - - (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth())/2, + (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth()), vol_btn_rect.mBottom, volume_pulldown_rect.getWidth(), volume_pulldown_rect.getHeight()); diff --git a/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml new file mode 100644 index 0000000000..e6ab9165d7 --- /dev/null +++ b/indra/newview/skins/default/xui/de/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="240"> + <button left="217" name="prefs_btn"/> + <slider label="Master" name="System Volume" label_width="80" width="180"/> + <slider label="Schaltflächen" label_width="80" width="180" name="UI Volume"/> + <slider label="Umgebung" label_width="80" width="180" name="Wind Volume"/> + <slider label="Soundeffekte" label_width="80" width="180" name="SFX Volume"/> + <check_box name="gesture_audio_play_btn" tool_tip="Sounds von Gesten abspielen"/> + <slider label="Musikstream" label_width="80" width="180" name="Music Volume"/> + <check_box tool_tip="Musikstream aktivieren" name="enable_music"/> + <slider label="Medien" label_width="80" width="180" name="Media Volume"/> + <check_box tool_tip="Medienstream aktivieren" name="enable_media"/> + <slider label="Voice-Chat" label_width="80" width="180" name="Voice Volume"/> + <check_box tool_tip="Voice-Chat aktivieren" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml index 3aa34439f1..dd2a0c6627 100644 --- a/indra/newview/skins/default/xui/en/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml @@ -129,6 +129,5 @@ left_pad="5" top="2" name="volume_btn" - tool_tip="Global Volume Control" width="16" /> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml index 7b22b2cce1..6adede0362 100644 --- a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml +++ b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml @@ -8,41 +8,289 @@ border="false" chrome="true" follows="bottom" - height="150" + height="155" layout="topleft" name="volumepulldown_floater" - width="32"> - <slider - control_name="AudioLevelMaster" - follows="left|top" - left="0" - top="1" - orientation="vertical" - height="120" - increment="0.05" - initial_value="0.5" - layout="topleft" - name="mastervolume" - show_text="false" - slider_label.halign="right" - top_pad="2" - volume="true"> - <slider.commit_callback - function="Vol.setControlFalse" - parameter="MuteAudio" /> - </slider> - <button - left="10" - top_pad="9" - width="12" - height="12" - follows="top|left" - name="prefs_btn" - image_unselected="Icon_Gear_Foreground" - image_disabled="Icon_Gear_Background" - image_pressed="Icon_Gear_Press" - scale_image="false"> - <button.commit_callback - function="Vol.GoAudioPrefs" /> - </button> + width="225"> + <slider + control_name="AudioLevelMaster" + follows="top|left" + font.style="BOLD" + height="15" + increment="0.025" + initial_value="0.5" + label="Master" + label_width="60" + left="10" + width="160" + layout="topleft" + name="System Volume" + show_text="false" + top="10" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteAudio" /> + </slider> + <button + control_name="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <slider + control_name="AudioLevelUI" + disabled_control="MuteAudio" + follows="left|top" + height="15" + increment="0.025" + initial_value="0.5" + label="Buttons" + label_width="60" + left="10" + width="160" + layout="topleft" + name="UI Volume" + show_text="false" + top_pad="4" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteUI" /> + </slider> + <button + control_name="MuteUI" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <slider + control_name="AudioLevelAmbient" + disabled_control="MuteAudio" + follows="left|top" + height="15" + increment="0.025" + initial_value="0.5" + label="Ambient" + label_width="60" + left="10" + width="160" + layout="topleft" + name="Wind Volume" + show_text="false" + top_pad="4" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteAmbient" /> + </slider> + <button + control_name="MuteAmbient" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <slider + control_name="AudioLevelSFX" + disabled_control="MuteAudio" + follows="left|top" + height="15" + increment="0.025" + initial_value="0.5" + label="Sounds" + label_width="60" + left="10" + width="160" + layout="topleft" + name="SFX Volume" + show_text="false" + top_pad="4" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteSounds" /> + </slider> + <button + control_name="MuteSounds" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16"> + <button.commit_callback + function="Pref.SetSounds"/> + </button> + <check_box + name="gesture_audio_play_btn" + control_name="EnableGestureSounds" + disabled_control="MuteAudio" + height="16" + layout="topleft" + left_pad="5" + tool_tip="Enable sounds from gestures" + top_delta="2" + width="350"/> + <slider + control_name="AudioLevelMusic" + disabled_control="MuteAudio" + follows="left|top" + height="15" + increment="0.025" + initial_value="0.5" + label="Music" + label_width="60" + left="10" + width="160" + layout="topleft" + name="Music Volume" + show_text="false" + top_pad="4" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteMusic" /> + </slider> + <button + control_name="MuteMusic" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <check_box + control_name="AudioStreamingMusic" + height="16" + tool_tip="Enable Streaming Music" + layout="topleft" + left_pad="5" + name="enable_music" + top_delta="2" + width="350"> + <check_box.commit_callback + function="Pref.updateMediaAutoPlayCheckbox"/> + </check_box> + <slider + control_name="AudioLevelMedia" + disabled_control="MuteAudio" + follows="left|top" + height="16" + increment="0.025" + initial_value="0.5" + label="Media" + label_width="60" + left="10" + width="160" + layout="topleft" + name="Media Volume" + show_text="false" + top_pad="4" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteMedia" /> + </slider> + <button + control_name="MuteMedia" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <check_box + label_text.halign="left" + follows="left|top" + height="16" + control_name ="AudioStreamingMedia" + tool_tip="Enable Streaming Media" + layout="topleft" + top_delta="2" + left_pad="5" + name="enable_media" + width="110"> + <check_box.commit_callback + function="Pref.updateMediaAutoPlayCheckbox"/> + </check_box> + <slider + control_name="AudioLevelVoice" + disabled_control="MuteAudio" + follows="left|top" + height="16" + increment="0.025" + initial_value="0.5" + label="Voice" + label_width="60" + left="10" + width="160" + layout="topleft" + top_pad="4" + name="Voice Volume" + show_text="false" + volume="true"> + <slider.commit_callback + function="Pref.setControlFalse" + parameter="MuteVoice" /> + </slider> + <button + control_name="MuteVoice" + disabled_control="MuteAudio" + follows="top|left" + height="16" + image_selected="AudioMute_Off" + image_unselected="Audio_Off" + is_toggle="true" + layout="topleft" + left_pad="5" + name="mute_audio" + tab_stop="false" + width="16" /> + <check_box + label_text.halign="left" + follows="left|top" + height="16" + control_name ="EnableVoiceChat" + disabled_control="CmdLineDisableVoice" + tool_tip="Enable Voice Chat" + layout="topleft" + top_delta="2" + left_pad="5" + name="enable_voice_check" + width="110"/> </panel> diff --git a/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml new file mode 100644 index 0000000000..9193da6cde --- /dev/null +++ b/indra/newview/skins/default/xui/es/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="215"> + <slider label="Maestro" name="System Volume" label_width="55" width="155"/> + <slider label="Botones" name="UI Volume" label_width="55" width="155"/> + <slider label="Ambiente" name="Wind Volume" label_width="55" width="155"/> + <slider label="Sonidos" name="SFX Volume" label_width="55" width="155"/> + <check_box name="gesture_audio_play_btn" tool_tip="Activa el sonido de los gestos"/> + <slider label="Música" name="Music Volume" label_width="55" width="155"/> + <check_box tool_tip="Activa el flujo de audio" name="enable_music"/> + <slider label="Medios" name="Media Volume" label_width="55" width="155"/> + <check_box tool_tip="Activa el flujo de medios" name="enable_media"/> + <slider label="Voz" name="Voice Volume" label_width="55" width="155"/> + <check_box tool_tip="Activar chat de voz" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1792b09413 --- /dev/null +++ b/indra/newview/skins/default/xui/it/panel_volume_pulldown.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater" width="220"> + <button left="197" name="prefs_btn"/> + <slider label="Generale" name="System Volume" label_width="60" width="160"/> + <slider label="Interfaccia" name="UI Volume" label_width="60" width="160"/> + <slider label="Ambiente" name="Wind Volume" label_width="60" width="160"/> + <slider label="Suoni" name="SFX Volume" label_width="60" width="160"/> + <check_box name="gesture_audio_play_btn" tool_tip="Attiva suoni Gesture"/> + <slider label="Musica" name="Music Volume" label_width="60" width="160"/> + <check_box tool_tip="Abilita musica in streaming" name="enable_music"/> + <slider label="Media" name="Media Volume" label_width="60" width="160"/> + <check_box tool_tip="Abilita riproduzione media" name="enable_media"/> + <slider label="Voice" name="Voice Volume" label_width="60" width="160"/> + <check_box tool_tip="Abilita il voice" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml new file mode 100644 index 0000000000..1611900700 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_volume_pulldown.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="volumepulldown_floater"> + <slider label="Główny" name="System Volume"/> + <slider label="Przyciski" name="UI Volume"/> + <slider label="Okolica" name="Wind Volume"/> + <slider label="Efekty" name="SFX Volume"/> + <check_box name="gesture_audio_play_btn" tool_tip="Włącz dźwięki gestów"/> + <slider label="Muzyka" name="Music Volume"/> + <check_box tool_tip="Włącz muzykę strumieniową" name="enable_music"/> + <slider label="Media" name="Media Volume"/> + <check_box tool_tip="Włącz media strumieniowe" name="enable_media"/> + <slider label="Głos" name="Voice Volume"/> + <check_box tool_tip="Włącz rozmowy głosowe" name="enable_voice_check"/> +</panel> diff --git a/indra/newview/tests/llcapabilitylistener_test.cpp b/indra/newview/tests/llcapabilitylistener_test.cpp index 2ad08dc1f3..e1cbd28f92 100644 --- a/indra/newview/tests/llcapabilitylistener_test.cpp +++ b/indra/newview/tests/llcapabilitylistener_test.cpp @@ -156,7 +156,7 @@ namespace tut regionPump.post(request); ensure("got response", netio.pump()); ensure("success response", success); - ensure_equals(result.asString(), "success"); + ensure_equals(result["reply"].asString(), "success"); body["status"] = 499; body["reason"] = "custom error message"; diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt index 328ab4ca51..816f1d7175 100644 --- a/indra/test/CMakeLists.txt +++ b/indra/test/CMakeLists.txt @@ -37,7 +37,6 @@ set(test_SOURCE_FILES lldoubledispatch_tut.cpp llevents_tut.cpp llhttpdate_tut.cpp - llhttpclient_tut.cpp llhttpnode_tut.cpp lliohttpserver_tut.cpp llmessageconfig_tut.cpp |