(t *testing.T)
| 185 | } |
| 186 | |
| 187 | func TestIsPrefixSearchScan(t *testing.T) { |
| 188 | regs := "(.+)" |
| 189 | bucket := "test_prefix_search_scan" |
| 190 | t.Run("if prefix and search scanning not found the result return true", func(t *testing.T) { |
| 191 | withDefaultDB(t, func(t *testing.T, db *DB) { |
| 192 | { |
| 193 | txCreateBucket(t, db, DataStructureBTree, bucket, nil) |
| 194 | |
| 195 | tx, err := db.Begin(true) |
| 196 | require.NoError(t, err) |
| 197 | for i := 0; i <= 10; i++ { |
| 198 | key := []byte("key_" + fmt.Sprintf("%07d", i)) |
| 199 | val := []byte("val" + fmt.Sprintf("%07d", i)) |
| 200 | err = tx.Put(bucket, key, val, Persistent) |
| 201 | assert.NoError(t, err) |
| 202 | } |
| 203 | assert.NoError(t, tx.Commit()) |
| 204 | } |
| 205 | { |
| 206 | tx, err = db.Begin(false) |
| 207 | require.NoError(t, err) |
| 208 | prefix := []byte("key_") |
| 209 | es, err := tx.PrefixSearchScan(bucket, prefix, regs, 0, 10) |
| 210 | assert.NoError(t, tx.Commit()) |
| 211 | assert.NotEmpty(t, es) |
| 212 | got := IsPrefixSearchScan(err) |
| 213 | assert.Equal(t, false, got) |
| 214 | } |
| 215 | { |
| 216 | tx, err = db.Begin(false) |
| 217 | require.NoError(t, err) |
| 218 | prefix := []byte("foo_") |
| 219 | es, err := tx.PrefixSearchScan(bucket, prefix, regs, 0, 10) |
| 220 | assert.NoError(t, tx.Commit()) |
| 221 | assert.Empty(t, es) |
| 222 | got := IsPrefixSearchScan(err) |
| 223 | assert.Equal(t, true, got) |
| 224 | } |
| 225 | }) |
| 226 | }) |
| 227 | } |
nothing calls this directly
no test coverage detected