| 152 | |
| 153 | |
| 154 | def test_divide(): |
| 155 | bold = Style(bold=True) |
| 156 | italic = Style(italic=True) |
| 157 | segments = [ |
| 158 | Segment("Hello", bold), |
| 159 | Segment(" World!", italic), |
| 160 | ] |
| 161 | |
| 162 | assert list(Segment.divide(segments, [])) == [] |
| 163 | assert list(Segment.divide([], [1])) == [[]] |
| 164 | |
| 165 | assert list(Segment.divide(segments, [1])) == [[Segment("H", bold)]] |
| 166 | |
| 167 | assert list(Segment.divide(segments, [1, 2])) == [ |
| 168 | [Segment("H", bold)], |
| 169 | [Segment("e", bold)], |
| 170 | ] |
| 171 | |
| 172 | assert list(Segment.divide(segments, [1, 2, 12])) == [ |
| 173 | [Segment("H", bold)], |
| 174 | [Segment("e", bold)], |
| 175 | [Segment("llo", bold), Segment(" World!", italic)], |
| 176 | ] |
| 177 | |
| 178 | assert list(Segment.divide(segments, [4, 20])) == [ |
| 179 | [Segment("Hell", bold)], |
| 180 | [Segment("o", bold), Segment(" World!", italic)], |
| 181 | ] |
| 182 | |
| 183 | |
| 184 | # https://github.com/textualize/rich/issues/1755 |