Array HHVM_FUNCTION(stream_get_filters) {
  auto filters = s_stream_user_filters.get()->m_registeredFilters;
  if (UNLIKELY(filters.isNull())) {
    return empty_array();
  }
  return f_array_keys(filters).toArray();
}
Beispiel #2
0
bool TestExtMemcached::test_Memcached_types() {
  Array list;
  list.add(s_boolean_true, true);
  list.add(s_boolean_false, false);
  list.add(s_string, "just a string");
  list.add(s_string_empty, empty_string);
  list.add(s_integer_positive_integer, 10);
  list.add(s_integer_negative_integer, -10);
  list.add(s_integer_zero_integer, 0);
  list.add(s_float_positive1, 3.912131);
  list.add(s_float_positive2, 1.2131E+52);
  list.add(s_float_negative, -42.123312);
  list.add(s_float_zero, 0.0);
  list.add(s_null, uninit_null());
  list.add(s_array_empty, Array());
  list.add(s_array, make_packed_array(1, 2, 3, "foo"));

  CREATE_MEMCACHED();
  for (ArrayIter iter(list); iter; ++iter) {
    VERIFY(memc->t_set(iter.first(), iter.second(), EXPIRATION));
    VS(memc->t_get(iter.first()), iter.second());
  }

  for (ArrayIter iter(list); iter; ++iter) {
    VERIFY(memc->t_delete(iter.first()));
  }

  VERIFY(memc->t_setmulti(list, EXPIRATION));
  Variant res = memc->t_getmulti(f_array_keys(list).toArray());
  VERIFY(res.isArray());
  Array resArray = res.toArray();
  VERIFY(resArray->size() == list.size());
  for (ArrayIter iter(resArray); iter; ++iter) {
    VS(iter.second(), list[iter.first()]);
  }

  return Count(true);
}