public function testSectionAccessors() { $message = new SendGrid\Mail(); $sections = array("sub_1" => array("val_1.1", "val_1.2", "val_1.3"), "sub_2" => array("val_2.1", "val_2.2"), "sub_3" => array("val_3.1", "val_3.2", "val_3.3", "val_3.4"), "sub_4" => array("val_4.1", "val_4.2", "val_4.3")); $message->setSections($sections); $header = $message->getHeaders(); $this->assertEquals($sections, $header['section']); $this->assertEquals("{\"section\":{\"sub_1\":[\"val_1.1\",\"val_1.2\",\"val_1.3\"],\"sub_2\":[\"val_2.1\",\"val_2.2\"],\"sub_3\":[\"val_3.1\",\"val_3.2\",\"val_3.3\",\"val_3.4\"],\"sub_4\":[\"val_4.1\",\"val_4.2\",\"val_4.3\"]}}", $message->getHeadersJson()); // ensure that addSubstitution appends to the list of substitutions $section_vals = array("val_5.1", "val_5.2", "val_5.3", "val_5.4"); $message->addSection("sub_5", $section_vals); $sections["sub_5"] = $section_vals; $header = $message->getHeaders(); $this->assertEquals(5, count($header['section'])); $this->assertEquals($sections, $header['section']); }