def test_contact_mail_mailto_link(self): mail_link1 = OrgFormat.contact_mail_mailto_link( "Bob Bobby <*****@*****.**>") mail_link2 = OrgFormat.contact_mail_mailto_link("<*****@*****.**>") self.assertEqual("[[mailto:[email protected]][Bob Bobby]]", mail_link1) self.assertEqual("[[mailto:[email protected]][[email protected]]]", mail_link2)
def test_strings(self): # testing strings self.assertEqual("<2011-11-03 Thu>", OrgFormat.strdate("2011-11-3"), "date string error") self.assertEqual("<2011-11-03 Thu 11:52>", OrgFormat.strdatetime("2011-11-3 11:52"), "datetime string error")
def test_link(self): """ test Org links """ self.assertEqual( "[[/link/][description]]", OrgFormat.link("/link/", "description"), "format error link+description" ) self.assertEqual("[[/link/]]", OrgFormat.link("/link/"), "format error link") self.assertEqual("[[/link%20link/]]", OrgFormat.link("/link link/"), "quote error")
def test_contact_mail_mailto_link(self): self.assertEqual( OrgFormat.contact_mail_mailto_link("<*****@*****.**>"), u"[[mailto:[email protected]][[email protected]]]" ) self.assertEqual( OrgFormat.contact_mail_mailto_link("Bob Bobby <*****@*****.**>"), u"[[mailto:[email protected]][Bob Bobby]]" )
def test_newsgroup_link(self): self.assertEqual( OrgFormat.newsgroup_link("foo"), u"[[news:foo][foo]]" ) self.assertEqual( OrgFormat.newsgroup_link("foo.bar.baz"), u"[[news:foo.bar.baz][foo.bar.baz]]" )
def test_inactive_date(self): """ test Org inactive_date """ # testing tuples t = time.strptime("2011-11-02T20:38", "%Y-%m-%dT%H:%M") date = OrgFormat.inactive_date(t) datetime = OrgFormat.inactive_datetime(t) self.assertEqual("[2011-11-02 Wed]", date, "date error") self.assertEqual("[2011-11-02 Wed 20:38]", datetime, "datetime error")
def test_date(self): """ test Org date """ # testing tuples t = time.strptime("2011-11-02T20:38", "%Y-%m-%dT%H:%M") date = OrgFormat.date(t) datetime = OrgFormat.date(t, show_time=True) self.assertEqual("<2011-11-02 Wed>", date, "date error") self.assertEqual("<2011-11-02 Wed 20:38>", datetime, "datetime error")
def test_datetupleiso8601(self): self.assertEqual( OrgFormat.datetupeliso8601('1980-12-31'), time.struct_time([1980, 12, 31, 0, 0, 0, 2, 366, -1]) ) with self.assertRaises(TimestampParseException): OrgFormat.datetupeliso8601('1980-12-31T23.59'),
def test_iso8601(self): # testing iso8601 self.assertEqual("<2011-11-30 Wed 21:06>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06"), "datetimeiso8601 error") self.assertEqual("<2011-11-30 Wed 21:06>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06.00"), "datetimeiso8601 error") self.assertEqual("<2011-11-30 Wed 21:06:02>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06.02"), "datetimeiso8601 error")
def test_strdatetimeiso8601(self): self.assertEqual( OrgFormat.strdatetimeiso8601('1980-12-31T23.59'), u'<1980-12-31 Wed 23:59>' ) self.assertEqual( OrgFormat.strdatetimeiso8601('1981-01-15T15.10.23'), u'<1981-01-15 Thu 15:10>' ) ## seconds are not (yet) defined in Org-mode with self.assertRaises(TimestampParseException): OrgFormat.strdatetimeiso8601('1981-01-15T15:10')
def test_strdatetimeiso8601(self): self.assertEqual( OrgFormat.strdatetimeiso8601('1980-12-31T23.59'), u'<1980-12-31 Wed 23:59>' ) self.assertEqual( OrgFormat.strdatetimeiso8601('1981-01-15T15.10.23'), u'<1981-01-15 Thu 15:10:23>' ) with self.assertRaises(TimestampParseException): OrgFormat.strdatetimeiso8601('1981-01-15T15:10')
def test_strdate(self): self.assertEqual( OrgFormat.strdate('1980-12-31'), u'<1980-12-31 Wed>' ) self.assertEqual( OrgFormat.strdate('1981-01-15'), u'<1981-01-15 Thu>' ) with self.assertRaises(TimestampParseException): OrgFormat.strdate('1981-01-15foo'),
def test_link(self): self.assertEqual( OrgFormat.link("http://github.org/novoid/memacs"), u'[[http://github.org/novoid/memacs]]') self.assertEqual( OrgFormat.link("http://github.org/novoid/memacs with space"), u'[[http://github.org/novoid/memacs%20with%20space]]') self.assertEqual( OrgFormat.link("http://github.org/novoid/memacs", "Memacs Repository"), u'[[http://github.org/novoid/memacs][Memacs Repository]]')
def test_daterange(self): ## fixed time with seconds: self.assertEqual( OrgFormat.daterange( time.struct_time([1980,12,31,23,59,58,0,0,0]), time.struct_time([1981,1,15,15,30,02,0,0,0]), ), u'<1980-12-31 Wed>--<1981-01-15 Thu>' ) ## provoke error: with self.assertRaises(AssertionError): OrgFormat.daterange('foo', 42)
def test_iso8601_datetupel(self): self.assertEqual( 2011, OrgFormat.datetupeliso8601("2011-11-30").tm_year, "datetimeiso8601 error") self.assertEqual( 11, OrgFormat.datetupeliso8601("2011-11-30").tm_mon, "datetimeiso8601 error") self.assertEqual( 30, OrgFormat.datetupeliso8601("2011-11-30").tm_mday, "datetimeiso8601 error")
def test_apply_timedelta_to_Orgmode_timestamp(self): self.assertEqual( OrgFormat.apply_timedelta_to_Orgmode_timestamp(u"<1980-12-31 Wed 23:59>", +2), u"<1981-01-01 Thu 01:59>" ) self.assertEqual( OrgFormat.apply_timedelta_to_Orgmode_timestamp(u"<1981-01-01 Thu 01:59>", -2), u"<1980-12-31 Wed 23:59>" ) self.assertEqual( OrgFormat.apply_timedelta_to_Orgmode_timestamp(u"<2009-12-07 Mon 12:25>-<2009-12-07 Mon 12:26>", -2), u"<2009-12-07 Mon 10:25>-<2009-12-07 Mon 10:26>" )
def test_datetimetupeliso8601(self): self.assertEqual( OrgFormat.datetimetupeliso8601('1980-12-31T23.59'), time.struct_time([1980, 12, 31, 23, 59, 0, 2, 366, -1]) ) self.assertEqual( OrgFormat.datetimetupeliso8601('1980-12-31T23.59.58'), time.struct_time([1980, 12, 31, 23, 59, 58, 2, 366, -1]) )
def test_datetupelutctimestamp(self): self.assertEqual( OrgFormat.datetupelutctimestamp('19801231'), time.struct_time([1980, 12, 31, 0, 0, 0, 2, 366, -1]) ) self.assertEqual( OrgFormat.datetupelutctimestamp('19801231T235958'), time.struct_time([1980, 12, 31, 23, 59, 58, 2, 366, -1]) )
def test_utc_time(self): os.environ['TZ'] = "Europe/Vienna" time.tzset() self.assertEqual( OrgFormat.date( OrgFormat.datetupelutctimestamp("20111219T205510Z"), True ), "<2011-12-19 Mon 21:55>" ) self.assertEqual( OrgFormat.date( OrgFormat.datetupelutctimestamp("20111219T205510"), True ), "<2011-12-19 Mon 20:55>") self.assertEqual( OrgFormat.date(OrgFormat.datetupelutctimestamp("20111219"), False), "<2011-12-19 Mon>" ) self.assertEqual( OrgFormat.date(OrgFormat.datetupelutctimestamp("18991230"), False), "<1899-12-30 Sat>" )
def test_autotag(self): test_filename = self.TMPFOLDER + "testautotag.org" autotag_dict = {} autotag_dict["TUG"] = ["tugraz", "university"] autotag_dict["programming"] = ["programming", "python", "java"] output = "Programming for my bachelor thesis at University" # writing test output writer = OrgOutputWriter(short_description="short-des", tag="tag", file_name=test_filename, autotag_dict=autotag_dict) timestamp = OrgFormat.datetime(time.gmtime(0)) properties = OrgProperties("data_for_hashing") writer.write_org_subitem(timestamp=timestamp, output=output, properties=properties) writer.close() # read and check the file_handler file_handler = codecs.open(test_filename, "r", "utf-8") input_handler = file_handler.readlines() file_handler.close() self.assertEqual(input_handler[4], u"** <1970-01-01 Thu 00:00> Programming for my " + \ "bachelor thesis at University\t:programming:TUG:\n") #cleaning up os.remove(self.TMPFOLDER + "testautotag.org")
def test_inactive_date(self): """ test Org inactive_date """ # testing time.struct_time t = time.strptime("2011-11-02T20:38", "%Y-%m-%dT%H:%M") mydate = OrgFormat.inactive_date(t) mydatetime = OrgFormat.inactive_datetime(t) self.assertEqual("[2011-11-02 Wed]", mydate, "mydate error") self.assertEqual("[2011-11-02 Wed 20:38]", mydatetime, "mydatetime error") # testing datetime.datetime t = datetime.datetime(2018, 9, 22, hour=12, minute=55, second=59) mydate = OrgFormat.inactive_date(t) mydatetime = OrgFormat.inactive_date(t, show_time=True) self.assertEqual("[2018-09-22 Sat]", mydate, "date error") self.assertEqual("[2018-09-22 Sat 12:55]", mydatetime, "datetime error")
def test_iso8601(self): # testing iso8601 self.assertEqual( "<2011-11-30 Wed 21:06>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06") ) self.assertEqual( "<2011-11-30 Wed 21:06>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06.00") ) self.assertEqual( "<2011-11-30 Wed 21:06>", OrgFormat.strdatetimeiso8601("2011-11-30T21.06.02"), ) self.assertEqual( "<1899-12-30 Sat 21:06>", OrgFormat.strdatetimeiso8601("1899-12-30T21.06.02"), )
def test_properties_with_own_created(self): p = OrgProperties() p.add(u"CREATED", OrgFormat.datetime(time.gmtime(0))) properties = unicode(p).splitlines() self.assertEqual(properties[0], u" :PROPERTIES:") self.assertEqual(properties[1], u" :CREATED: <1970-01-0" + \ "1 Thu 00:00>") self.assertEqual(properties[2], u" :ID: fede47e9" + \ "f49e1b7f5c6599a6d607e9719ca98625") self.assertEqual(properties[3], u" :END:")
def test_inactive_date(self): ## fixed day: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,0,0,0,0,0,0])), u'[1980-12-31 Mon]' ) ## however, it was a Wednesday ## fixed time with seconds: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,23,59,58,0,0,0]), 'foo'), u'[1980-12-31 Mon 23:59:58]' ) ## however, it was a Wednesday ## fixed time without seconds: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,23,59,0,0,0,0]), 'foo'), u'[1980-12-31 Mon 23:59]' ) ## however, it was a Wednesday YYYYMMDDwday = time.strftime('%Y-%m-%d %a', time.localtime()) hhmmss = time.strftime('%H:%M:%S', time.localtime()) ## simple form with current day: self.assertEqual( OrgFormat.inactive_date(time.localtime()), u'[' + YYYYMMDDwday + u']' ) ## show_time parameter not named: self.assertEqual( OrgFormat.inactive_date(time.localtime(), True), u'[' + YYYYMMDDwday + u' ' + hhmmss + u']' ) ## show_time parameter named: self.assertEqual( OrgFormat.inactive_date(time.localtime(), show_time=True), u'[' + YYYYMMDDwday + u' ' + hhmmss + u']' )
def test_utcrange(self): self.assertEqual( OrgFormat.utcrange( time.struct_time([1980,12,31,23,59,58,0,0,0]), time.struct_time([1981,1,15,15,30,0o2,0,0,0]), ), OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,58,0,0,0]), time.struct_time([1981,1,15,15,30,0o2,0,0,0]), ) ) self.assertEqual( OrgFormat.utcrange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,0o2,0,0,0]), ), OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,0o2,0,0,0]), ) ) self.assertEqual( OrgFormat.utcrange( time.struct_time([1980,12,31,0,0,0,0,0,0]), time.struct_time([1981,1,15,0,0,0,0,0,0]), ), OrgFormat.daterange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,0o2,0,0,0]), ) )
def test_iso8601_datetimetupel(self): self.assertEqual( 2011, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_year, "datetimeiso8601 error") self.assertEqual( 11, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_mon, "datetimeiso8601 error") self.assertEqual( 30, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_mday, "datetimeiso8601 error") self.assertEqual( 21, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_hour, "datetimeiso8601 error") self.assertEqual( 6, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_min, "datetimeiso8601 error") self.assertEqual( 2, OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02").tm_sec, "datetimeiso8601 error")
def test_inactive_date(self): ## fixed day: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,0,0,0,0,0,0])), u'[1980-12-31 Wed]' ) ## fixed time with seconds: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,23,59,58,0,0,0]), 'foo'), u'[1980-12-31 Wed 23:59]' ) ## seconds are not (yet) defined in Org-mode ## fixed time without seconds: self.assertEqual( OrgFormat.inactive_date(time.struct_time([1980,12,31,23,59,0,0,0,0]), 'foo'), u'[1980-12-31 Wed 23:59]' ) YYYYMMDDwday = time.strftime('%Y-%m-%d %a', time.localtime()) hhmmss = time.strftime('%H:%M', time.localtime()) ## seconds are not (yet) defined in Org-mode ## simple form with current day: self.assertEqual( OrgFormat.inactive_date(time.localtime()), u'[' + YYYYMMDDwday + u']' ) ## show_time parameter not named: self.assertEqual( OrgFormat.inactive_date(time.localtime(), True), u'[' + YYYYMMDDwday + u' ' + hhmmss + u']' ) ## show_time parameter named: self.assertEqual( OrgFormat.inactive_date(time.localtime(), show_time=True), u'[' + YYYYMMDDwday + u' ' + hhmmss + u']' )
def test_datetimerange(self): self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,58,0,0,0]), time.struct_time([1981,1,15,15,30,02,0,0,0]), ), u'<1980-12-31 Mon 23:59:58>--<1981-01-15 Mon 15:30:02>' ) ## however, it was Wednesday to Thursday self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,02,0,0,0]), ), u'<1980-12-31 Mon 23:59>--<1981-01-15 Mon 15:30:02>' ) ## however, it was Wednesday to Thursday self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,0,0,0,0]), ), u'<1980-12-31 Mon 23:59>--<1981-01-15 Mon 15:30>' ) ## however, it was Wednesday to Thursday
def test_datetimerange(self): self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,58,0,0,0]), time.struct_time([1981,1,15,15,30,02,0,0,0]), ), u'<1980-12-31 Wed 23:59>--<1981-01-15 Thu 15:30>' ) ## seconds are not (yet) defined in Org-mode self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,02,0,0,0]), ), u'<1980-12-31 Wed 23:59>--<1981-01-15 Thu 15:30>' ) self.assertEqual( OrgFormat.datetimerange( time.struct_time([1980,12,31,23,59,0,0,0,0]), time.struct_time([1981,1,15,15,30,0,0,0,0]), ), u'<1980-12-31 Wed 23:59>--<1981-01-15 Thu 15:30>' )
def test_date_ranges(self): daterange = OrgFormat.daterange( OrgFormat.datetupeliso8601("2011-11-29"), OrgFormat.datetupeliso8601("2011-11-30") ) self.assertEqual(daterange, "<2011-11-29 Tue>--<2011-11-30 Wed>") datetimerange = OrgFormat.datetimerange( OrgFormat.datetimetupeliso8601("2011-11-30T21.06.02"), OrgFormat.datetimetupeliso8601("2011-11-30T22.06.02") ) self.assertEqual(datetimerange, "<2011-11-30 Wed 21:06>--<2011-11-30 Wed 22:06>")
def test_newsgroup_link(self): self.assertEqual(OrgFormat.newsgroup_link("foo"), u"[[news:foo][foo]]") self.assertEqual(OrgFormat.newsgroup_link("foo.bar.baz"), u"[[news:foo.bar.baz][foo.bar.baz]]")
def test_orgmode_timestamp_to_datetime(self): self.assertEqual( OrgFormat.orgmode_timestamp_to_datetime("<1980-12-31 Wed 23:59>"), datetime.datetime(1980, 12, 31, 23, 59, 0))