Make initializer methods pure
[hiphop-php.git] / hphp / runtime / test / ini-iterate.cpp
blob32d22831af17687226b577b1447949be855ce2fc
1 #include <gtest/gtest.h>
3 #include "hphp/runtime/vm/jit/code-cache.h"
5 #include "hphp/runtime/base/config.h"
6 #include "hphp/runtime/base/ini-setting.h"
8 namespace HPHP {
10 TEST(IniSetting, ini_iterate) {
11 std::string inistr =
12 "hhvm.ip_block_map[0][location] = /test\n"
13 "hhvm.ip_block_map[0][allow_first] = true\n"
14 "hhvm.ip_block_map[0][ip][allow][0] = 127.0.0.1\n"
15 "hhvm.ip_block_map[0][ip][deny][0] = 8.32.0.0/24\n"
16 "hhvm.ip_block_map[0][ip][deny][1] = "
17 "aaaa:bbbb:cccc:dddd:eeee:ffff:1111::/80\n"
18 "hhvm.ip_block_map[1][location] = /blah\n"
19 "hhvm.ip_block_map[1][allow_first] = true\n"
20 "hhvm.ip_block_map[1][ip][allow][0] = 127.10.10.10\n"
21 "hhvm.ip_block_map[1][ip][deny][0] = 255.255.255.255\n"
22 "hhvm.server.apc.ttl_limit = 1000\n"
23 "hhvm.server.allowed_exec_cmds[]= ls\n"
24 "hhvm.server.allowed_exec_cmds[]= cp\n"
25 "hhvm.jit_a_cold_size = 22222222\n";
27 IniSettingMap ini;
28 Config::ParseIniString(inistr, ini);
30 auto value = ini_iterate(ini, "hhvm.ip_block_map.0.location");
31 EXPECT_EQ("/test", value.toString().toCppString());
32 value = ini_iterate(ini, "hhvm.ip_block_map.1.ip.allow.0");
33 EXPECT_EQ("127.10.10.10", value.toString().toCppString());
34 value = ini_iterate(ini, "hhvm.server.apc.ttl_limit");
35 EXPECT_EQ("1000", value.toString().toCppString());
36 value = ini_iterate(ini, "hhvm.server.bogus.ttl_limit");
37 EXPECT_TRUE(value.isNull());
38 value = ini_iterate(ini, "hhvm.server.allowed_exec_cmds.1");
39 EXPECT_EQ("cp", value.toString().toCppString());
40 value = ini_iterate(ini, "hhvm.ip_block_map.0.ip.deny.0");
41 EXPECT_EQ("8.32.0.0/24", value.toString().toCppString());
42 value = ini_iterate(ini, "hhvm.ip_block_map.0.ip.deny.1");
43 EXPECT_EQ("aaaa:bbbb:cccc:dddd:eeee:ffff:1111::/80",
44 value.toString().toCppString());
45 value = ini_iterate(ini, "hhvm.ip_block_map.1.ip.allow.2");
46 EXPECT_TRUE(value.isNull());
47 value = ini_iterate(init_null(), "hhvm.ip_block_map");
48 EXPECT_TRUE(value.isNull());
49 value = ini_iterate(ini, "hhvm.ip_block_map");
50 EXPECT_TRUE(value.isArray());
51 EXPECT_EQ(2, value.toArray().size());
53 // Check some runtime options
54 EXPECT_EQ(22222222, jit::CodeCache::AColdSize);
55 EXPECT_EQ("", RuntimeOption::ExtensionDir);