@@ -27,6 +27,7 @@ suite('relative-time', function () {
2727 suiteSetup ( ( ) => {
2828 fixture = document . createElement ( 'div' )
2929 document . body . appendChild ( fixture )
30+ document . documentElement . lang = 'en'
3031 } )
3132
3233 teardown ( ( ) => {
@@ -249,6 +250,24 @@ suite('relative-time', function () {
249250 assert . equal ( time . shadowRoot . textContent , 'in 2 days' )
250251 } )
251252
253+ test ( 'uses html lang if given lang is invalid' , async ( ) => {
254+ const time = document . createElement ( 'relative-time' )
255+ time . setAttribute ( 'datetime' , new Date ( ) )
256+ time . setAttribute ( 'lang' , '' )
257+ document . documentElement . lang = 'es'
258+ await Promise . resolve ( )
259+ assert . equal ( time . shadowRoot . textContent , 'ahora' )
260+ } )
261+
262+ test ( 'ignores empty lang attributes' , async ( ) => {
263+ const time = document . createElement ( 'relative-time' )
264+ time . setAttribute ( 'datetime' , new Date ( ) )
265+ time . setAttribute ( 'lang' , '' )
266+ document . documentElement . lang = ''
267+ await Promise . resolve ( )
268+ assert . equal ( time . shadowRoot . textContent , 'now' )
269+ } )
270+
252271 suite ( '[threshold]' , function ( ) {
253272 test ( 'switches to dates after 30 past days with default threshold' , async ( ) => {
254273 const now = new Date ( Date . now ( ) - 31 * 60 * 60 * 24 * 1000 ) . toISOString ( )
0 commit comments