Sha256: b07a4fef74519b301a882daa13a2e3d28e360750c256bb788ea60f4425b07b67

Contents?: true

Size: 1.54 KB

Versions: 15

Compression:

Stored size: 1.54 KB

Contents

require 'timezone'
require 'minitest/autorun'

class TestTimezone < ::Minitest::Test
  parallelize_me!

  def test_names
    assert Timezone.names.is_a?(Array)
    refute Timezone.names.empty?
    assert Timezone.names.include?('Australia/Sydney')
    assert Timezone.names.include?('America/Los_Angeles')
  end

  def test_get
    assert Timezone['Australia/Sydney'].valid?
    refute Timezone['foo/bar'].valid?
  end

  def test_fetch
    assert Timezone.fetch('Australia/Sydney').valid?
    assert_equal 'foo', Timezone.fetch('foo/bar') { 'foo' }
    assert_raises Timezone::Error::InvalidZone do
      Timezone.fetch('foo/bar')
    end
    assert_equal 'foo', Timezone.fetch('foo/bar', 'foo')

    Timezone.stub(:warn, nil) do
      assert_equal 'b', Timezone.fetch('foo/bar', 'a') { 'b' }
    end
  end

  def test_fetch_warning
    warning = false

    Timezone.stub(:warn, ->(_) { warning = true }) do
      Timezone.fetch('foo/bar', 'a') { 'b' }
    end

    assert warning, 'warning was not issued'
  end

  def test_lookup
    Timezone::Lookup.config(:test)

    Timezone::Lookup.lookup.stub(-10, 10, 'America/Los_Angeles')
    Timezone::Lookup.lookup.stub(-20, 20, 'foos')

    assert_equal Timezone['America/Los_Angeles'], Timezone.lookup(-10, 10)
    assert_equal 'foo', Timezone.lookup(-20, 20) { 'foo' }
    assert_raises Timezone::Error::InvalidZone do
      Timezone.lookup(-20, 20)
    end
    assert_equal 'foo', Timezone.lookup(-20, 20, 'foo')

    Timezone.stub(:warn, nil) do
      assert_equal 'b', Timezone.lookup(-20, 20, 'a') { 'b' }
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
timezone-1.2.8 test/test_timezone.rb
timezone-1.2.7 test/test_timezone.rb
timezone-1.2.6 test/test_timezone.rb
timezone-1.2.5 test/test_timezone.rb
timezone-1.2.4 test/test_timezone.rb
timezone-1.2.3 test/test_timezone.rb
timezone-1.2.2 test/test_timezone.rb
timezone-1.2.1 test/test_timezone.rb
timezone-1.2.0 test/test_timezone.rb
timezone-1.1.1 test/test_timezone.rb
timezone-1.1.0 test/test_timezone.rb
timezone-1.0.0 test/test_timezone.rb
timezone-0.99.2 test/test_timezone.rb
timezone-0.99.1 test/test_timezone.rb
timezone-0.99.0 test/test_timezone.rb