Skip to content

Commit

Permalink
test/commit*: add tests for commit (fix #73)
Browse files Browse the repository at this point in the history
  • Loading branch information
jreybert committed Mar 11, 2016
1 parent 06e8bea commit ad71476
Show file tree
Hide file tree
Showing 7 changed files with 204 additions and 0 deletions.
78 changes: 78 additions & 0 deletions test/commit.vader
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Include: setup.inc

Execute (Stage untracked file with magit#stage_hunk on end hunk):
call Cd_test_sub()
Magit

Log("Stage first hunk")
call Search_file('unstaged', 0)
call magit#open_close_folding(1)
/^@@
call Move_relative(+3)
call Cursor_position()
call magit#stage_hunk(0)

Log("Check first stage")
call Cd_test()
let diff=Git_diff('staged', Get_filename(0))
call Expect_diff(g:test_script_dir . 'commit/commit_diff1.expect', diff)
call Cd_test_sub()

Log("Start a commit")
call magit#commit_command('CC')
call append(line('.'), ['Add bootstrap file', '', 'Some description text', 'On multiple lines', '', 'With blanks'])

Log("Stage a second hunk")
call Search_file('unstaged', 1)
call magit#stage_hunk(0)

Log("Check second stage")
call Cd_test()
let diff=Git_diff('staged', Get_filename(1))
call Expect_diff(g:test_script_dir . 'commit/commit_diff2.expect', diff)

Log("Complete commit message")
call magit#commit_command('CC')
call append(line('.'), ['Add more line after refresh', ''])
call Cd_test_sub()

Log("Update buffer")
call cursor(1, 0)
call magit#update_buffer()
call cursor(line('$'), 0)
call magit#update_buffer()

call magit#commit_command('CC')
call magit#commit_command('CC')
call Cd_test()
let commit_msg=Git_commit_msg('HEAD')
call Expect_diff(g:test_script_dir . 'commit/commit_commit1.expect', commit_msg)

Log("Stage third hunk")
call Search_file('unstaged', 0)
call magit#open_close_folding(1)
/^@@
call magit#stage_hunk(0)

Log("Check third stage")
call Cd_test()
let diff=Git_diff('staged', Get_filename(0))
call Expect_diff(g:test_script_dir . 'commit/commit_diff3.expect', diff)

Log("Start a commit")
call magit#commit_command('CC')
call append(line('.'), ['Dont want these lines'])
call Cd_test_sub()

Log("Close commit")
call magit#close_commit()

Log("Finish commit")
call magit#commit_command('CC')
call append(line('.'), ['Uber commit message'])
call magit#commit_command('CC')
call Cd_test()
let commit_msg=Git_commit_msg('HEAD')
call Expect_diff(g:test_script_dir . 'commit/commit_commit2.expect', commit_msg)

Include: cleanup.inc
31 changes: 31 additions & 0 deletions test/commit/commit_commit1.expect
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Add more line after refresh

Add bootstrap file

Some description text
On multiple lines

With blanks


diff --git books/models.py books/models.py
--- books/models.py
+++ books/models.py
@@ -1,5 +1,9 @@
from django.db import models

+import urllib2 as urllib
+from PIL import Image
+import io
+
import isbn_search

class User(models.Model):
diff --git bootstrap bootstrap
new file mode 100755
--- /dev/null
+++ bootstrap
@@ -0,0 +1,3 @@
+pip install --user python-amazon-simple-product-api django
+python manage.py migrate
+python manage.py makemigrations books
38 changes: 38 additions & 0 deletions test/commit/commit_commit2.expect
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Uber commit message


diff --git books/models.py books/models.py
--- books/models.py
+++ books/models.py
@@ -24,20 +24,26 @@ class BookManager(models.Manager):
eisbn = product.eisbn,
author = product.author,
title = product.title,
- edition = product.edition
+ edition = product.edition,
)
+ if product.cover_url is not '':
+ cover_img_bin = urllib.urlopen(product.cover_url)
+ cover_img_file = Image.open(io.BytesIO(cover_img_bin.read()))
+ book.cover_img.save("cover.jpg", cover_img_file)
return book

+def upload_path(book, filename):
+ return 'covers/%s/%s' % (book.isbn, filename)
+
class Book(models.Model):
isbn = models.CharField(max_length=10, unique=True)
- eisbn = models.CharField(max_length=13, blank=True)
+ eisbn = models.CharField(max_length=13, blank=True, null=True)
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
- edition = models.CharField(max_length=200, blank=True)
- cover = models.ImageField(upload_to='covers', blank=True)
+ edition = models.CharField(max_length=200, blank=True, null=True)
+ cover_img = models.ImageField(upload_to=upload_path)
def __unicode__(self):
return u'[%s] "%s" by %s' % (self.isbn, self.title, self.author,)
-
objects = BookManager()


13 changes: 13 additions & 0 deletions test/commit/commit_diff1.expect
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git books/models.py books/models.py
--- books/models.py
+++ books/models.py
@@ -1,5 +1,9 @@
from django.db import models

+import urllib2 as urllib
+from PIL import Image
+import io
+
import isbn_search

class User(models.Model):
8 changes: 8 additions & 0 deletions test/commit/commit_diff2.expect
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
diff --git bootstrap bootstrap
new file mode 100755
--- /dev/null
+++ bootstrap
@@ -0,0 +1,3 @@
+pip install --user python-amazon-simple-product-api django
+python manage.py migrate
+python manage.py makemigrations books
35 changes: 35 additions & 0 deletions test/commit/commit_diff3.expect
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git books/models.py books/models.py
--- books/models.py
+++ books/models.py
@@ -24,20 +24,26 @@ class BookManager(models.Manager):
eisbn = product.eisbn,
author = product.author,
title = product.title,
- edition = product.edition
+ edition = product.edition,
)
+ if product.cover_url is not '':
+ cover_img_bin = urllib.urlopen(product.cover_url)
+ cover_img_file = Image.open(io.BytesIO(cover_img_bin.read()))
+ book.cover_img.save("cover.jpg", cover_img_file)
return book

+def upload_path(book, filename):
+ return 'covers/%s/%s' % (book.isbn, filename)
+
class Book(models.Model):
isbn = models.CharField(max_length=10, unique=True)
- eisbn = models.CharField(max_length=13, blank=True)
+ eisbn = models.CharField(max_length=13, blank=True, null=True)
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
- edition = models.CharField(max_length=200, blank=True)
- cover = models.ImageField(upload_to='covers', blank=True)
+ edition = models.CharField(max_length=200, blank=True, null=True)
+ cover_img = models.ImageField(upload_to=upload_path)
def __unicode__(self):
return u'[%s] "%s" by %s' % (self.isbn, self.title, self.author,)
-
objects = BookManager()


1 change: 1 addition & 0 deletions test/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ declare -A test_scripts=(
[ignoreFile.vader]='bootstrap'
[addDir.vader]='newdir\/'
[jump.vader]='books\/models.py|27|60|books\/isbn_search.py|54'
[commit.vader]='books/models.py|bootstrap'
#[addSubmodule.vader]='subdjooks'
)

0 comments on commit ad71476

Please sign in to comment.