• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / #37433

pending completion
#37433

push

local

web-flow
Merge pull request #48513 from JuliaLang/jn/extend-once

ensure extension triggers are only run by the package that satified them

60 of 60 new or added lines in 1 file covered. (100.0%)

72324 of 82360 relevant lines covered (87.81%)

31376331.4 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.65
/stdlib/Base64/src/buffer.jl
1
# This file is a part of Julia. License is MIT: https://julialang.org/license
2

3
# Data buffer for pipes.
4
mutable struct Buffer
5
    data::Vector{UInt8}
6
    ptr::Ptr{UInt8}
7
    size::Int
8

9
    function Buffer(bufsize)
3,034✔
10
        data = Vector{UInt8}(undef, bufsize)
3,034✔
11
        return new(data, pointer(data), 0)
3,034✔
12
    end
13
end
14

15
Base.empty!(buffer::Buffer) = buffer.size = 0
3,109✔
16
Base.getindex(buffer::Buffer, i::Integer) = unsafe_load(buffer.ptr, i)
4,824,379✔
17
Base.setindex!(buffer::Buffer, v::UInt8, i::Integer) = unsafe_store!(buffer.ptr, v, i)
201,929✔
18
Base.firstindex(buffer::Buffer) = 1
×
19
Base.lastindex(buffer::Buffer) = buffer.size
3,476,998✔
20
Base.pointer(buffer::Buffer) = buffer.ptr
1,088✔
21
capacity(buffer::Buffer) = Int(pointer(buffer.data, lastindex(buffer.data) + 1) - buffer.ptr)
59,639✔
22

23
function consumed!(buffer::Buffer, n::Integer)
14,886✔
24
    @assert n ≤ buffer.size
14,886✔
25
    buffer.ptr += n
14,886✔
26
    buffer.size -= n
14,886✔
27
end
28

29
function read_to_buffer(io::IO, buffer::Buffer)
11,777✔
30
    offset = buffer.ptr - pointer(buffer.data)
11,777✔
31
    copyto!(buffer.data, 1, buffer.data, offset + 1, buffer.size)
11,777✔
32
    buffer.ptr = pointer(buffer.data)
11,777✔
33
    if !eof(io)
11,777✔
34
        n = min(bytesavailable(io), capacity(buffer) - buffer.size)
10,551✔
35
        unsafe_read(io, buffer.ptr + buffer.size, n)
10,551✔
36
        buffer.size += n
10,551✔
37
    end
38
    return
11,777✔
39
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc