Fix bug in SkWriter32.

If you give SkWriter32 external storage but that external storage is too small
for the first reservation you make, you'll hit an assert in debug mode.

I think the answer is to simply remove the SkASSERT.  Added a test.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23646007

git-svn-id: http://skia.googlecode.com/svn/trunk@11062 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/Writer32Test.cpp b/tests/Writer32Test.cpp
index 194164d..fd232fc 100644
--- a/tests/Writer32Test.cpp
+++ b/tests/Writer32Test.cpp
@@ -21,6 +21,15 @@
     REPORTER_ASSERT(reporter, !memcmp(storage.get(), expected, size));
 }
 
+
+static void test_reserve(skiatest::Reporter* reporter) {
+    // There used to be a bug where we'd assert your first reservation had to
+    // fit in external storage if you used it.  This would crash in debug mode.
+    uint8_t storage[4];
+    SkWriter32 writer(0, storage, sizeof(storage));
+    writer.reserve(40);
+}
+
 static void test_string_null(skiatest::Reporter* reporter) {
     uint8_t storage[8];
     SkWriter32 writer(0, storage, sizeof(storage));
@@ -238,6 +247,7 @@
         testWritePad(reporter, &writer);
     }
 
+    test_reserve(reporter);
     test_string_null(reporter);
     test_ptr(reporter);
     test_rewind(reporter);