public function testConflicted() { $table1 = harness_Native::table($this->data1); $table2 = harness_Native::table($this->data2); $table3 = harness_Native::table($this->data3b); $table4 = harness_Native::table($this->data4b); $flags = new coopy_CompareFlags(); $merger = new coopy_Merger($table1, $table2, $table3, $flags); $conflicts = $merger->apply(); $this->assertEquals($conflicts, 1, _hx_anonymous(array("fileName" => "MergeTest.hx", "lineNumber" => 64, "className" => "harness.MergeTest", "methodName" => "testConflicted"))); $this->assertEquals(coopy_SimpleTable::tableToString($table2), coopy_SimpleTable::tableToString($table4), _hx_anonymous(array("fileName" => "MergeTest.hx", "lineNumber" => 65, "className" => "harness.MergeTest", "methodName" => "testConflicted"))); }
public function testMedium() { $table1 = harness_Native::table($this->data1); $table2 = harness_Native::table($this->data2); $flags = new coopy_CompareFlags(); $flags->unchanged_column_context = 3; $align = coopy_Coopy::compareTables($table1, $table2, null)->align(); $diff = harness_Native::table(new _hx_array(array())); $highlighter = new coopy_TableDiff($align, $flags); $flags->ordered = false; $highlighter->hilite($diff); $this->assertEquals(1, 1, _hx_anonymous(array("fileName" => "SpeedTest.hx", "lineNumber" => 59, "className" => "harness.SpeedTest", "methodName" => "testMedium"))); }
public function testRowOrder() { $data1 = new _hx_array(array(new _hx_array(array("Country", "Capital")), new _hx_array(array("Ireland", "Dublin")), new _hx_array(array("France", "Paris")), new _hx_array(array("Spain", "Barcelona")))); $data2 = new _hx_array(array(new _hx_array(array("Country", "Code", "Capital")), new _hx_array(array("Ireland", "ie", "Dublin")), new _hx_array(array("France", "fr", "Paris")), new _hx_array(array("Spain", "es", "Madrid")), new _hx_array(array("Germany", "de", "Berlin")))); $table1 = harness_Native::table($data1); $table2 = harness_Native::table($data2); $alignment = coopy_Coopy::compareTables($table1, $table2, null)->align(); $data_diff = new _hx_array(array()); $table_diff = harness_Native::table($data_diff); $flags = new coopy_CompareFlags(); $flags->always_show_order = true; $flags->never_show_order = false; $highlighter = new coopy_TableDiff($alignment, $flags); $highlighter->hilite($table_diff); $this->assertEquals("-:4", $table_diff->getCell(0, 6), _hx_anonymous(array("fileName" => "RowOrderTest.hx", "lineNumber" => 26, "className" => "harness.RowOrderTest", "methodName" => "testRowOrder"))); }
public function testList() { $data1 = new _hx_array(array(new _hx_array(array("id", "color", "length")), new _hx_array(array(15, "Red", 11.2)))); $table1 = harness_Native::table($data1); $flags = new coopy_CompareFlags(); $align = coopy_Coopy::compareTables($table1, $table1, null)->align(); $diff = harness_Native::table(new _hx_array(array())); $highlighter = new coopy_TableDiff($align, $flags); $flags->always_show_order = true; $flags->never_show_order = false; $highlighter->hilite($diff); if ($diff->getData() !== null) { $this->assertTrue(harness_Native::isList($diff->getData()), _hx_anonymous(array("fileName" => "TypeTest.hx", "lineNumber" => 35, "className" => "harness.TypeTest", "methodName" => "testList"))); $this->assertTrue(harness_Native::isList(harness_Native::row($diff->getData(), 0)), _hx_anonymous(array("fileName" => "TypeTest.hx", "lineNumber" => 36, "className" => "harness.TypeTest", "methodName" => "testList"))); $this->assertTrue(harness_Native::isList(harness_Native::row($diff->getData(), 1)), _hx_anonymous(array("fileName" => "TypeTest.hx", "lineNumber" => 37, "className" => "harness.TypeTest", "methodName" => "testList"))); } }
public function testIgnore() { $table1 = harness_Native::table($this->data1); $table2 = harness_Native::table($this->data2); $flags = new coopy_CompareFlags(); $flags->columns_to_ignore = new _hx_array(array("key", "version")); $alignment = coopy_Coopy::compareTables3($table2, $table1, $table2, $flags)->align(); $data_diff = new _hx_array(array()); $table_diff = harness_Native::table($data_diff); $highlighter = new coopy_TableDiff($alignment, $flags); $highlighter->hilite($table_diff); $this->assertEquals($table_diff->get_height(), 1, _hx_anonymous(array("fileName" => "SmallTableTest.hx", "lineNumber" => 68, "className" => "harness.SmallTableTest", "methodName" => "testIgnore"))); $this->assertEquals($table_diff->get_width(), 3, _hx_anonymous(array("fileName" => "SmallTableTest.hx", "lineNumber" => 69, "className" => "harness.SmallTableTest", "methodName" => "testIgnore"))); $v = $table1->getCellView(); $this->assertEquals($v->toString($table_diff->getCell(0, 0)), "@@", _hx_anonymous(array("fileName" => "SmallTableTest.hx", "lineNumber" => 71, "className" => "harness.SmallTableTest", "methodName" => "testIgnore"))); $this->assertEquals($v->toString($table_diff->getCell(1, 0)), "NAME", _hx_anonymous(array("fileName" => "SmallTableTest.hx", "lineNumber" => 72, "className" => "harness.SmallTableTest", "methodName" => "testIgnore"))); $this->assertEquals($v->toString($table_diff->getCell(2, 0)), "AGE", _hx_anonymous(array("fileName" => "SmallTableTest.hx", "lineNumber" => 73, "className" => "harness.SmallTableTest", "methodName" => "testIgnore"))); }
public function testNdjsonLoop() { $t = harness_Native::table(new _hx_array(array())); _hx_deref(new coopy_Ndjson($t))->parse("{\"a\":1,\"b\":2}\n{\"a\":11,\"b\":22}\r\n{\"a\":111,\"b\":222}\n"); $txt = _hx_deref(new coopy_Ndjson($t))->render(); $t2 = harness_Native::table(new _hx_array(array())); _hx_deref(new coopy_Ndjson($t2))->parse($txt); $ca = null; if (_hx_equal($t->getCell(0, 0), "a")) { $ca = 0; } else { $ca = 1; } $cb = 1 - $ca; $this->assertEquals("a", $t->getCell($ca, 0), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 55, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals("b", $t->getCell($cb, 0), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 56, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(1, $t->getCell($ca, 1), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 57, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(2, $t->getCell($cb, 1), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 58, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(11, $t->getCell($ca, 2), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 59, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(22, $t->getCell($cb, 2), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 60, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(111, $t->getCell($ca, 3), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 61, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); $this->assertEquals(222, $t->getCell($cb, 3), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 62, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop"))); }
public function testThreeWay() { $flags = new coopy_CompareFlags(); $table1 = harness_Native::table($this->data1); $table2 = harness_Native::table($this->data2); $table3 = harness_Native::table($this->data3); $table4 = harness_Native::table($this->data4); $flags->parent = $table1; $out = coopy_Coopy::diff($table2, $table3, $flags); $table2b = $table2->hclone(); coopy_Coopy::patch($table2b, $out, null); $this->assertTrue(coopy_SimpleTable::tableIsSimilar($table4, $table2b), _hx_anonymous(array("fileName" => "BasicTest.hx", "lineNumber" => 130, "className" => "harness.BasicTest", "methodName" => "testThreeWay"))); }
public function testAnsiOutput() { $table1 = harness_Native::table($this->data1); $table2 = harness_Native::table($this->data2); $txt = coopy_Coopy::diffAsAnsi($table1, $table2, null); $this->assertTrue(_hx_index_of($txt, "Germany", null) >= 0, _hx_anonymous(array("fileName" => "BasicTest.hx", "lineNumber" => 144, "className" => "harness.BasicTest", "methodName" => "testAnsiOutput"))); }