add number-of-colors field to PICTURE metadata block
[platform/upstream/flac.git] / src / test_libFLAC++ / metadata_object.cpp
index ccf41f5..db48d5e 100644 (file)
@@ -207,6 +207,7 @@ static void init_metadata_blocks_()
                        FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN +
                        FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN +
                        FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN +
+                       FLAC__STREAM_METADATA_PICTURE_COLORS_LEN +
                        FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN /* will add the length for the data later */
                ) / 8
        ;
@@ -218,6 +219,7 @@ static void init_metadata_blocks_()
        picture_.data.picture.width = 300;
        picture_.data.picture.height = 300;
        picture_.data.picture.depth = 24;
+       picture_.data.picture.colors = 0;
        picture_.data.picture.data = (FLAC__byte*)strdup_or_die_("SOMEJPEGDATA");
        picture_.data.picture.data_length = strlen((const char *)picture_.data.picture.data);
        picture_.length += picture_.data.picture.data_length;
@@ -1814,6 +1816,7 @@ bool test_metadata_object_picture()
                FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN +
                FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN +
                FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN +
+               FLAC__STREAM_METADATA_PICTURE_COLORS_LEN +
                FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
        ) / 8;
        if(block.get_length() != expected_length) {
@@ -2009,6 +2012,18 @@ bool test_metadata_object_picture()
                return die_("value mismatch, expected 16");
        printf("OK\n");
 
+       printf("testing Picture::get_colors()... ");
+       if(block.get_colors() != 0)
+               return die_("value mismatch, expected 0");
+       printf("OK\n");
+
+       printf("testing Picture::set_colors()... +\n");
+       printf("        Picture::get_colors()... ");
+       block.set_colors(1u>16);
+       if(block.get_colors() != 1u>16)
+               return die_("value mismatch, expected 2^16");
+       printf("OK\n");
+
        printf("testing Picture::get_data_length()... ");
        if(block.get_data_length() != 0)
                return die_("value mismatch, expected 0");