anchor.diff:      %% Unable to currently verify the `CommonPrefixes' for this is
       %% fact that ercloud does not support parsing the those response
       %% elements.
  -    Options3 = [{max_keys, 30}, {prefix, "subdir"}, {delimiter, "/"}],
  +    Options3 = [{max_keys, 30}, {prefix, "0/"}, {delimiter, "/"}],
       ObjList2 = erlcloud_s3:list_objects(?TEST_BUCKET, Options3, UserConfig),
  -    Marker2 = proplists:get_value(marker, ObjList2),
  -    verify_object_list(ObjList1, 28),
  +    CommonPrefixes = proplists:get_value(common_prefixes, ObjList2),
  +    ?assert(lists:member([{prefix, Prefix1}], CommonPrefixes)),
  +    ?assert(lists:member([{prefix, Prefix2}], CommonPrefixes)),
  +    verify_object_list(ObjList2, 28, 30),
   
       %% Request remainder of results
  -    Options3 = [{marker, Marker2}],
  -    verify_object_list(erlcloud_s3:list_objects(?TEST_BUCKET, Options3, UserConfig), 2),
  +    Options4 = [{marker, "7"}],
  +    verify_object_list(erlcloud_s3:list_objects(?TEST_BUCKET, Options4, UserConfig), 2, 30, 29),
  +
  +    delete_objects(?TEST_BUCKET, Count3, [], UserConfig),
  +    delete_objects(?TEST_BUCKET, 4, Prefix1, UserConfig),
  +    delete_objects(?TEST_BUCKET, 4, Prefix2, UserConfig),
   
       lager:info("deleting bucket ~p", [?TEST_BUCKET]),
       ?assertEqual(ok, erlcloud_s3:delete_bucket(?TEST_BUCKET, UserConfig)),
  
positive.code:     %% Use `max-keys' to restrict object list to 20 results
      Options1 = [{max_keys, 20}],
      ObjList1 = erlcloud_s3:list_objects(?TEST_BUCKET, Options1, UserConfig),
      Marker1 = proplists:get_value(marker, ObjList1),
      verify_object_list(ObjList1, 20),
  
      %% Use `marker' to request remainder of results
      Options2 = [{marker, Marker1}],
      verify_object_list(erlcloud_s3:list_objects(?TEST_BUCKET, Options2, UserConfig), 10),
  
      %% Put 2 sets of 4 objects with keys that have a common subdirectory
      load_objects(?TEST_BUCKET, 4, "subdir/prefix1/", UserConfig),
      load_objects(?TEST_BUCKET, 4, "subdir/prefix2/", UserConfig),
  
      %% Use `max-keys', `prefix' and `delimiter' to get first 30
      %% results back and verify results are truncated and 2 common
  
negative.code:     verify_object_list(erlcloud_s3:list_objects(Bucket, Config), Count),
      erlcloud_s3:delete_object(Bucket, integer_to_list(Count), Config),
      delete_and_verify_objects(Bucket, Count-1, Config).
  
  delete_objects(Bucket, Count, Prefix, Config) ->
      [erlcloud_s3:delete_object(Bucket,
                                 Prefix ++ integer_to_list(X),
                                 Config)
       || X <- lists:seq(1, Count)].
  