123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- -- objects put in their own test methods to test all attributes and class methods
- -- File (love.filesystem.newFile)
- love.test.objects.File = function(test)
- -- setup a file to play with
- local file1 = love.filesystem.openFile('data.txt', 'w')
- file1:write('helloworld')
- test:assertObject(file1)
- file1:close()
- -- test read mode
- file1:open('r')
- test:assertEquals('r', file1:getMode(), 'check read mode')
- local contents, size = file1:read()
- test:assertEquals('helloworld', contents)
- test:assertEquals(10, size, 'check file read')
- test:assertEquals(10, file1:getSize())
- local ok, err = file1:write('hello')
- test:assertNotEquals(nil, err, 'check cant write in read mode')
- local iterator = file1:lines()
- test:assertNotEquals(nil, iterator, 'check can read lines')
- test:assertEquals('data.txt', file1:getFilename(), 'check filename matches')
- file1:close()
- -- test write mode
- file1:open('w')
- test:assertEquals('w', file1:getMode(), 'check write mode')
- contents, size = file1:read()
- test:assertEquals(nil, contents, 'check cant read file in write mode')
- test:assertEquals('string', type(size), 'check err message shown')
- ok, err = file1:write('helloworld')
- test:assertEquals(true, ok, 'check file write')
- test:assertEquals(nil, err, 'check no err writing')
- -- test open/closing
- file1:open('r')
- test:assertEquals(true, file1:isOpen(), 'check file is open')
- file1:close()
- test:assertEquals(false, file1:isOpen(), 'check file gets closed')
- file1:close()
- -- test buffering
- -- @NOTE think I'm just not understanding how this is supposed to work?
- -- I thought if buffering is enabled then nothing should get written until
- -- buffer overflows?
- file1:open('a')
- ok, err = file1:setBuffer('full', 10000)
- test:assertEquals(true, ok)
- test:assertEquals('full', file1:getBuffer())
- file1:write('morecontent')
- file1:close()
- file1:open('r')
- contents, size = file1:read()
- test:assertEquals('helloworld', contents, 'check buffered content wasnt written')
- file1:close()
- -- test buffering and flushing
- file1:open('w')
- ok, err = file1:setBuffer('full', 10000)
- test:assertEquals(true, ok)
- test:assertEquals('full', file1:getBuffer())
- file1:write('replacedcontent')
- file1:flush()
- file1:close()
- file1:open('r')
- contents, size = file1:read()
- test:assertEquals('replacedcontent', contents, 'check buffered content was written')
- file1:close()
- -- loop through file data with seek/tell until EOF
- file1:open('r')
- local counter = 0
- for i=1,100 do
- file1:seek(i)
- test:assertEquals(i, file1:tell())
- if file1:isEOF() == true then
- counter = i
- break
- end
- end
- test:assertEquals(counter, 15)
- file1:close()
- file1:release()
- end
- -- Source (love.audio.newSource)
- -- love.test.objects.Source = function(test)
- -- local source1 = love.audio.newSource('resources/click.ogg', 'static')
- --source1:clone()
- --source1:getChannelCount()
- --source1:getDuration()
- --source1:isRelative()
- --source1:queue()
- --source1:getFreeBufferCount()
- --source1:getType()
- --source1:isPlaying()
- --source1:play()
- --source1:pause()
- --source1:stop()
- --source1:seek()
- --source1:tell()
- --source1:isLooping()
- --source1:setLooping()
- --source1:setAirAbsorption()
- --source1:getAirAbsorption()
- --source1:setAttenuationDistances()
- --source1:getAttenuationDistances()
- --source1:setCone()
- --source1:getCone()
- --source1:setDirection()
- --source1:getDirection()
- --source1:setEffect()
- --source1:getEffect()
- --source1:getActiveEffects()
- --source1:setFilter()
- --source1:getFilter()
- --source1:setPitch()
- --source1:getPitch()
- --source1:setPosition()
- --source1:getPosition()
- --source1:setRelative()
- --source1:setRolloff()
- --source1:getRolloff()
- --source1:setVelocity()
- --source1:getVelocity()
- --source1:setVolume()
- --source1:getVolume()
- --source1:setVolumeLimits()
- --source1:getVolumeLimits()
- -- end
- -- FileData (love.filesystem.newFileData)
- -- ByteData (love.data.newByteData)
- -- DataView (love.data.newDataView)
- -- FontData (love.font.newFontData)
- -- GlyphData (love.font.newGlyphData)
- -- Rasterizer (love.font.newRasterizer)
- -- CompressedImageData (love.image.newCompressedImageData)
- -- ImageData (love.image.newImageData)
- -- BezierCurve (love.math.newBezierCurve)
- -- RandomGenerator (love.math.RandomGenerator)
- -- Transform (love.math.Transform)
- -- Decoder (love.sound.newDecoder)
- -- SoundData (love.sound.newSoundData)
- -- Channel (love.thread.newChannel)
- -- Thread (love.thread.newThread)
- -- VideoStream (love.thread.newVideoStream)
- -- all the stuff from love.physics! barf
- -- (love.graphics objs)
- -- Canvas
- -- Font
- -- Image
- -- Framebugger
- -- Mesh
- -- ParticleSystem
- -- PixelEffect
- -- Quad
- -- Shader
- -- SpriteBatch
- -- Text
- -- Video
|