557
559
$ret = GalleryCoreApi::registerToolkitOperation('TestToolkit',
558
560
array('test/type'), 'test-operation', array(),
559
561
'test-description', 'test/outputType', 40);
560
if ($ret->isError()) {
561
563
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
564
566
list ($ret, $priority) = GalleryCoreApi::getMaximumManagedToolkitPriority();
565
if ($ret->isError()) {
566
568
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
569
$this->assertEquals('40', $priority);
571
$this->assertEquals(40, $priority);
572
574
function testGetRedundantPriorities() {
573
575
$ret = GalleryCoreApi::registerToolkitOperation('TestToolkit',
574
576
array('test/type'), 'test-operation', array(),
575
577
'test-description', 'test/outputType', 30);
576
if ($ret->isError()) {
577
579
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
580
582
$ret = GalleryCoreApi::registerToolkitOperation('TestToolkit2',
581
583
array('test/type'), 'test-operation', array(),
582
584
'test-description', 'test/outputType', 27);
583
if ($ret->isError()) {
584
586
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
587
589
list ($ret, $list) = GalleryCoreApi::getRedundantToolkitPriorities();
588
if ($ret->isError()) {
589
591
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
598
600
$ret = GalleryCoreApi::registerToolkitOperation('TestToolkit',
599
601
array('test/type'), 'test-operation', array(),
600
602
'test-description', 'test/outputType', 30);
601
if ($ret->isError()) {
602
604
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
605
607
/* Validate that toolkit priority is returned correctly */
606
608
list ($ret, $priority) = GalleryCoreApi::getToolkitPriorityById('TestToolkit');
607
if ($ret->isError()) {
608
610
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
610
612
$this->assertEquals(30, $priority, 'Toolkit Priority Doesn\'t Match');
612
614
/* Test return for an undefined toolkit */
613
615
list ($ret, $priority) = GalleryCoreApi::getToolkitPriorityById('TestToolkit2');
614
if ($ret->isError()) {
615
617
return $this->failWithStatus($ret->wrap(__FILE__, __LINE__));
617
619
$this->assertEquals(null, $priority, 'Returned value for undefined toolkit');
622
function testMergeOperations() {
623
$toolkit = new TestToolkit();
624
$this->assertEquals(array(true, 'thumbnail', array(150)),
625
$toolkit->mergeOperations('thumbnail', array(100), 'thumbnail', array(150)),
627
$this->assertEquals(array(true, 'scale', array(800)),
628
$toolkit->mergeOperations('scale', array(600, 500), 'scale', array(800)),
630
$this->assertEquals(array(true, 'resize', array(640, 480)),
631
$toolkit->mergeOperations('resize', array(800, 600), 'resize', array(640, 480)),
633
$this->assertEquals(array(true, 'scale', array(800, 600)),
634
$toolkit->mergeOperations('thumbnail', array(200), 'scale', array(800, 600)),
636
$this->assertEquals(array(true, 'resize', array(640, 480)),
637
$toolkit->mergeOperations('scale', array(800, 600), 'resize', array(640, 480)),
639
$this->assertEquals(array(true, 'thumbnail', array(150)),
640
$toolkit->mergeOperations('resize', array(900, 700), 'thumbnail', array(150)),
642
$this->assertEquals(array(true, 'crop', array(20, 20, 60, 60)),
643
$toolkit->mergeOperations('crop', array(40, 40, 20, 20), 'crop', array(20, 20, 60, 60)),
645
$this->assertEquals(array(false, null, null), $toolkit->mergeOperations(
646
'composite', array('img', 'image/png', 30, 20, 'top-left', 0, 0),
647
'composite', array('myimage', 'image/gif', 60, 60, 'center', 0, 0)),
648
'composite should not merge');
649
$this->assertEquals(array(true, 'rotate', array(180)),
650
$toolkit->mergeOperations('rotate', array(90), 'rotate', array(90)),
652
$this->assertEquals(array(true, 'rotate', array(180)),
653
$toolkit->mergeOperations('rotate', array(-90), 'rotate', array(-90)),
655
$this->assertEquals(array(true, 'rotate', array(-90)),
656
$toolkit->mergeOperations('rotate', array(180), 'rotate', array(90)),
658
$this->assertEquals(array(true, null, null),
659
$toolkit->mergeOperations('rotate', array(180), 'rotate', array(180)),