@ -1,7 +1,7 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
package timeutil
package templates
import (
import (
"testing"
"testing"
@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/modules/timeutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
)
)
@ -16,32 +17,35 @@ import (
func TestDateTime ( t * testing . T ) {
func TestDateTime ( t * testing . T ) {
testTz , _ := time . LoadLocation ( "America/New_York" )
testTz , _ := time . LoadLocation ( "America/New_York" )
defer test . MockVariableValue ( & setting . DefaultUILocation , testTz ) ( )
defer test . MockVariableValue ( & setting . DefaultUILocation , testTz ) ( )
defer test . MockVariableValue ( & setting . IsInTesting , false ) ( )
du := NewDateUtils ( nil )
refTimeStr := "2018-01-01T00:00:00Z"
refTimeStr := "2018-01-01T00:00:00Z"
refDateStr := "2018-01-01"
refDateStr := "2018-01-01"
refTime , _ := time . Parse ( time . RFC3339 , refTimeStr )
refTime , _ := time . Parse ( time . RFC3339 , refTimeStr )
refTimeStamp := TimeStamp ( refTime . Unix ( ) )
refTimeStamp := timeutil . TimeStamp ( refTime . Unix ( ) )
assert . EqualValues ( t , "-" , DateTime ( "short" , nil ) )
assert . EqualValues ( t , "-" , du . AbsoluteShort ( nil ) )
assert . EqualValues ( t , "-" , DateTime ( "short" , 0 ) )
assert . EqualValues ( t , "-" , du . AbsoluteShort ( 0 ) )
assert . EqualValues ( t , "-" , DateTime ( "short" , time . Time { } ) )
assert . EqualValues ( t , "-" , du . AbsoluteShort ( time . Time { } ) )
assert . EqualValues ( t , "-" , DateTime ( "short" , TimeStamp ( 0 ) ) )
assert . EqualValues ( t , "-" , du . AbsoluteShort ( timeutil . TimeStamp ( 0 ) ) )
actual := DateTime ( "short" , "invalid" )
actual := dateTimeLegacy ( "short" , "invalid" )
assert . EqualValues ( t , ` <absolute -date weekday="" year="numeric" month="short" day="numeric" date="invalid">invalid</absolute-date> ` , actual )
assert . EqualValues ( t , ` - ` , actual )
actual = DateTime ( "short" , refTimeStr )
actual = dateTimeLegacy ( "short" , refTimeStr )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01T00:00:00Z </absolute-date> ` , actual )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01</absolute-date> ` , actual )
actual = DateTime ( "short" , refTime )
actual = du . AbsoluteShort ( refTime )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01</absolute-date> ` , actual )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01</absolute-date> ` , actual )
actual = DateTime ( "short" , refDateStr )
actual = dateTimeLegacy ( "short" , refDateStr )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01">2018-01-01</absolute-date> ` , actual )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00-05:00 ">2018-01-01</absolute-date> ` , actual )
actual = DateTime ( "short" , refTimeStamp )
actual = du . AbsoluteShort ( refTimeStamp )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2017-12-31T19:00:00-05:00">2017-12-31</absolute-date> ` , actual )
assert . EqualValues ( t , ` <absolute-date weekday="" year="numeric" month="short" day="numeric" date="2017-12-31T19:00:00-05:00">2017-12-31</absolute-date> ` , actual )
actual = DateTime ( "full" , refTimeStamp )
actual = du . FullTime ( refTimeStamp )
assert . EqualValues ( t , ` <relative-time weekday="" year="numeric" format="datetime" month="short" day="numeric" hour="numeric" minute="numeric" second="numeric" data-tooltip-content data-tooltip-interactive="true" datetime="2017-12-31T19:00:00-05:00">2017-12-31 19:00:00 -05:00</relative-time> ` , actual )
assert . EqualValues ( t , ` <relative-time weekday="" year="numeric" format="datetime" month="short" day="numeric" hour="numeric" minute="numeric" second="numeric" data-tooltip-content data-tooltip-interactive="true" datetime="2017-12-31T19:00:00-05:00">2017-12-31 19:00:00 -05:00</relative-time> ` , actual )
}
}