--- /dev/null
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; ;;;
+;;; Free Software published under an MIT-like license. See LICENSE ;;;
+;;; ;;;
+;;; Copyright (c) 2013 Google, Inc. All rights reserved. ;;;
+;;; ;;;
+;;; Original author: Alejandro Sedeño ;;;
+;;; ;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(in-package "PROTO-TEST")
+
+(define-test case-preservation-test ()
+ (let ((service (proto:find-service :case-preservation "QUUXService")))
+ (assert-true service)
+ ;; We're reaching into the implementation to verify the objects have
+ ;; been properly constructed.
+ (let ((method (proto-impl:find-method service "QUUXMethod")))
+ (assert-true method)
+ (assert-equal (proto-input-name method) "QUUXRequest"
+ :test #'string=)
+ (assert-equal (proto-output-name method) "QUUXResponse"
+ :test #'string=))))
+
+(register-test 'case-preservation-test)
--- /dev/null
+// Free Software published under an MIT-like license. See LICENSE
+//
+// Copyright (c) 2013 Google, Inc. All rights reserved.
+//
+// Original author: Alejandro R Sedeño
+
+syntax = "proto2";
+
+package protobuf_case_preservation_unittest;
+
+// Test case preservation for messages and services.
+
+message QUUXRequest {}
+message QUUXResponse {}
+
+service QUUXService {
+ rpc QUUXMethod(QUUXRequest) returns (QUUXResponse);
+}
((:protobuf-file "extend-test")
(:file "lisp-extend-test")))
+ (module "case-preservation-test"
+ :serial t
+ :pathname #p""
+ :components
+ ((:protobuf-file "case-preservation")
+ (:file "case-preservation-test")))
+
;; Google's own protocol buffers and protobuf definitions tests
#+++notyet
(:module "google-tests-proto"