Exemple #1
0
        private static void WriterSystemTextJsonBasicUtf16(bool formatted, ArrayFormatter output, int[] data)
        {
            var json = new JsonWriterUtf16(output, formatted);

            json.WriteObjectStart();
            json.WriteAttribute("age", 42);
            json.WriteAttribute("first", "John");
            json.WriteAttribute("last", "Smith");
            json.WriteArrayStart("phoneNumbers");
            json.WriteValue("425-000-1212");
            json.WriteValue("425-000-1213");
            json.WriteArrayEnd();
            json.WriteObjectStart("address");
            json.WriteAttribute("street", "1 Microsoft Way");
            json.WriteAttribute("city", "Redmond");
            json.WriteAttribute("zip", 98052);
            json.WriteObjectEnd();

            // Add a large array of values
            json.WriteArrayStart("ExtraArray");
            for (var i = 0; i < ExtraArraySize; i++)
            {
                json.WriteValue(data[i]);
            }
            json.WriteArrayEnd();

            json.WriteObjectEnd();
        }
Exemple #2
0
        private static void WriterSystemTextJsonHelloWorldUtf16(bool formatted, ArrayFormatter output)
        {
            var json = new JsonWriterUtf16(output, formatted);

            json.WriteObjectStart();
            json.WriteAttribute("message", "Hello, World!");
            json.WriteObjectEnd();
        }
Exemple #3
0
        public void WriteHelloWorldJsonUtf16(bool prettyPrint)
        {
            string expectedStr = GetHelloWorldExpectedString(prettyPrint, isUtf8: false);

            var output    = new ArrayFormatter(1024, SymbolTable.InvariantUtf16);
            var jsonUtf16 = new JsonWriterUtf16(output, prettyPrint);

            jsonUtf16.WriteObjectStart();
            jsonUtf16.WriteAttribute("message", "Hello, World!");
            jsonUtf16.WriteObjectEnd();

            ArraySegment <byte> formatted = output.Formatted;
            string actualStr = Encoding.Unicode.GetString(formatted.Array, formatted.Offset, formatted.Count);

            Assert.Equal(expectedStr, actualStr);
        }
Exemple #4
0
        public void WriteJsonUtf16()
        {
            var formatter = new ArrayFormatter(1024, SymbolTable.InvariantUtf16);
            var json      = new JsonWriterUtf16(formatter, prettyPrint: false);

            Write(ref json);

            var formatted = formatter.Formatted;
            var str       = Encoding.Unicode.GetString(formatted.Array, formatted.Offset, formatted.Count);

            Assert.Equal(expected, str.Replace(" ", ""));

            formatter.Clear();
            json = new JsonWriterUtf16(formatter, prettyPrint: true);
            Write(ref json);

            formatted = formatter.Formatted;
            str       = Encoding.Unicode.GetString(formatted.Array, formatted.Offset, formatted.Count);
            Assert.Equal(expected, str.Replace("\r\n", "").Replace("\n", "").Replace(" ", ""));
        }
Exemple #5
0
 static void Write(ref JsonWriterUtf16 json)
 {
     json.WriteObjectStart();
     json.WriteAttribute("age", 30);
     json.WriteAttribute("first", "John");
     json.WriteAttribute("last", "Smith");
     json.WriteArrayStart("phoneNumbers");
     json.WriteValue("425-000-1212");
     json.WriteValue("425-000-1213");
     json.WriteArrayEnd();
     json.WriteObjectStart("address");
     json.WriteAttribute("street", "1 Microsoft Way");
     json.WriteAttribute("city", "Redmond");
     json.WriteAttribute("zip", 98052);
     json.WriteObjectEnd();
     json.WriteArrayStart("values");
     json.WriteValue(425121);
     json.WriteValue(-425122);
     json.WriteValue(425123);
     json.WriteArrayEnd();
     json.WriteObjectEnd();
 }
Exemple #6
0
        public void WriteBasicJsonUtf16(bool prettyPrint)
        {
            int[] data = GetData(ExtraArraySize, 42, -10000, 10000);

            string expectedStr = GetExpectedString(prettyPrint, isUtf8: false, data);

            var output    = new ArrayFormatter(1024, SymbolTable.InvariantUtf16);
            var jsonUtf16 = new JsonWriterUtf16(output, prettyPrint);

            jsonUtf16.WriteObjectStart();
            jsonUtf16.WriteAttribute("age", 42);
            jsonUtf16.WriteAttribute("first", "John");
            jsonUtf16.WriteAttribute("last", "Smith");
            jsonUtf16.WriteArrayStart("phoneNumbers");
            jsonUtf16.WriteValue("425-000-1212");
            jsonUtf16.WriteValue("425-000-1213");
            jsonUtf16.WriteArrayEnd();
            jsonUtf16.WriteObjectStart("address");
            jsonUtf16.WriteAttribute("street", "1 Microsoft Way");
            jsonUtf16.WriteAttribute("city", "Redmond");
            jsonUtf16.WriteAttribute("zip", 98052);
            jsonUtf16.WriteObjectEnd();

            // Add a large array of values
            jsonUtf16.WriteArrayStart("ExtraArray");
            for (var i = 0; i < ExtraArraySize; i++)
            {
                jsonUtf16.WriteValue(data[i]);
            }
            jsonUtf16.WriteArrayEnd();

            jsonUtf16.WriteObjectEnd();

            ArraySegment <byte> formatted = output.Formatted;
            string actualStr = Encoding.Unicode.GetString(formatted.Array, formatted.Offset, formatted.Count);

            Assert.Equal(expectedStr, actualStr);
        }