hijri 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.document +1 -1
- data/.travis.yml +14 -2
- data/CHANGELOG +7 -0
- data/Gemfile +10 -4
- data/README.md +37 -16
- data/hijri.gemspec +4 -3
- data/lib/hijri.rb +2 -2
- data/lib/hijri/converter.rb +22 -8
- data/lib/hijri/date.rb +7 -8
- data/lib/hijri/datetime.rb +2 -2
- data/lib/hijri/format.rb +486 -486
- data/lib/hijri/gregorian.rb +2 -2
- data/lib/hijri/version.rb +1 -1
- data/test/helper.rb +1 -3
- data/test/test_hijri.rb +50 -18
- metadata +11 -27
data/lib/hijri/gregorian.rb
CHANGED
data/lib/hijri/version.rb
CHANGED
data/test/helper.rb
CHANGED
data/test/test_hijri.rb
CHANGED
@@ -8,12 +8,12 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
8
8
|
|
9
9
|
assert(!version.empty?, 'should have a VERSION constant')
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
def test_hijri_date_to_string
|
13
13
|
date = Hijri::Date.new 1433, 9, 18
|
14
14
|
assert_equal "1433-09-18", date.to_s
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def test_greo_date_to_hijri
|
18
18
|
date = Date.new 2014, 12, 7
|
19
19
|
# switiching between solar calendar and lunar calendar is a bit
|
@@ -22,19 +22,19 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
22
22
|
correct_dates = (14..16).map {|n| "1436-02-#{n}" }
|
23
23
|
assert_includes correct_dates, date.to_hijri.to_s
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def test_hijri_to_greo
|
27
27
|
h = Hijri::Date.new 1430, 1, 1
|
28
28
|
g = Date.new 2008, 12, 29
|
29
29
|
assert_equal(g , h.to_greo)
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
def test_hijri_date_today
|
33
33
|
gdate = Date.today
|
34
34
|
hdate = Hijri::Date.today
|
35
35
|
assert_equal gdate, hdate.to_greo
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
def test_hijri_datetime_now_create_datetime_object_with_now_date_and_time
|
39
39
|
g_datetime = DateTime.now
|
40
40
|
h_datetime = Hijri::DateTime.now
|
@@ -56,7 +56,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
56
56
|
def test_comparing_two_hijri_date
|
57
57
|
date1 = Hijri::Date.new 1435, 1, 1
|
58
58
|
date2 = Hijri::Date.new 1435, 1, 1
|
59
|
-
|
59
|
+
|
60
60
|
assert_equal date1, date2
|
61
61
|
end
|
62
62
|
|
@@ -83,7 +83,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
83
83
|
datetime = Hijri::DateTime.new 1433, 9, 18, 1, 1, 1, '00:00'
|
84
84
|
assert_equal "1433-09-18T01:01:01+00:00", datetime.to_s
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
def test_hijri_date_strftime_shows_hijri_month_names
|
88
88
|
date = Hijri::Date.new 1436, 2, 21
|
89
89
|
assert_equal "Safar", date.strftime("%B")
|
@@ -93,23 +93,23 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
93
93
|
date = Hijri::Date.new 1433, 12, 18
|
94
94
|
assert_equal "1433-12-18", date.strftime
|
95
95
|
end
|
96
|
-
|
96
|
+
|
97
97
|
def test_hijri_datetime_strftime_with_no_input
|
98
98
|
datetime = Hijri::DateTime.new 1433, 9, 18, 1, 1, 1, '+03:00'
|
99
99
|
#"1433-09-18T01:01:01+03:00"
|
100
100
|
assert_equal datetime.to_s, datetime.strftime
|
101
101
|
end
|
102
|
-
|
102
|
+
|
103
103
|
def test_hijri_full_arabic_month
|
104
104
|
date = Hijri::Date.new 1436, 3, 1
|
105
105
|
assert_equal "Rabia-Awwal", date.strftime('%B')
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
def test_hijri_short_arabic_month_name
|
109
109
|
date = Hijri::Date.new 1436, 3, 1
|
110
110
|
assert_equal "Rabia I", date.strftime('%b')
|
111
111
|
end
|
112
|
-
|
112
|
+
|
113
113
|
def test_hijri_full_arabic_day_name
|
114
114
|
(15..21).each do |day|
|
115
115
|
date = Hijri::Date.new 1436, 1, day
|
@@ -118,17 +118,17 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
118
118
|
end
|
119
119
|
|
120
120
|
def test_hijri_short_arabic_day_name
|
121
|
-
(1..7).each do |day|
|
121
|
+
(1..7).each do |day|
|
122
122
|
date = Hijri::Date.new 1436, 3, day
|
123
123
|
assert_equal Hijri::Date::ABBR_DAYNAMES[(day+2)%7], date.strftime('%a')
|
124
124
|
end
|
125
125
|
end
|
126
|
-
|
126
|
+
|
127
127
|
def test_hijri_day_of_the_year
|
128
128
|
date = Hijri::Date.new 1436, 3, 20
|
129
129
|
assert_equal "079", date.strftime('%j')
|
130
130
|
end
|
131
|
-
|
131
|
+
|
132
132
|
def test_hijri_week_number_of_the_year
|
133
133
|
date = Hijri::Date.new 1436, 3, 20
|
134
134
|
assert_equal "11", date.strftime('%U')
|
@@ -138,7 +138,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
138
138
|
def test_date_change
|
139
139
|
date = Hijri::Date.new 1436, 3, 20
|
140
140
|
date_to_be = Hijri::Date.new 1435, 4, 10
|
141
|
-
|
141
|
+
|
142
142
|
date.change :year => 1435, :month => 4, :day => 10
|
143
143
|
assert_equal date_to_be, date
|
144
144
|
end
|
@@ -146,7 +146,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
146
146
|
def test_date_change_with_nil_arguments
|
147
147
|
date = Hijri::Date.new 1436, 3, 20
|
148
148
|
date_to_be = Hijri::Date.new 1435, 4, 20
|
149
|
-
|
149
|
+
|
150
150
|
date.change :year => 1435, :month => 4, :day => nil
|
151
151
|
assert_equal date_to_be, date
|
152
152
|
end
|
@@ -154,7 +154,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
154
154
|
def test_datetime_change
|
155
155
|
datetime = Hijri::DateTime.new(1436, 3, 20, 10, 15, 30)
|
156
156
|
datetime_to_be = Hijri::DateTime.new(1435, 4, 10, 9, 30, 0)
|
157
|
-
|
157
|
+
|
158
158
|
datetime.change :year => 1435, :month => 4, :day => 10, :hour => 9, :minute => 30, :second => 0
|
159
159
|
assert_equal datetime_to_be, datetime
|
160
160
|
end
|
@@ -162,7 +162,7 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
162
162
|
def test_datetime_change_with_nil_arguments
|
163
163
|
datetime = Hijri::DateTime.new(1436, 3, 20, 10, 15, 30)
|
164
164
|
datetime_to_be = Hijri::DateTime.new(1435, 4, 10, 9, 30, 30)
|
165
|
-
|
165
|
+
|
166
166
|
datetime.change :year => 1435, :month => 4, :day => 10, :hour => 9, :minute => 30, :second => nil
|
167
167
|
assert_equal datetime_to_be, datetime
|
168
168
|
end
|
@@ -175,4 +175,36 @@ class TestHijri < MiniTest::Unit::TestCase
|
|
175
175
|
assert_raises(ArgumentError) { Hijri::DateTime.new(1430, 12, 10, 30, 70) }
|
176
176
|
end
|
177
177
|
|
178
|
+
def test_to_hijri_accept_adjust_variable
|
179
|
+
today = Date.today.to_hijri
|
180
|
+
yesterday = Date.today.to_hijri(-1)
|
181
|
+
tomorrow = Date.today.to_hijri(+1)
|
182
|
+
|
183
|
+
assert today > yesterday
|
184
|
+
assert tomorrow > today
|
185
|
+
end
|
186
|
+
|
187
|
+
def test_to_goreg_accept_adjust_variable
|
188
|
+
today = Hijri::Date.today.to_greo
|
189
|
+
yesterday = Hijri::Date.today.to_greo(-1)
|
190
|
+
tomorrow = Hijri::Date.today.to_greo(+1)
|
191
|
+
|
192
|
+
assert today > yesterday
|
193
|
+
assert tomorrow > today
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_resolve_hijri_date_1439_4_12_to_greo_not_raise_error
|
197
|
+
# this to test issue #5 https://github.com/ecleel/hijri/issues/5
|
198
|
+
hdate = Hijri::Date.new(1439, 4, 12)
|
199
|
+
gdate = Date.new(2017, 12, 31)
|
200
|
+
assert_equal gdate, hdate.to_greo
|
201
|
+
end
|
202
|
+
|
203
|
+
# def test_issue_4_of_wrong_conversion
|
204
|
+
# gdate = Date.new 2017, 9, 1
|
205
|
+
# hdate = Hijri::Date.new 1438, 12, 9
|
206
|
+
#
|
207
|
+
# # assert_equal hdate, gdate.to_hijri
|
208
|
+
# assert_equal Hijri::Date.new(1437, 12, 6), Date.new(2016, 9, 9).to_hijri
|
209
|
+
# end
|
178
210
|
end
|
metadata
CHANGED
@@ -1,57 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hijri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdulaziz AlShetwi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.8'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.8'
|
26
|
+
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: yard
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
31
|
+
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0
|
33
|
+
version: '0'
|
48
34
|
type: :development
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - "
|
38
|
+
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0
|
40
|
+
version: '0'
|
55
41
|
description: hijri is full Islamic Hijri calendar lib for ruby.
|
56
42
|
email: ecleeld@gmail.com
|
57
43
|
executables: []
|
@@ -96,12 +82,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
82
|
- !ruby/object:Gem::Version
|
97
83
|
version: '0'
|
98
84
|
requirements: []
|
99
|
-
|
100
|
-
rubygems_version: 2.4.5
|
85
|
+
rubygems_version: 3.0.3
|
101
86
|
signing_key:
|
102
87
|
specification_version: 4
|
103
88
|
summary: Hijri Date Library for Ruby
|
104
89
|
test_files:
|
105
90
|
- test/helper.rb
|
106
91
|
- test/test_hijri.rb
|
107
|
-
has_rdoc:
|