Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc0e5450 authored by Wink Saville's avatar Wink Saville Committed by android code review
Browse files

Merge "WspTypeDecoder: fixed decoding of content parameters"

parents 935f0c7a 0fcf2097
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -506,11 +506,7 @@ public class WspTypeDecoder {
            } else if (decodeIntegerValue(startIndex + totalRead)) {
                totalRead += dataLength;
                int intValue = (int) unsigned32bit;
                if (intValue == 0) {
                    value = "";
                } else {
                value = String.valueOf(intValue);
                }
            } else {
                decodeTokenText(startIndex + totalRead);
                totalRead += dataLength;
+21 −1
Original line number Diff line number Diff line
@@ -623,6 +623,26 @@ public class Wap230WspContentTypeTest extends TestCase {

    }

    public void testTypedParamWellKnownShortIntegerCompactIntegerValue_0() {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        out.write(0x3);
        out.write(SHORT_MIME_TYPE_ROLLOVER_CERTIFICATE | WSP_SHORT_INTEGER_MASK);
        out.write(TYPED_PARAM_SEC | WSP_SHORT_INTEGER_MASK);
        out.write(0x00 | WSP_SHORT_INTEGER_MASK);

        WspTypeDecoder unit = new WspTypeDecoder(out.toByteArray());
        assertTrue(unit.decodeContentType(0));

        String mimeType = unit.getValueString();

        assertEquals(STRING_MIME_TYPE_ROLLOVER_CERTIFICATE, mimeType);
        assertEquals(0x3F, unit.getValue32());
        assertEquals(4, unit.getDecodedDataLength());

        Map<String, String> params = unit.getContentParameters();
        assertEquals("0", params.get("SEC"));
    }

    public void testTypedParamWellKnownShortIntegerMultipleParameters() throws Exception {

        ByteArrayOutputStream out = new ByteArrayOutputStream();