[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/differential/render/ -> DifferentialChangesetTestRenderer.php (source)

   1  <?php
   2  
   3  abstract class DifferentialChangesetTestRenderer
   4    extends DifferentialChangesetRenderer {
   5  
   6    protected function renderChangeTypeHeader($force) {
   7      $changeset = $this->getChangeset();
   8  
   9      $old = nonempty($changeset->getOldFile(), '-');
  10      $away = nonempty(implode(', ', $changeset->getAwayPaths()), '-');
  11      $ctype = $changeset->getChangeType();
  12      $ftype = $changeset->getFileType();
  13      $force = ($force ? '(forced)' : '(unforced)');
  14  
  15      return "CTYPE {$ctype} {$ftype} {$force}\n".
  16             "{$old}\n".
  17             "{$away}\n";
  18    }
  19  
  20    public function renderShield($message, $force = 'default') {
  21      return "SHIELD ({$force}) {$message}\n";
  22    }
  23  
  24    protected function renderPropertyChangeHeader() {
  25      $changeset = $this->getChangeset();
  26      list($old, $new) = $this->getChangesetProperties($changeset);
  27  
  28      if (!$old && !$new) {
  29        return null;
  30      }
  31  
  32      $props = '';
  33      foreach ($old as $key => $value) {
  34        $props .= "P - {$key} {$value}~\n";
  35      }
  36      foreach ($new as $key => $value) {
  37        $props .= "P + {$key} {$value}~\n";
  38      }
  39  
  40      return "PROPERTIES\n".$props;
  41    }
  42  
  43    public function renderTextChange(
  44      $range_start,
  45      $range_len,
  46      $rows) {
  47  
  48      $out = array();
  49  
  50      $primitives = $this->buildPrimitives($range_start, $range_len);
  51      foreach ($primitives as $p) {
  52        $type = $p['type'];
  53        switch ($type) {
  54          case 'old':
  55          case 'new':
  56            $num = nonempty($p['line'], '-');
  57            $render = $p['render'];
  58            $htype = nonempty($p['htype'], '.');
  59  
  60            // TODO: This should probably happen earlier, whenever we deal with
  61            // \r and \t normalization?
  62            $render = rtrim($render, "\r\n");
  63            $t = ($type == 'old') ? 'O' : 'N';
  64  
  65            $out[] = "{$t} {$num} {$htype} {$render}~";
  66            break;
  67          default:
  68            $out[] = $type;
  69            break;
  70        }
  71      }
  72  
  73      $out = implode("\n", $out)."\n";
  74      return $out;
  75    }
  76  
  77  
  78    public function renderFileChange(
  79      $old_file = null,
  80      $new_file = null,
  81      $id = 0,
  82      $vs = 0) {
  83  
  84      throw new PhutilMethodNotImplementedException();
  85    }
  86  
  87  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1