This is old code, and it handles a lot of unique UI/API cases.
2 things to bear in mind:
- An authentication token can expire mid-way through an upload queue, which means it has to re-authenticate and resume uploading
- A user could upload from the gallery page and from the background page (e.g. screenshot) at the same time
- Drag and drop 10x images onto gallery page
- In dev tools run
model.authenticated.oAuthManager.invalidateToken()
- Watch for re-authentication
- Images resume uploading
- Drag and drop 10x images onto gallery page
- In dev tools run
model.authenticated.oAuthManager.invalidateRefreshToken()
- Watch for re-authentication fail
- Watch error state
- Drag and drop 10x images onto gallery page
- Take screenshot of web page
- Watch for success of both upload streams
- Connect to imgur
- Follow authentication process
- Main UI refreshes
- Context menus update
- Disconnect from imgur (in Options)
- Main UI refreshes
- Context menus update
- If image item is an album, show cover
- Infinite scroll works
- Infinite scroll works when switching albums
- Handle gifv
- Handle copy and paste
- Handle file drag and drop
- Check every option works
- Check every type works and links work
- Load previous version
- Upload images without authentication
- Load new version
- Check that images are still present