Exemplo n.º 1
0
    public void InvalidSourceDevice()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _sourceItem;

      cmd.SourceDeviceName = "this is an invalid device";
      cmd.TargetDeviceName = _context.CurrentDatabase.Resources.Devices.GetAll()[0].Name;

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Failure, result.Status);
    }
Exemplo n.º 2
0
    public void NoPaths()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _sourceItem;

      var previousLayout = _sourceItem[FieldIDs.LayoutField];

      var result = cmd.Run();
      _sourceItem.Reload();

      Assert.AreEqual(CommandStatus.Success, result.Status);
      Assert.AreEqual(previousLayout, _sourceItem[FieldIDs.LayoutField]);
    }
Exemplo n.º 3
0
    public void SameDeviceSameItem()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _sourceItem;

      cmd.SourceDeviceName = "default";
      cmd.TargetDeviceName = "default";
      cmd.SourcePath = _context.CurrentItem.ID.ToString();
      cmd.TargetPath = _context.CurrentItem.Paths.FullPath;

      // Sometimes playing with the layout field can introduce non-significant whitespace
      var layoutBefore = new XmlDocument();
      layoutBefore.LoadXml(_sourceItem[FieldIDs.LayoutField]);

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Success, result.Status);

      _sourceItem.Reload();
      var layoutAfter = new XmlDocument();
      layoutAfter.LoadXml(_sourceItem[FieldIDs.LayoutField]);
      Assert.AreEqual(layoutBefore.DocumentElement.OuterXml, layoutAfter.DocumentElement.OuterXml);
    }
Exemplo n.º 4
0
    public void SameDevicesOnDifferentItems()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _testRoot;

      cmd.SourceDeviceName = "default";
      cmd.TargetDeviceName = "default";
      cmd.SourcePath = _sourceItem.Name;
      cmd.TargetPath = _targetItem.Name;

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Success, result.Status);

      _targetItem.Reload();

#if SC62
      var sourceDevice = LayoutDefinition.Parse(((LayoutField)_sourceItem.Fields[FieldIDs.LayoutField]).Value).GetDevice(_defaultDeviceId);
      var targetDevice = LayoutDefinition.Parse(((LayoutField)_targetItem.Fields[FieldIDs.LayoutField]).Value).GetDevice(_defaultDeviceId);
#else
      var sourceDevice = LayoutDefinition.Parse(LayoutField.GetFieldValue(_sourceItem.Fields[FieldIDs.LayoutField])).GetDevice(_defaultDeviceId);
      var targetDevice = LayoutDefinition.Parse(LayoutField.GetFieldValue(_targetItem.Fields[FieldIDs.LayoutField])).GetDevice(_defaultDeviceId);
#endif

      AssertLayout(sourceDevice, targetDevice);
    }
Exemplo n.º 5
0
    public void AllDevicesFromSource()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _targetItem;

      cmd.SourcePath = _sourceItem.ID.ToString();

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Success, result.Status);

      _sourceItem.Reload();
      _targetItem.Reload();

      Assert.AreEqual(_sourceItem[FieldIDs.LayoutField], _targetItem[FieldIDs.LayoutField]);
    }
Exemplo n.º 6
0
    public void AllDevicesToTarget()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _sourceItem;

      cmd.TargetPath = "../" + _targetItem.Name;

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Success, result.Status);

      _sourceItem.Reload();
      _targetItem.Reload();

      Assert.AreEqual(_sourceItem[FieldIDs.LayoutField], _targetItem[FieldIDs.LayoutField]);
    }
Exemplo n.º 7
0
    public void BetweenDevicesByIDOnSameItem()
    {
      var cmd = new Cmd.CopyPresentation();
      InitCommand(cmd);

      _context.CurrentItem = _sourceItem;

      cmd.SourceDeviceName = _defaultDeviceId;
      cmd.TargetDeviceName = _printDeviceId;
      cmd.SourcePath = _context.CurrentItem.ID.ToString();
      cmd.TargetPath = _context.CurrentItem.ID.ToString();

      var result = cmd.Run();
      Assert.AreEqual(CommandStatus.Success, result.Status);

      _sourceItem.Reload();

#if SC62
      var layout = LayoutDefinition.Parse(_sourceItem.Fields[FieldIDs.LayoutField].GetValue(true));
#else
      var layout = LayoutDefinition.Parse(LayoutField.GetFieldValue(_sourceItem.Fields[FieldIDs.LayoutField]));
#endif
      var defaultDevice = layout.GetDevice(_defaultDeviceId);
      var printDevice = layout.GetDevice(_printDeviceId);

      AssertLayout(defaultDevice, printDevice);
    }