2015-11-09 07:49:11 +01:00
Feature : Downloading things from a website.
Background :
2016-03-14 19:06:16 +01:00
Given I s e t u p a t e m p o r a r y d o w n l o a d d i r
And I c l e a n o l d d o w n l o a d s
2015-11-09 07:49:11 +01:00
Scenario : Downloading which redirects with closed tab (issue 889)
When I s e t t a b s - > l a s t - c l o s e t o b l a n k
And I o p e n d a t a / d o w n l o a d s / i s s u e 889. h t m l
And I r u n : h i n t l i n k s d o w n l o a d
And I r u n : f o l l o w - h i n t a
And I r u n : t a b - c l o s e
And I w a i t f o r " * H a n d l i n g r e d i r e c t " i n t h e l o g
Then n o c r a s h s h o u l d h a p p e n
Scenario : Downloading with error in closed tab (issue 889)
When I s e t t a b s - > l a s t - c l o s e t o b l a n k
And I o p e n d a t a / d o w n l o a d s / i s s u e 889. h t m l
And I r u n : h i n t l i n k s d o w n l o a d
And I r u n : f o l l o w - h i n t s
And I r u n : t a b - c l o s e
And I w a i t f o r t h e e r r o r " D o w n l o a d e r r o r : * - s e r v e r r e p l i e d : N O T F O U N D "
And I r u n : d o w n l o a d - r e t r y
And I w a i t f o r t h e e r r o r " D o w n l o a d e r r o r : * - s e r v e r r e p l i e d : N O T F O U N D "
Then n o c r a s h s h o u l d h a p p e n
2016-01-26 22:37:46 +01:00
Scenario : Downloading a link without path information (issue 1243)
When I s e t c o m p l e t i o n - > d o w n l o a d - p a t h - s u g g e s t i o n t o f i l e n a m e
And I s e t s t o r a g e - > p r o m p t - d o w n l o a d - d i r e c t o r y t o t r u e
And I o p e n d a t a / d o w n l o a d s / i s s u e 1243. h t m l
And I r u n : h i n t l i n k s d o w n l o a d
And I r u n : f o l l o w - h i n t a
And I w a i t f o r " A s k i n g q u e s t i o n <qutebrowser.utils.usertypes.Question default='qutebrowser-download' mode=<PromptMode.text: 2> t e x t = ' S a v e f i l e t o : ' > , * " i n t h e l o g
And I r u n : l e a v e - m o d e
Then n o c r a s h s h o u l d h a p p e n
2016-02-18 16:17:35 +01:00
Scenario : Downloading a data: link (issue 1214)
When I s e t c o m p l e t i o n - > d o w n l o a d - p a t h - s u g g e s t i o n t o f i l e n a m e
And I s e t s t o r a g e - > p r o m p t - d o w n l o a d - d i r e c t o r y t o t r u e
And I o p e n d a t a / d o w n l o a d s / i s s u e 1214. h t m l
And I r u n : h i n t l i n k s d o w n l o a d
And I r u n : f o l l o w - h i n t a
And I w a i t f o r " A s k i n g q u e s t i o n <qutebrowser.utils.usertypes.Question default='binary blob' mode=<PromptMode.text: 2> t e x t = ' S a v e f i l e t o : ' > , * " i n t h e l o g
And I r u n : l e a v e - m o d e
Then n o c r a s h s h o u l d h a p p e n
2015-11-09 07:49:11 +01:00
Scenario : Retrying a failed download
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d o e s - n o t - e x i s t
And I w a i t f o r t h e e r r o r " D o w n l o a d e r r o r : * - s e r v e r r e p l i e d : N O T F O U N D "
And I r u n : d o w n l o a d - r e t r y
And I w a i t f o r t h e e r r o r " D o w n l o a d e r r o r : * - s e r v e r r e p l i e d : N O T F O U N D "
Then t h e r e q u e s t s s h o u l d b e :
d o e s - n o t - e x i s t
d o e s - n o t - e x i s t
Scenario : Retrying with no failed downloads
When I o p e n d a t a / d o w n l o a d s / d o w n l o a d . b i n
And I w a i t u n t i l t h e d o w n l o a d i s f i n i s h e d
And I r u n : d o w n l o a d - r e t r y
2015-11-26 17:50:39 +01:00
Then t h e e r r o r " N o f a i l e d d o w n l o a d s ! " s h o u l d b e s h o w n
2015-11-09 07:49:11 +01:00
Scenario : Retrying with no downloads
When I r u n : d o w n l o a d - r e t r y
2015-11-26 17:50:39 +01:00
Then t h e e r r o r " N o f a i l e d d o w n l o a d s ! " s h o u l d b e s h o w n
2015-11-20 18:31:39 +01:00
Scenario : :download with deprecated dest-old argument
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d e p r e c a t e d - a r g u m e n t
2015-11-26 17:50:39 +01:00
Then t h e w a r n i n g " : d o w n l o a d [ u r l ] [ d e s t ] i s d e p r e c a t e d - u s e d o w n l o a d - - d e s t [ d e s t ] [ u r l ] " s h o u l d b e s h o w n
2015-11-20 18:31:39 +01:00
Scenario : Two destinations given
When I r u n : d o w n l o a d - - d e s t d e s t i n a t i o n 2 h t t p : / / l o c a l h o s t : ( p o r t ) / d e s t i n a t i o n 1
2015-11-26 17:50:39 +01:00
Then t h e w a r n i n g " : d o w n l o a d [ u r l ] [ d e s t ] i s d e p r e c a t e d - u s e d o w n l o a d - - d e s t [ d e s t ] [ u r l ] " s h o u l d b e s h o w n
And t h e e r r o r " C a n ' t g i v e t w o d e s t i n a t i o n s f o r t h e d o w n l o a d . " s h o u l d b e s h o w n
2015-11-20 18:31:39 +01:00
Scenario : :download --mhtml with an URL given
When I r u n : d o w n l o a d - - m h t m l h t t p : / / f o o b a r /
2015-11-26 17:50:39 +01:00
Then t h e e r r o r " C a n o n l y d o w n l o a d t h e c u r r e n t p a g e a s m h t m l . " s h o u l d b e s h o w n
2015-11-20 18:31:39 +01:00
Scenario : Downloading as mhtml is available
When I o p e n h t m l
And I r u n : d o w n l o a d - - m h t m l
2015-11-21 12:45:57 +01:00
And I w a i t f o r " F i l e s u c c e s s f u l l y w r i t t e n . " i n t h e l o g
2015-11-20 18:31:39 +01:00
Then n o c r a s h s h o u l d h a p p e n
Scenario : Downloading as mhtml with non-ASCII headers
When I o p e n r e s p o n s e - h e a d e r s ? C o n t e n t - T y p e = t e x t % 2 F p l % C 3 % A 4 i n
2015-11-21 12:37:26 +01:00
And I r u n : d o w n l o a d - - m h t m l - - d e s t m h t m l - r e s p o n s e - h e a d e r s . m h t
2015-11-21 12:45:57 +01:00
And I w a i t f o r " F i l e s u c c e s s f u l l y w r i t t e n . " i n t h e l o g
2015-11-20 18:31:39 +01:00
Then n o c r a s h s h o u l d h a p p e n
2016-03-14 19:06:42 +01:00
## :download-cancel
Scenario : Cancelling a download
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - c a n c e l
Then " c a n c e l l e d " s h o u l d b e l o g g e d
Scenario : Cancelling a download which does not exist
When I r u n : d o w n l o a d - c a n c e l w i t h c o u n t 42
Then t h e e r r o r " T h e r e ' s n o d o w n l o a d 4 2 ! " s h o u l d b e s h o w n
Scenario : Cancelling a download which is already done
When I o p e n d a t a / d o w n l o a d s / d o w n l o a d . b i n
And I w a i t u n t i l t h e d o w n l o a d i s f i n i s h e d
And I r u n : d o w n l o a d - c a n c e l
Then t h e e r r o r " D o w n l o a d 1 i s a l r e a d y d o n e ! " s h o u l d b e s h o w n
Scenario : Cancelling a download which is already done (with count)
When I o p e n d a t a / d o w n l o a d s / d o w n l o a d . b i n
And I w a i t u n t i l t h e d o w n l o a d i s f i n i s h e d
And I r u n : d o w n l o a d - c a n c e l w i t h c o u n t 1
Then t h e e r r o r " D o w n l o a d 1 i s a l r e a d y d o n e ! " s h o u l d b e s h o w n
Scenario : Cancelling all downloads
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - c a n c e l - - a l l
Then " c a n c e l l e d " s h o u l d b e l o g g e d
And " c a n c e l l e d " s h o u l d b e l o g g e d
## :download-delete
Scenario : Deleting a download
When I o p e n d a t a / d o w n l o a d s / d o w n l o a d . b i n
And I w a i t u n t i l t h e d o w n l o a d i s f i n i s h e d
And I r u n : d o w n l o a d - d e l e t e
Then t h e d o w n l o a d e d f i l e d o w n l o a d . b i n s h o u l d n o t e x i s t
Scenario : Deleting a download which does not exist
When I r u n : d o w n l o a d - d e l e t e w i t h c o u n t 42
Then t h e e r r o r " T h e r e ' s n o d o w n l o a d 4 2 ! " s h o u l d b e s h o w n
Scenario : Deleting a download which is not done yet
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - d e l e t e
Then t h e e r r o r " D o w n l o a d 1 i s n o t d o n e ! " s h o u l d b e s h o w n
Scenario : Deleting a download which is not done yet (with count)
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - d e l e t e w i t h c o u n t 1
Then t h e e r r o r " D o w n l o a d 1 i s n o t d o n e ! " s h o u l d b e s h o w n
## :download-open
# Scenario: Opening a download
# When I open data/downloads/download.bin
# And I wait until the download is finished
# And I run :download-open
# Then ...
Scenario : Opening a download which does not exist
When I r u n : d o w n l o a d - o p e n w i t h c o u n t 42
Then t h e e r r o r " T h e r e ' s n o d o w n l o a d 4 2 ! " s h o u l d b e s h o w n
Scenario : Opening a download which is not done yet
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - o p e n
Then t h e e r r o r " D o w n l o a d 1 i s n o t d o n e ! " s h o u l d b e s h o w n
Scenario : Opening a download which is not done yet (with count)
When I r u n : d o w n l o a d h t t p : / / l o c a l h o s t : ( p o r t ) / d r i p ? n u m b y t e s = 128 & d u r a t i o n = 5
And I r u n : d o w n l o a d - o p e n w i t h c o u n t 1
Then t h e e r r o r " D o w n l o a d 1 i s n o t d o n e ! " s h o u l d b e s h o w n
2016-03-31 19:09:43 +02:00
## https://github.com/The-Compiler/qutebrowser/issues/1242
Scenario : Closing window with remove-finished-downloads timeout
When I s e t u i - > r e m o v e - f i n i s h e d - d o w n l o a d s t o 500
And I o p e n d a t a / d o w n l o a d s / d o w n l o a d . b i n i n a n e w w i n d o w
And I w a i t u n t i l t h e d o w n l o a d i s f i n i s h e d
And I r u n : c l o s e
And I w a i t 0.5 s
Then n o c r a s h s h o u l d h a p p e n