Example #1
0
 /**
  * Format committer, author or tagger ident according to this formatter's specification.
  *
  * @param ident
  * @return formatted version of date, time and time zone
  */
 @SuppressWarnings("boxing")
 public String formatDate(PersonIdent ident) {
   switch (format) {
     case RAW:
       int offset = ident.getTimeZoneOffset();
       String sign = offset < 0 ? "-" : "+";
       int offset2;
       if (offset < 0) offset2 = -offset;
       else offset2 = offset;
       int hours = offset2 / 60;
       int minutes = offset2 % 60;
       return String.format(
           "%d %s%02d%02d", ident.getWhen().getTime() / 1000, sign, hours, minutes);
     case RELATIVE:
       return RelativeDateFormatter.format(ident.getWhen());
     case LOCALELOCAL:
     case LOCAL:
       dateTimeInstance.setTimeZone(SystemReader.getInstance().getTimeZone());
       return dateTimeInstance.format(ident.getWhen());
     case LOCALE:
       TimeZone tz = ident.getTimeZone();
       if (tz == null) tz = SystemReader.getInstance().getTimeZone();
       dateTimeInstance.setTimeZone(tz);
       dateTimeInstance2.setTimeZone(tz);
       return dateTimeInstance.format(ident.getWhen())
           + " "
           + dateTimeInstance2.format(ident.getWhen());
     default:
       tz = ident.getTimeZone();
       if (tz == null) tz = SystemReader.getInstance().getTimeZone();
       dateTimeInstance.setTimeZone(ident.getTimeZone());
       return dateTimeInstance.format(ident.getWhen());
   }
 }
Example #2
0
 /**
  * Create a new Git oriented date formatter
  *
  * @param format
  */
 public GitDateFormatter(Format format) {
   this.format = format;
   switch (format) {
     default:
       break;
     case DEFAULT: // Not default:
       dateTimeInstance = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy Z", Locale.US);
       break;
     case ISO:
       dateTimeInstance = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z", Locale.US);
       break;
     case LOCAL:
       dateTimeInstance = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.US);
       break;
     case RFC:
       dateTimeInstance = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US);
       break;
     case SHORT:
       dateTimeInstance = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
       break;
     case LOCALE:
     case LOCALELOCAL:
       SystemReader systemReader = SystemReader.getInstance();
       dateTimeInstance = systemReader.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT);
       dateTimeInstance2 = systemReader.getSimpleDateFormat("Z");
       break;
   }
 }
 @Theory
 public void badlyFormattedWithExplicitRef() {
   Calendar ref =
       new GregorianCalendar(
           SystemReader.getInstance().getTimeZone(), SystemReader.getInstance().getLocale());
   try {
     GitDateParser.parse(dateStr, ref);
     fail("The expected ParseException while parsing '" + dateStr + "' did not occur.");
   } catch (ParseException e) {
     // expected
   }
 }
Example #4
0
  @Test
  public void testRelativize_mixedCase() {
    SystemReader systemReader = SystemReader.getInstance();
    String base = toOSPathString("C:\\git\\jgit");
    String other = toOSPathString("C:\\Git\\test\\d\\f.txt");
    String expectedCaseInsensitive = toOSPathString("..\\test\\d\\f.txt");
    String expectedCaseSensitive = toOSPathString("..\\..\\Git\\test\\d\\f.txt");

    if (systemReader.isWindows()) {
      String actual = FileUtils.relativize(base, other);
      assertEquals(expectedCaseInsensitive, actual);
    } else if (systemReader.isMacOS()) {
      String actual = FileUtils.relativize(base, other);
      assertEquals(expectedCaseInsensitive, actual);
    } else {
      String actual = FileUtils.relativize(base, other);
      assertEquals(expectedCaseSensitive, actual);
    }
  }
 @After
 public void tearDown() {
   SystemReader.setInstance(null);
 }
 @Before
 public void setUp() {
   MockSystemReader mockSystemReader = new MockSystemReader();
   SystemReader.setInstance(mockSystemReader);
 }