瀏覽代碼

Add test for failing write of raw pointer to output stream

Felix Jendrusch 7 年之前
父節點
當前提交
38508e9bbb
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      objectivec/Tests/GPBCodedOuputStreamTests.m

+ 10 - 0
objectivec/Tests/GPBCodedOuputStreamTests.m

@@ -423,4 +423,14 @@
   }
 }
 
+- (void)testThatItThrowsWhenWriteRawPtrFails {
+  NSOutputStream *output = [NSOutputStream outputStreamToMemory];
+  GPBCodedOutputStream *codedOutput =
+      [GPBCodedOutputStream streamWithOutputStream:output bufferSize:0];  // Skip buffering.
+  [output close];  // Close the output stream to force failure on write.
+  const char *cString = "raw";
+  XCTAssertThrowsSpecificNamed([codedOutput writeRawPtr:cString offset:0 length:strlen(cString)],
+                               NSException, GPBCodedOutputStreamException_WriteFailed);
+}
+
 @end