added test case and fix for records contained in arrays
authorT Jake Luciani <jake@apache.org>
Wed, 28 Jul 2010 22:31:12 +0000 (22:31 +0000)
committerT Jake Luciani <jake@apache.org>
Wed, 28 Jul 2010 22:31:12 +0000 (22:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@980253 13f79535-47bb-0310-9956-ffa450edef68

lib/js/test/src/test/TestHandler.java
lib/js/test/test.html
lib/js/thrift.js

index 727a32b..f2c944f 100644 (file)
@@ -48,7 +48,7 @@ public class TestHandler implements ThriftTest.Iface {
     }
 
     public void testException(String arg) throws Xception, TException {
-        throw new Xception(1,"server test exception");       
+        throw new Xception(1,arg);       
     }
 
     public int testI32(int thing) throws TException {
index 0e2ee42..708db41 100644 (file)
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-  <title>Thrift Javascript Bindings - Example</title>
-
-  <script src="/thrift.js"                 type="text/javascript"></script>
-  <script src="gen-js/ThriftTest_types.js" type="text/javascript"></script>
-  <script src="gen-js/ThriftTest.js"       type="text/javascript"></script>
-
-  <!-- for async example -->
-  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <title>Thrift Javascript Bindings: Unit Test</title>
+
+  <script src="/thrift.js"                  type="text/javascript" charset="utf-8"></script>
+  <script src="gen-js/ThriftTest_types.js" type="text/javascript" charset="utf-8"></script>
+  <script src="gen-js/ThriftTest.js"       type="text/javascript" charset="utf-8"></script>
+
+  <!-- jQuery -->
+  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" charset="utf-8"></script>
+
+  <!-- QUnit Test framework-->
+  <script type="text/javascript" src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js" charset="utf-8"></script>
+  <link rel="stylesheet" href="http://github.com/jquery/qunit/raw/master/qunit/qunit.css" type="text/css" media="screen" />
+
+  <script type="text/javascript" charset="utf-8">
+  //<![CDATA[
+  $(document).ready(function(){
+    var transport = new Thrift.Transport("/service")
+    var protocol  = new Thrift.Protocol(transport)
+    var client    = new ThriftTest.ThriftTestClient(protocol)
+
+
+    module("Base Types");
+
+    test("String", function() {
+      equals(client.testString("works"), "works");
+    });
+    test("String UTF-8", function() {
+      var languagesUtf8 = "Afrikaans, Alemannisch, Aragonés, العربية, مصرى, Asturianu, Aymar aru, Azərbaycan, Башҡорт, Boarisch, Žemaitėška, Беларуская, Беларуская (тарашкевіца), Български, Bamanankan, বাংলা, Brezhoneg, Bosanski, Català, Mìng-dĕ̤ng-ngṳ̄, Нохчийн, Cebuano, ᏣᎳᎩ, Česky, Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ, Чӑвашла, Cymraeg, Dansk, Zazaki, ދިވެހިބަސް, Ελληνικά, Emiliàn e rumagnòl, English, Esperanto, Español, Eesti, Euskara, فارسی, Suomi, Võro, Føroyskt, Français, Arpetan, Furlan, Frysk, Gaeilge, 贛語, Gàidhlig, Galego, Avañe'ẽ, ગુજરાતી, Gaelg, עברית, हिन्दी, Fiji Hindi, Hrvatski, Kreyòl ayisyen, Magyar, Հայերեն, Interlingua, Bahasa Indonesia, Ilokano, Ido, Íslenska, Italiano, 日本語, Lojban, Basa Jawa, ქართული, Kongo, Kalaallisut, ಕನ್ನಡ, 한국어, Къарачай-Малкъар, Ripoarisch, Kurdî, Коми, Kernewek, Кыргызча, Latina, Ladino, Lëtzebuergesch, Limburgs, Lingála, ລາວ, Lietuvių, Latviešu, Basa Banyumasan, Malagasy, Македонски, മലയാളം, मराठी, Bahasa Melayu, مازِرونی, Nnapulitano, Nedersaksisch, नेपाल भाषा, Nederlands, \202aNorsk (nynorsk)\202c\202aNorsk (bokmål)\202c, Nouormand, Diné bizaad, Occitan, Иронау, Papiamentu, Deitsch, Norfuk / Pitkern, Polski, پنجابی, پښتو, Português, Runa Simi, Rumantsch, Romani, Română, Русский, Саха тыла, Sardu, Sicilianu, Scots, Sámegiella, Simple English, Slovenčina, Slovenščina, Српски / Srpski, Seeltersk, Svenska, Kiswahili, தமிழ், తెలుగు, Тоҷикӣ, ไทย, Türkmençe, Tagalog, Türkçe, Татарча/Tatarça, Українська, اردو, Tiếng Việt, Volapük, Walon, Winaray, 吴语, isiXhosa, ייִדיש, Yorùbá, Zeêuws, 中文, Bân-lâm-gú, 粵語";
+      equals(client.testString(languagesUtf8), languagesUtf8);
+    });
+    test("Double", function() {
+      equals(client.testDouble(3.14), 3.14);
+    });
+    test("Byte", function() {
+      equals(client.testByte(0x01), 0x01);
+    });
+    test("I32", function() {
+      equals(client.testI32(Math.pow(2,30)), Math.pow(2,30));
+    });
+    test("I64", function() {
+      equals(client.testI64(Math.pow(2,60)), Math.pow(2,60));
+    });
+
+
+    module("Structured Types");
+
+    var insanity  = new ThriftTest.Insanity()
+    insanity.userMap[ThriftTest.Numberz.ONE] = 1
+    insanity.userMap[ThriftTest.Numberz.TWO] = 2
+
+    var xtr = new ThriftTest.Xtruct()
+    xtr.string_thing = 'worked'
+    insanity.xtructs.push(xtr)
+
+    var xtr2= new ThriftTest.Xtruct2()
+    xtr2.struct_thing = xtr
+
+    var list = [1,2,3]
+
+    test("Struct", function() {
+      equals(client.testStruct(xtr).string_thing, "worked");
+    });
+    test("Nest", function() {
+      equals(client.testNest(xtr2).struct_thing.string_thing, "worked");
+    });
+    test("Map", function() {
+      equals(client.testMap(insanity.userMap)[ThriftTest.Numberz.ONE], 1);
+    });
+    test("List", function() {
+      same(client.testList(list), list);
+    });
+    test("Set", function() {
+      same(client.testSet(list), list);
+    });
+    test("Enum", function() {
+      equals(client.testEnum(ThriftTest.Numberz.ONE), ThriftTest.Numberz.ONE);
+    });
+
+
+    module("Exception");
+
+    test("Xception", function() {
+      expect(2);
+      try{
+        client.testException("Xception");
+      }catch(e){
+        equals(e.errorCode, 1);
+        equals(e.message, "Xception");
+      }
+    });
+
+    test("ApplicationException", function() {
+      expect(1);
+      try{
+        client.testException("ApplicationException");
+      }catch(e){
+        equals(e.message, "ApplicationException");
+      }
+    });
+
+    test("no Exception", function() {
+      expect(1);
+      try{
+        client.testException("no Exception");
+      }catch(e){
+        equals(e.message, "no Exception");
+      }
+    });
+
+
+    module("Insanity");
+
+    test("testInsanity", function() {
+      var res = client.testInsanity(insanity);
+      equals(res["1"]["1"].xtructs[0].string_thing, "worked");
+    });
+
+  });
+  //]]>
+  </script>
 
 </head>
-<body id="body">
-
-<script language="javascript">
-
-  //create client
-  var transport = new Thrift.Transport("/service")
-  var protocol  = new Thrift.Protocol(transport)
-  var client    = new ThriftTest.ThriftTestClient(protocol)
+<body>
Content-type: text/html Supwisdom Source - common/thrift.git/commitdiff


500 - Internal Server Error

Unknown encoding 'gb18030' at /usr/local/share/gitweb/gitweb.cgi line 1539