public function testAddContext() { $this->p->setMargin(4); $patches = $this->p->fromText("@@ -21,4 +21,10 @@\n-jump\n+somersault\n"); $this->p->addContext($patches[0], "The quick brown fox jumps over the lazy dog."); $this->assertEquals("@@ -17,12 +17,18 @@\n fox \n-jump\n+somersault\n s ov\n", (string) $patches[0]); // Same, but not enough trailing context. $patches = $this->p->fromText("@@ -21,4 +21,10 @@\n-jump\n+somersault\n"); $this->p->addContext($patches[0], "The quick brown fox jumps."); $this->assertEquals("@@ -17,10 +17,16 @@\n fox \n-jump\n+somersault\n s.\n", (string) $patches[0]); // Same, but not enough leading context. $patches = $this->p->fromText("@@ -3 +3,2 @@\n-e\n+at\n"); $this->p->addContext($patches[0], "The quick brown fox jumps."); $this->assertEquals("@@ -1,7 +1,8 @@\n Th\n-e\n+at\n qui\n", (string) $patches[0]); // Same, but with ambiguity. $patches = $this->p->fromText("@@ -3 +3,2 @@\n-e\n+at\n"); $this->p->addContext($patches[0], "The quick brown fox jumps. The quick brown fox crashes."); $this->assertEquals("@@ -1,27 +1,28 @@\n Th\n-e\n+at\n quick brown fox jumps. \n", (string) $patches[0]); }