@@ -56,17 +56,17 @@ defmodule Tests.Delta do
5656
5757 test "slice normal emoji" do
5858 delta = [ % { "insert" => "01🙋45" } ]
59- assert Delta . slice ( delta , 1 , 4 ) == [ % { "insert" => "1🙋4 " } ]
59+ assert Delta . slice ( delta , 1 , 4 ) == [ % { "insert" => "1🙋45 " } ]
6060 end
6161
6262 test "slice emoji with zero width joiner" do
6363 delta = [ % { "insert" => "01🙋♂️78" } ]
64- assert Delta . slice ( delta , 1 , 7 ) == [ % { "insert" => "1🙋♂️7 " } ]
64+ assert Delta . slice ( delta , 1 , 7 ) == [ % { "insert" => "1🙋♂️78 " } ]
6565 end
6666
6767 test "slice emoji with joiner and modifer" do
6868 delta = [ % { "insert" => "01🙋🏽♂️90" } ]
69- assert Delta . slice ( delta , 1 , 9 ) == [ % { "insert" => "1🙋🏽♂️9 " } ]
69+ assert Delta . slice ( delta , 1 , 9 ) == [ % { "insert" => "1🙋🏽♂️90 " } ]
7070 end
7171
7272 test "slice with 0 index" do
@@ -121,17 +121,17 @@ defmodule Tests.Delta do
121121
122122 test "slice normal emoji" do
123123 delta = [ % { "insert" => "01🙋45" } ]
124- assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🙋4 " } ]
124+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🙋45 " } ]
125125 end
126126
127127 test "slice emoji with zero width joiner" do
128128 delta = [ % { "insert" => "01🙋♂️78" } ]
129- assert Delta . slice_max ( delta , 1 , 7 ) == [ % { "insert" => "1🙋♂️7 " } ]
129+ assert Delta . slice_max ( delta , 1 , 7 ) == [ % { "insert" => "1🙋♂️78 " } ]
130130 end
131131
132132 test "slice emoji with joiner and modifer" do
133133 delta = [ % { "insert" => "01🙋🏽♂️90" } ]
134- assert Delta . slice_max ( delta , 1 , 9 ) == [ % { "insert" => "1🙋🏽♂️9 " } ]
134+ assert Delta . slice_max ( delta , 1 , 9 ) == [ % { "insert" => "1🙋🏽♂️90 " } ]
135135 end
136136
137137 test "slice with 0 index" do
@@ -147,39 +147,36 @@ defmodule Tests.Delta do
147147 test "slice emoji: codepoint + variation selector" do
148148 # "01☹️345"
149149 delta = [ % { "insert" => "01\u2639 \uFE0F 345" } ]
150- assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1" } ]
151- assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1\u2639 \uFE0F " } ]
150+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1☹️ " } ]
151+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1☹️3 " } ]
152152 end
153153
154154 test "slice emoji: codepoint + skin tone modifier" do
155155 # "01🤵🏽345"
156156 delta = [ % { "insert" => "01\u{1F935} \u{1F3FD} 345" } ]
157- assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1" } ]
158- assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1" } ]
159- assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1" } ]
160- assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1\u{1F935} \u{1F3FD} " } ]
157+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1🤵🏽 " } ]
158+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1🤵🏽3 " } ]
159+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🤵🏽34 " } ]
160+ assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1🤵🏽345 " } ]
161161 end
162162
163163 test "slice emoji: codepoint + ZWJ + codepoint" do
164164 # "01👨🏭345"
165165 delta = [ % { "insert" => "01\u{1F468} \u200D \u{1F3ED} 345" } ]
166- assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1" } ]
167- assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1" } ]
168- assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1" } ]
169- assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1" } ]
170- assert Delta . slice_max ( delta , 1 , 6 ) == [ % { "insert" => "1\u{1F468} \u200D \u{1F3ED} " } ]
166+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1👨🏭 " } ]
167+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1👨🏭3 " } ]
168+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1👨🏭34 " } ]
169+ assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1👨🏭345 " } ]
170+ assert Delta . slice_max ( delta , 1 , 6 ) == [ % { "insert" => "1👨🏭345 " } ]
171171 end
172172
173173 test "slice emoji: flags" do
174174 # "01🇦🇺345"
175175 delta = [ % { "insert" => "01\u{1F1E6} \u{1F1FA} 345" } ]
176- assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1" } ]
177- # "1🇦"
178- assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1\u{1F1E6} " } ]
179- # "1🇦"
180- assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1\u{1F1E6} " } ]
181- # "1🇦🇺"
182- assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1\u{1F1E6} \u{1F1FA} " } ]
176+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1🇦🇺" } ]
177+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1🇦🇺3" } ]
178+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🇦🇺34" } ]
179+ assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1🇦🇺345" } ]
183180 end
184181
185182 test "slice emoji: tag sequence" do
@@ -188,25 +185,25 @@ defmodule Tests.Delta do
188185 % { "insert" => "01\u{1F3F4} \u{E0067} \u{E0062} \u{E0073} \u{E0063} \u{E0074} \u{E007F} 345" }
189186 ]
190187
191- for len <- 2 .. 14 do
192- assert Delta . slice_max ( delta , 1 , len ) == [ % { "insert" => "1" } ]
193- end
194-
195- assert Delta . slice_max ( delta , 1 , 15 ) == [
196- % { "insert" => "1\u{1F3F4} \u{E0067} \u{E0062} \u{E0073} \u{E0063} \u{E0074} \u{E007F} " }
197- ]
188+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1🏴" } ]
189+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1🏴3" } ]
190+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🏴34" } ]
191+ assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1🏴345" } ]
192+ assert Delta . slice_max ( delta , 1 , 6 ) == [ % { "insert" => "1🏴345" } ]
198193 end
199194
200195 test "slice complex emoji" do
201196 # "01🚵🏻♀️345"
202197 delta = [ % { "insert" => "01\u{1F6B5} \u{1F3FB} \u{200D} \u{2640} \u{FE0F} 345" } ]
203-
204- for len <- 2 .. 7 do
205- assert Delta . slice_max ( delta , 1 , len ) == [ % { "insert" => "1" } ]
206- end
198+ assert Delta . slice_max ( delta , 1 , 2 ) == [ % { "insert" => "1🚵🏻♀️" } ]
199+ assert Delta . slice_max ( delta , 1 , 3 ) == [ % { "insert" => "1🚵🏻♀️3" } ]
200+ assert Delta . slice_max ( delta , 1 , 4 ) == [ % { "insert" => "1🚵🏻♀️34" } ]
201+ assert Delta . slice_max ( delta , 1 , 5 ) == [ % { "insert" => "1🚵🏻♀️345" } ]
202+ assert Delta . slice_max ( delta , 1 , 6 ) == [ % { "insert" => "1🚵🏻♀️345" } ]
203+ assert Delta . slice_max ( delta , 1 , 7 ) == [ % { "insert" => "1🚵🏻♀️345" } ]
207204
208205 assert Delta . slice_max ( delta , 1 , 8 ) == [
209- % { "insert" => "1\u{1F6B5} \u{1F3FB} \u{200D} \u{2640} \u{FE0F} " }
206+ % { "insert" => "1\u{1F6B5} \u{1F3FB} \u{200D} \u{2640} \u{FE0F} 345 " }
210207 ]
211208 end
212209 end
0 commit comments