@@ -55,36 +55,41 @@ end subroutine test_reverse_string
55
55
56
56
subroutine test_slice_string
57
57
type (string_type) :: test_string
58
+ character (len= :), allocatable :: test_char
58
59
test_string = " abcdefghijklmnopqrstuvwxyz"
60
+ test_char = " abcdefghijklmnopqrstuvwxyz"
59
61
60
62
call check(slice(test_string, 2 , 16 , 3 ) == " behkn" , &
61
- ' function slice failed' , warn= .false . )
62
- call check(slice(test_string , 15 , stride=- 1 ) == " onmlkjihgfedcba" , &
63
- ' function slice failed' , warn= .false . )
63
+ ' function slice failed' , warn= .true . )
64
+ call check(slice(test_char , 15 , stride=- 1 ) == " onmlkjihgfedcba" , &
65
+ ' function slice failed' , warn= .true . )
64
66
call check(slice(test_string, last= 22 , stride=- 1 ) == " zyxwv" , &
65
- ' function slice failed' , warn= .false . )
66
- call check(slice(test_string , 7 , 2 ) == " gfedcb" , &
67
- ' function slice failed' , warn= .false . )
67
+ ' function slice failed' , warn= .true . )
68
+ call check(slice(test_char , 7 , 2 ) == " gfedcb" , &
69
+ ' function slice failed' , warn= .true . )
68
70
call check(slice(test_string, 7 , 2 , 1 ) == " " , &
69
- ' function slice failed' , warn= .false . )
70
- call check(slice(test_string , 2 , 6 , - 1 ) == " " , &
71
- ' function slice failed' , warn= .false . )
71
+ ' function slice failed' , warn= .true . )
72
+ call check(slice(test_char , 2 , 6 , - 1 ) == " " , &
73
+ ' function slice failed' , warn= .true . )
72
74
call check(slice(test_string, stride=- 1 ) == " zyxwvutsrqponmlkjihgfedcba" , &
73
- ' function slice failed' , warn= .false . )
75
+ ' function slice failed' , warn= .true . )
74
76
call check(slice(test_string, 7 , 7 , - 4 ) == " g" , &
75
- ' function slice failed' , warn= .false. )
77
+ ' function slice failed' , warn= .true. )
78
+ call check(slice(test_char, 7 , 7 , 3 ) == " g" , &
79
+ ' function slice failed' , warn= .true. )
76
80
call check(slice(test_string, 7 , 7 , 3 ) == " g" , &
77
- ' function slice failed' , warn= .false. )
78
- call check(slice(test_string, 7 , 7 , 3 ) == " g" , &
79
- ' function slice failed' , warn= .false. )
80
- call check(slice(test_string, 7 , - 10 ) == " gfedcba" , &
81
- ' function slice failed' , warn= .false. )
81
+ ' function slice failed' , warn= .true. )
82
+ call check(slice(test_char, 7 , - 10 ) == " gfedcba" , &
83
+ ' function slice failed' , warn= .true. )
82
84
call check(slice(test_string, 500 , 22 ) == " zyxwv" , &
83
- ' function slice failed' , warn= .false . )
85
+ ' function slice failed' , warn= .true . )
84
86
85
87
test_string = " "
88
+ test_char = " "
86
89
call check(slice(test_string, 2 , 16 , 3 ) == " " , &
87
- ' function slice failed' , warn= .false. )
90
+ ' function slice failed' , warn= .true. )
91
+ call check(slice(test_char, 2 , 16 , 3 ) == " " , &
92
+ ' function slice failed' , warn= .true. )
88
93
89
94
end subroutine test_slice_string
90
95
0 commit comments