public function testSubstitutionAccessors() { $message = new SendGrid\Mail(); $substitutions = 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->setSubstitutions($substitutions); $header = $message->getHeaders(); $this->assertEquals($substitutions, $header['sub']); $this->assertEquals("{\"sub\":{\"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 $sub_vals = array("val_5.1", "val_5.2", "val_5.3", "val_5.4"); $message->addSubstitution("sub_5", $sub_vals); $substitutions["sub_5"] = $sub_vals; $header = $message->getHeaders(); $this->assertEquals(5, count($header['sub'])); $this->assertEquals($substitutions, $header['sub']); }