Redmine 3.4.4
This commit is contained in:
commit
64924a6376
2112 changed files with 259028 additions and 0 deletions
70
test/coverage/html_formatter.rb
Normal file
70
test/coverage/html_formatter.rb
Normal file
|
@ -0,0 +1,70 @@
|
|||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require 'erb'
|
||||
require 'cgi'
|
||||
|
||||
# A simple formatter for SimpleCov
|
||||
module Redmine
|
||||
module Coverage
|
||||
class HtmlFormatter
|
||||
def format(result)
|
||||
File.open(File.join(output_path, "index.html"), "w") do |file|
|
||||
file.puts template('index').result(binding)
|
||||
end
|
||||
result.source_files.each do |source_file|
|
||||
File.open(File.join(output_path, source_file_result(source_file)), "w") do |file|
|
||||
file.puts template('source').result(binding)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def now
|
||||
@now = Time.now.utc
|
||||
end
|
||||
|
||||
def output_path
|
||||
SimpleCov.coverage_path
|
||||
end
|
||||
|
||||
def shortened_filename(source_file)
|
||||
source_file.filename.gsub(SimpleCov.root, '.').gsub(/^\.\//, '')
|
||||
end
|
||||
|
||||
def link_to_source_file(source_file)
|
||||
%(<a href="#{source_file_result source_file}">#{shortened_filename source_file}</a>)
|
||||
end
|
||||
|
||||
def source_file_result(source_file)
|
||||
shortened_filename(source_file).gsub('/', '__')+'.html'
|
||||
end
|
||||
|
||||
def revision_link
|
||||
if revision = Redmine::VERSION.revision
|
||||
%(<a href="http://www.redmine.org/projects/redmine/repository/revisions/#{revision}">r#{revision}</a>)
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the an erb instance for the template of given name
|
||||
def template(name)
|
||||
ERB.new(File.read(File.join(File.dirname(__FILE__), 'views', "#{name}.erb")))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
60
test/coverage/views/index.erb
Normal file
60
test/coverage/views/index.erb
Normal file
|
@ -0,0 +1,60 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Redmine code coverage</title>
|
||||
<style>
|
||||
html {overflow-y:scroll;}
|
||||
body {font-family:"Lucida Grande","Lucida Sans",Verdana,Helvetica,Arial,sans-serif; font-size:80%;}
|
||||
h1 {color:#777; margin-bottom:0.2em;}
|
||||
h2 {color:#aaa;margin-top:1em;font-size:18px;}
|
||||
table {width:100%; border-collapse:collapse;}
|
||||
th, td {border:1px solid #e2e2e2;}
|
||||
td {text-align:right; font-family:"Bitstream Vera Sans Mono","Monaco","Courier New",monospace;}
|
||||
td.filename {text-align:left; font-family:"Lucida Grande","Lucida Sans",Verdana,Helvetica,Arial,sans-serif;}
|
||||
th {background:#e2e2e2;}
|
||||
#generation {color:#777; font-size:90%;}
|
||||
a, a:link, a:visited {color:#169; text-decoration:none;}
|
||||
a:hover, a:active {color:#c61a1a; text-decoration:underline;}
|
||||
div.percent {height:1em; empty-cells:show; padding:0px; border-collapse:collapse; width:100px !important; float:left; margin:0 0.5em 0 0.5em;}
|
||||
div.percent div {float:left; height:1em; padding:0px !important;}
|
||||
div.percent div.covered {background:#8c7;}
|
||||
div.percent div.uncovered {background:#d76;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Redmine code coverage</h1>
|
||||
<p id='generation'>
|
||||
Generated on <%= now %> (<%= revision_link %>).
|
||||
More information about this environment at <a href='http://www.redmine.org/projects/redmine/wiki/Continuous_integration'>redmine.org</a>.
|
||||
</p>
|
||||
|
||||
<table class="file_list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th colspan="2">% covered</th>
|
||||
<th>Lines</th>
|
||||
<th>Relevant</th>
|
||||
<th>Covered</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% result.source_files.each do |source_file| %>
|
||||
<tr>
|
||||
<td class="filename"><%= link_to_source_file(source_file) %></td>
|
||||
<td><%= "%.1f" % source_file.covered_percent %> %</td>
|
||||
<td>
|
||||
<div class="percent">
|
||||
<div class="covered" style="width:<%= source_file.covered_percent.to_i %>px"></div>
|
||||
<div class="uncovered" style="width:<%= 100 - source_file.covered_percent.to_i %>px"></div>
|
||||
</div>
|
||||
</td>
|
||||
<td><%= source_file.lines.count %></td>
|
||||
<td><%= source_file.covered_lines.count + source_file.missed_lines.count %></td>
|
||||
<td><%= source_file.covered_lines.count %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
41
test/coverage/views/source.erb
Normal file
41
test/coverage/views/source.erb
Normal file
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Redmine code coverage</title>
|
||||
<style>
|
||||
html {overflow-y:scroll;}
|
||||
body {font-family:"Lucida Grande","Lucida Sans",Verdana,Helvetica,Arial,sans-serif; font-size:80%;}
|
||||
h1 {color:#777; margin-bottom:0.2em;}
|
||||
h2 {color:#aaa; margin-top:1em; font-size:18px;}
|
||||
#generation {color:#777; font-size:90%;}
|
||||
a, a:link, a:visited {color:#169; text-decoration:none;}
|
||||
a:hover, a:active {color:#c61a1a; text-decoration:underline;}
|
||||
pre, code {
|
||||
color: #000000;
|
||||
font-family: "Bitstream Vera Sans Mono","Monaco","Courier New",monospace;
|
||||
font-size: 95%;
|
||||
line-height: 1.3em;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding: 0;
|
||||
}
|
||||
div.source {border:1px solid #e2e2e2;}
|
||||
.covered {background:#bed2be;}
|
||||
.missed {background:#fba;}
|
||||
.never {background:#eee;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Redmine code coverage</h1>
|
||||
<p id='generation'>
|
||||
Generated on <%= now %> (<%= revision_link %>).
|
||||
More information about this environment at <a href='http://www.redmine.org/projects/redmine/wiki/Continuous_integration'>redmine.org</a>.
|
||||
</p>
|
||||
<h2><%= shortened_filename source_file %> (<%= "%.1f" % source_file.covered_percent %> %)</h2>
|
||||
|
||||
<div class="source">
|
||||
<% source_file.lines.each_with_index do |line, i| %>
|
||||
<pre class="<%= line.status %>" data-hits="<%= line.coverage ? line.coverage : '' %>" data-linenumber="<%= line.number %>"
|
||||
><code class="ruby"><%= i.to_s.rjust 4 %> <%= CGI.escapeHTML(line.src.chomp) %></code></pre>
|
||||
<% end %>
|
||||
</div>
|
97
test/extra/redmine_pm/repository_git_test_pm.rb
Normal file
97
test/extra/redmine_pm/repository_git_test_pm.rb
Normal file
|
@ -0,0 +1,97 @@
|
|||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require File.expand_path('../test_case', __FILE__)
|
||||
require 'tmpdir'
|
||||
|
||||
class RedminePmTest::RepositoryGitTest < RedminePmTest::TestCase
|
||||
fixtures :projects, :users, :members, :roles, :member_roles
|
||||
|
||||
GIT_BIN = Redmine::Configuration['scm_git_command'] || "git"
|
||||
|
||||
def test_anonymous_read_on_public_repo_with_permission_should_succeed
|
||||
assert_success "ls-remote", git_url
|
||||
end
|
||||
|
||||
def test_anonymous_read_on_public_repo_without_permission_should_fail
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
assert_failure "ls-remote", git_url
|
||||
end
|
||||
|
||||
def test_invalid_credentials_should_fail
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "ls-remote", git_url
|
||||
end
|
||||
with_credentials "dlopper", "wrong" do
|
||||
assert_failure "ls-remote", git_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_clone
|
||||
Dir.mktmpdir do |dir|
|
||||
Dir.chdir(dir) do
|
||||
assert_success "clone", git_url
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_write_commands
|
||||
Role.find(2).add_permission! :commit_access
|
||||
filename = random_filename
|
||||
|
||||
Dir.mktmpdir do |dir|
|
||||
assert_success "clone", git_url, dir
|
||||
Dir.chdir(dir) do
|
||||
f = File.new(File.join(dir, filename), "w")
|
||||
f.write "test file content"
|
||||
f.close
|
||||
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "add", filename
|
||||
assert_success "commit -a --message Committing_a_file"
|
||||
assert_success "push", git_url, "--all"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Dir.mktmpdir do |dir|
|
||||
assert_success "clone", git_url, dir
|
||||
Dir.chdir(dir) do
|
||||
assert File.exists?(File.join(dir, "#{filename}"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def execute(*args)
|
||||
a = [GIT_BIN]
|
||||
super a, *args
|
||||
end
|
||||
|
||||
def git_url(path=nil)
|
||||
host = ENV['REDMINE_TEST_DAV_SERVER'] || '127.0.0.1'
|
||||
credentials = nil
|
||||
if username && password
|
||||
credentials = "#{username}:#{password}"
|
||||
end
|
||||
url = "http://#{credentials}@#{host}/git/ecookbook"
|
||||
url << "/#{path}" if path
|
||||
url
|
||||
end
|
||||
end
|
332
test/extra/redmine_pm/repository_subversion_test_pm.rb
Normal file
332
test/extra/redmine_pm/repository_subversion_test_pm.rb
Normal file
|
@ -0,0 +1,332 @@
|
|||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require File.expand_path('../test_case', __FILE__)
|
||||
require 'tmpdir'
|
||||
|
||||
class RedminePmTest::RepositorySubversionTest < RedminePmTest::TestCase
|
||||
fixtures :projects, :users, :members, :roles, :member_roles, :auth_sources, :enabled_modules
|
||||
|
||||
SVN_BIN = Redmine::Configuration['scm_subversion_command'] || "svn"
|
||||
|
||||
def test_anonymous_read_on_public_repo_with_permission_should_succeed
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
|
||||
def test_anonymous_read_on_public_repo_with_anonymous_group_permission_should_succeed
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
Member.create!(:project_id => 1, :principal => Group.anonymous, :role_ids => [2])
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
|
||||
def test_anonymous_read_on_public_repo_without_permission_should_fail
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
|
||||
def test_anonymous_read_on_public_project_with_module_disabled_should_fail
|
||||
Project.find(1).disable_module! :repository
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
|
||||
def test_anonymous_read_on_private_repo_should_fail
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
|
||||
def test_anonymous_commit_on_public_repo_should_fail
|
||||
Role.anonymous.add_permission! :commit_access
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
|
||||
def test_anonymous_commit_on_private_repo_should_fail
|
||||
Role.anonymous.add_permission! :commit_access
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
|
||||
def test_non_member_read_on_public_repo_with_permission_should_succeed
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
with_credentials "miscuser8", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_non_member_read_on_public_repo_with_non_member_group_permission_should_succeed
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
Role.non_member.remove_permission! :browse_repository
|
||||
Member.create!(:project_id => 1, :principal => Group.non_member, :role_ids => [2])
|
||||
with_credentials "miscuser8", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_non_member_read_on_public_repo_without_permission_should_fail
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
Role.non_member.remove_permission! :browse_repository
|
||||
with_credentials "miscuser8", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_non_member_read_on_private_repo_should_fail
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "miscuser8", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_non_member_commit_on_public_repo_should_fail
|
||||
Role.non_member.add_permission! :commit_access
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
|
||||
def test_non_member_commit_on_private_repo_should_fail
|
||||
Role.non_member.add_permission! :commit_access
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
|
||||
def test_member_read_on_public_repo_with_permission_should_succeed
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
Role.non_member.remove_permission! :browse_repository
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_read_on_public_repo_without_permission_should_fail
|
||||
Role.anonymous.remove_permission! :browse_repository
|
||||
Role.non_member.remove_permission! :browse_repository
|
||||
Role.find(2).remove_permission! :browse_repository
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_read_on_private_repo_with_permission_should_succeed
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_read_on_private_repo_without_permission_should_fail
|
||||
Role.find(2).remove_permission! :browse_repository
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_read_on_private_repo_with_module_disabled_should_fail
|
||||
Role.find(2).add_permission! :browse_repository
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
Project.find(1).disable_module! :repository
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_commit_on_public_repo_with_permission_should_succeed
|
||||
Role.find(2).add_permission! :commit_access
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_commit_on_public_repo_without_permission_should_fail
|
||||
Role.find(2).remove_permission! :commit_access
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_commit_on_private_repo_with_permission_should_succeed
|
||||
Role.find(2).add_permission! :commit_access
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_commit_on_private_repo_without_permission_should_fail
|
||||
Role.find(2).remove_permission! :commit_access
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_member_commit_on_private_repo_with_module_disabled_should_fail
|
||||
Role.find(2).add_permission! :commit_access
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
Project.find(1).disable_module! :repository
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_invalid_credentials_should_fail
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
with_credentials "dlopper", "wrong" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_anonymous_read_should_fail_with_login_required
|
||||
assert_success "ls", svn_url
|
||||
with_settings :login_required => '1' do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_authenticated_read_should_succeed_with_login_required
|
||||
with_settings :login_required => '1' do
|
||||
with_credentials "miscuser8", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_read_on_archived_projects_should_fail
|
||||
Project.find(1).update_attribute :status, Project::STATUS_ARCHIVED
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
|
||||
def test_read_on_archived_private_projects_should_fail
|
||||
Project.find(1).update_attribute :status, Project::STATUS_ARCHIVED
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_read_on_closed_projects_should_succeed
|
||||
Project.find(1).update_attribute :status, Project::STATUS_CLOSED
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
|
||||
def test_read_on_closed_private_projects_should_succeed
|
||||
Project.find(1).update_attribute :status, Project::STATUS_CLOSED
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
def test_commit_on_closed_projects_should_fail
|
||||
Project.find(1).update_attribute :status, Project::STATUS_CLOSED
|
||||
Role.find(2).add_permission! :commit_access
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
def test_commit_on_closed_private_projects_should_fail
|
||||
Project.find(1).update_attribute :status, Project::STATUS_CLOSED
|
||||
Project.find(1).update_attribute :is_public, false
|
||||
Role.find(2).add_permission! :commit_access
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_failure "mkdir --message Creating_a_directory", svn_url(random_filename)
|
||||
end
|
||||
end
|
||||
|
||||
if ldap_configured?
|
||||
def test_user_with_ldap_auth_source_should_authenticate_with_ldap_credentials
|
||||
ldap_user = User.new(:mail => 'example1@redmine.org', :firstname => 'LDAP', :lastname => 'user', :auth_source_id => 1)
|
||||
ldap_user.login = 'example1'
|
||||
ldap_user.save!
|
||||
|
||||
with_settings :login_required => '1' do
|
||||
with_credentials "example1", "123456" do
|
||||
assert_success "ls", svn_url
|
||||
end
|
||||
end
|
||||
|
||||
with_settings :login_required => '1' do
|
||||
with_credentials "example1", "wrong" do
|
||||
assert_failure "ls", svn_url
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_checkout
|
||||
Dir.mktmpdir do |dir|
|
||||
assert_success "checkout", svn_url, dir
|
||||
end
|
||||
end
|
||||
|
||||
def test_read_commands
|
||||
assert_success "info", svn_url
|
||||
assert_success "ls", svn_url
|
||||
assert_success "log", svn_url
|
||||
end
|
||||
|
||||
def test_write_commands
|
||||
Role.find(2).add_permission! :commit_access
|
||||
filename = random_filename
|
||||
|
||||
Dir.mktmpdir do |dir|
|
||||
assert_success "checkout", svn_url, dir
|
||||
Dir.chdir(dir) do
|
||||
# creates a file in the working copy
|
||||
f = File.new(File.join(dir, filename), "w")
|
||||
f.write "test file content"
|
||||
f.close
|
||||
|
||||
assert_success "add", filename
|
||||
with_credentials "dlopper", "foo" do
|
||||
assert_success "commit --message Committing_a_file"
|
||||
assert_success "copy --message Copying_a_file", svn_url(filename), svn_url("#{filename}_copy")
|
||||
assert_success "delete --message Deleting_a_file", svn_url(filename)
|
||||
assert_success "mkdir --message Creating_a_directory", svn_url("#{filename}_dir")
|
||||
end
|
||||
assert_success "update"
|
||||
|
||||
# checks that the working copy was updated
|
||||
assert File.exists?(File.join(dir, "#{filename}_copy"))
|
||||
assert File.directory?(File.join(dir, "#{filename}_dir"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_read_invalid_repo_should_fail
|
||||
assert_failure "ls", svn_url("invalid")
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def execute(*args)
|
||||
a = [SVN_BIN, "--no-auth-cache --non-interactive"]
|
||||
a << "--username #{username}" if username
|
||||
a << "--password #{password}" if password
|
||||
|
||||
super a, *args
|
||||
end
|
||||
|
||||
def svn_url(path=nil)
|
||||
host = ENV['REDMINE_TEST_DAV_SERVER'] || '127.0.0.1'
|
||||
url = "http://#{host}/svn/ecookbook"
|
||||
url << "/#{path}" if path
|
||||
url
|
||||
end
|
||||
end
|
82
test/extra/redmine_pm/test_case.rb
Normal file
82
test/extra/redmine_pm/test_case.rb
Normal file
|
@ -0,0 +1,82 @@
|
|||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require File.expand_path('../../../test_helper', __FILE__)
|
||||
|
||||
module RedminePmTest
|
||||
class TestCase < ActiveSupport::TestCase
|
||||
attr_reader :command, :response, :status, :username, :password
|
||||
|
||||
# Cannot use transactional fixtures here: database
|
||||
# will be accessed from Redmine.pm with its own connection
|
||||
self.use_transactional_fixtures = false
|
||||
|
||||
def test_dummy
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def assert_response(expected, msg=nil)
|
||||
case expected
|
||||
when :success
|
||||
assert_equal 0, status,
|
||||
(msg || "The command failed (exit: #{status}):\n #{command}\nOutput was:\n#{formatted_response}")
|
||||
when :failure
|
||||
assert_not_equal 0, status,
|
||||
(msg || "The command succeed (exit: #{status}):\n #{command}\nOutput was:\n#{formatted_response}")
|
||||
else
|
||||
assert_equal expected, status, msg
|
||||
end
|
||||
end
|
||||
|
||||
def assert_success(*args)
|
||||
execute *args
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def assert_failure(*args)
|
||||
execute *args
|
||||
assert_response :failure
|
||||
end
|
||||
|
||||
def with_credentials(username, password)
|
||||
old_username, old_password = @username, @password
|
||||
@username, @password = username, password
|
||||
yield if block_given?
|
||||
ensure
|
||||
@username, @password = old_username, old_password
|
||||
end
|
||||
|
||||
def execute(*args)
|
||||
@command = args.join(' ')
|
||||
@status = nil
|
||||
IO.popen("#{command} 2>&1") do |io|
|
||||
io.set_encoding("ASCII-8BIT") if io.respond_to?(:set_encoding)
|
||||
@response = io.read
|
||||
end
|
||||
@status = $?.exitstatus
|
||||
end
|
||||
|
||||
def formatted_response
|
||||
"#{'='*40}\n#{response}#{'='*40}"
|
||||
end
|
||||
|
||||
def random_filename
|
||||
Redmine::Utils.random_hex(16)
|
||||
end
|
||||
end
|
||||
end
|
270
test/fixtures/attachments.yml
vendored
Normal file
270
test/fixtures/attachments.yml
vendored
Normal file
|
@ -0,0 +1,270 @@
|
|||
---
|
||||
attachments_001:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
downloads: 0
|
||||
content_type: text/plain
|
||||
disk_filename: 060719210727_error281.txt
|
||||
disk_directory: "2006/07"
|
||||
container_id: 3
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 1
|
||||
container_type: Issue
|
||||
filesize: 28
|
||||
filename: error281.txt
|
||||
author_id: 2
|
||||
description: An attachment
|
||||
attachments_002:
|
||||
created_on: 2007-01-27 15:08:27 +01:00
|
||||
downloads: 0
|
||||
content_type: text/plain
|
||||
disk_filename: 060719210727_document.txt
|
||||
disk_directory: "2006/07"
|
||||
container_id: 1
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 2
|
||||
container_type: Document
|
||||
filesize: 28
|
||||
filename: document.txt
|
||||
author_id: 2
|
||||
attachments_003:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
downloads: 0
|
||||
content_type: image/gif
|
||||
disk_filename: 060719210727_logo.gif
|
||||
disk_directory: "2006/07"
|
||||
container_id: 4
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 3
|
||||
container_type: WikiPage
|
||||
filesize: 280
|
||||
filename: logo.gif
|
||||
description: This is a logo
|
||||
author_id: 2
|
||||
attachments_004:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 2
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_source.rb
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 4
|
||||
filesize: 153
|
||||
filename: source.rb
|
||||
author_id: 2
|
||||
description: This is a Ruby source file
|
||||
content_type: application/x-ruby
|
||||
attachments_005:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 3
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_changeset_iso8859-1.diff
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 5
|
||||
filesize: 687
|
||||
filename: changeset_iso8859-1.diff
|
||||
author_id: 2
|
||||
content_type: text/x-diff
|
||||
attachments_006:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 3
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_archive.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 6
|
||||
filesize: 157
|
||||
filename: archive.zip
|
||||
author_id: 2
|
||||
content_type: application/zip
|
||||
attachments_007:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 4
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_archive.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 7
|
||||
filesize: 157
|
||||
filename: archive.zip
|
||||
author_id: 1
|
||||
content_type: application/zip
|
||||
attachments_008:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Project
|
||||
container_id: 1
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_project_file.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 8
|
||||
filesize: 320
|
||||
filename: project_file.zip
|
||||
author_id: 2
|
||||
content_type: application/octet-stream
|
||||
attachments_009:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Version
|
||||
container_id: 1
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_archive.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 9
|
||||
filesize: 452
|
||||
filename: version_file.zip
|
||||
author_id: 2
|
||||
content_type: application/octet-stream
|
||||
attachments_010:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 2
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_picture.jpg
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 10
|
||||
filesize: 452
|
||||
filename: picture.jpg
|
||||
author_id: 2
|
||||
content_type: image/jpeg
|
||||
attachments_011:
|
||||
created_on: 2007-02-12 15:08:27 +01:00
|
||||
container_type: Document
|
||||
container_id: 1
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_picture.jpg
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 11
|
||||
filesize: 452
|
||||
filename: picture.jpg
|
||||
author_id: 2
|
||||
content_type: image/jpeg
|
||||
attachments_012:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Version
|
||||
container_id: 1
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_version_file.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 12
|
||||
filesize: 452
|
||||
filename: version_file.zip
|
||||
author_id: 2
|
||||
content_type: application/octet-stream
|
||||
attachments_013:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Message
|
||||
container_id: 1
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_foo.zip
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 13
|
||||
filesize: 452
|
||||
filename: foo.zip
|
||||
author_id: 2
|
||||
content_type: application/octet-stream
|
||||
attachments_014:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 3
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_changeset_utf8.diff
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
id: 14
|
||||
filesize: 687
|
||||
filename: changeset_utf8.diff
|
||||
author_id: 2
|
||||
content_type: text/x-diff
|
||||
attachments_015:
|
||||
id: 15
|
||||
created_on: 2010-07-19 21:07:27 +02:00
|
||||
container_type: Issue
|
||||
container_id: 14
|
||||
downloads: 0
|
||||
disk_filename: 060719210727_changeset_utf8.diff
|
||||
disk_directory: "2006/07"
|
||||
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
|
||||
filesize: 687
|
||||
filename: private.diff
|
||||
author_id: 2
|
||||
content_type: text/x-diff
|
||||
description: attachement of a private issue
|
||||
attachments_016:
|
||||
content_type: image/png
|
||||
downloads: 0
|
||||
created_on: 2010-11-23 16:14:50 +09:00
|
||||
disk_filename: 101123161450_testfile_1.png
|
||||
disk_directory: "2010/11"
|
||||
container_id: 14
|
||||
digest: 8e0294de2441577c529f170b6fb8f638
|
||||
id: 16
|
||||
container_type: Issue
|
||||
description: ""
|
||||
filename: testfile.png
|
||||
filesize: 2654
|
||||
author_id: 2
|
||||
attachments_017:
|
||||
content_type: image/png
|
||||
downloads: 0
|
||||
created_on: 2010-12-23 16:14:50 +09:00
|
||||
disk_filename: 101223161450_testfile_2.png
|
||||
disk_directory: "2010/12"
|
||||
container_id: 14
|
||||
digest: 6bc2963e8d7ea0d3e68d12d1fba3d6ca
|
||||
id: 17
|
||||
container_type: Issue
|
||||
description: ""
|
||||
filename: testfile.PNG
|
||||
filesize: 3582
|
||||
author_id: 2
|
||||
attachments_018:
|
||||
content_type: image/png
|
||||
downloads: 0
|
||||
created_on: 2011-01-23 16:14:50 +09:00
|
||||
disk_filename: 101123161450_testfile_1.png
|
||||
disk_directory: "2010/11"
|
||||
container_id: 14
|
||||
digest: 8e0294de2441577c529f170b6fb8f638
|
||||
id: 18
|
||||
container_type: Issue
|
||||
description: ""
|
||||
filename: testテスト.png
|
||||
filesize: 2654
|
||||
author_id: 2
|
||||
attachments_019:
|
||||
content_type: image/png
|
||||
downloads: 0
|
||||
created_on: 2011-02-23 16:14:50 +09:00
|
||||
disk_filename: 101223161450_testfile_2.png
|
||||
disk_directory: "2010/12"
|
||||
container_id: 14
|
||||
digest: 6bc2963e8d7ea0d3e68d12d1fba3d6ca
|
||||
id: 19
|
||||
container_type: Issue
|
||||
description: ""
|
||||
filename: Testテスト.PNG
|
||||
filesize: 3582
|
||||
author_id: 2
|
||||
attachments_020:
|
||||
content_type: text/plain
|
||||
downloads: 0
|
||||
created_on: 2012-05-12 16:14:50 +09:00
|
||||
disk_filename: 120512161450_root_attachment.txt
|
||||
disk_directory:
|
||||
container_id: 14
|
||||
digest: b0fe2abdb2599743d554a61d7da7ff74
|
||||
id: 20
|
||||
container_type: Issue
|
||||
description: ""
|
||||
filename: root_attachment.txt
|
||||
filesize: 54
|
||||
author_id: 2
|
13
test/fixtures/auth_sources.yml
vendored
Normal file
13
test/fixtures/auth_sources.yml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
auth_sources_001:
|
||||
id: 1
|
||||
type: AuthSourceLdap
|
||||
name: 'LDAP test server'
|
||||
host: '<%= $redmine_test_ldap_server %>'
|
||||
port: 389
|
||||
base_dn: 'OU=Person,DC=redmine,DC=org'
|
||||
attr_login: uid
|
||||
attr_firstname: givenName
|
||||
attr_lastname: sn
|
||||
attr_mail: mail
|
||||
onthefly_register: false
|
28
test/fixtures/boards.yml
vendored
Normal file
28
test/fixtures/boards.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
boards_001:
|
||||
name: Help
|
||||
project_id: 1
|
||||
topics_count: 2
|
||||
id: 1
|
||||
description: Help board
|
||||
position: 1
|
||||
last_message_id: 6
|
||||
messages_count: 6
|
||||
boards_002:
|
||||
name: Discussion
|
||||
project_id: 1
|
||||
topics_count: 0
|
||||
id: 2
|
||||
description: Discussion board
|
||||
position: 2
|
||||
last_message_id:
|
||||
messages_count: 0
|
||||
boards_003:
|
||||
name: Discussion
|
||||
project_id: 2
|
||||
topics_count: 0
|
||||
id: 3
|
||||
description: Discussion board
|
||||
position: 1
|
||||
last_message_id:
|
||||
messages_count: 0
|
22
test/fixtures/changes.yml
vendored
Normal file
22
test/fixtures/changes.yml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
changes_001:
|
||||
id: 1
|
||||
changeset_id: 100
|
||||
action: A
|
||||
path: /test/some/path/in/the/repo
|
||||
from_path:
|
||||
from_revision:
|
||||
changes_002:
|
||||
id: 2
|
||||
changeset_id: 100
|
||||
action: A
|
||||
path: /test/some/path/elsewhere/in/the/repo
|
||||
from_path:
|
||||
from_revision:
|
||||
changes_003:
|
||||
id: 3
|
||||
changeset_id: 101
|
||||
action: M
|
||||
path: /test/some/path/in/the/repo
|
||||
from_path:
|
||||
from_revision:
|
104
test/fixtures/changesets.yml
vendored
Normal file
104
test/fixtures/changesets.yml
vendored
Normal file
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
changesets_001:
|
||||
commit_date: 2007-04-11
|
||||
committed_on: 2007-04-11 15:14:44 +02:00
|
||||
revision: 1
|
||||
scmid: 691322a8eb01e11fd7
|
||||
id: 100
|
||||
comments: 'My very first commit do not escaping #<>&'
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
user_id: 3
|
||||
changesets_002:
|
||||
commit_date: 2007-04-12
|
||||
committed_on: 2007-04-12 15:14:44 +02:00
|
||||
revision: 2
|
||||
id: 101
|
||||
comments: 'This commit fixes #1, #2 and references #1 & #3'
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
user_id: 3
|
||||
changesets_003:
|
||||
commit_date: 2007-04-12
|
||||
committed_on: 2007-04-12 15:14:44 +02:00
|
||||
revision: 3
|
||||
id: 102
|
||||
comments: |-
|
||||
A commit with wrong issue ids
|
||||
IssueID #666 #3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
user_id: 3
|
||||
changesets_004:
|
||||
commit_date: 2007-04-12
|
||||
committed_on: 2007-04-12 15:14:44 +02:00
|
||||
revision: 4
|
||||
id: 103
|
||||
comments: |-
|
||||
A commit with an issue id of an other project
|
||||
IssueID 4 2
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
user_id: 3
|
||||
changesets_005:
|
||||
commit_date: "2007-09-10"
|
||||
comments: Modified one file in the folder.
|
||||
committed_on: 2007-09-10 19:01:08
|
||||
revision: "5"
|
||||
id: 104
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
changesets_006:
|
||||
commit_date: "2007-09-10"
|
||||
comments: Moved helloworld.rb from / to /folder.
|
||||
committed_on: 2007-09-10 19:01:47
|
||||
revision: "6"
|
||||
id: 105
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
changesets_007:
|
||||
commit_date: "2007-09-10"
|
||||
comments: Removed one file.
|
||||
committed_on: 2007-09-10 19:02:16
|
||||
revision: "7"
|
||||
id: 106
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
changesets_008:
|
||||
commit_date: "2007-09-10"
|
||||
comments: |-
|
||||
This commits references an issue.
|
||||
Refs #2
|
||||
committed_on: 2007-09-10 19:04:35
|
||||
revision: "8"
|
||||
id: 107
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
changesets_009:
|
||||
commit_date: "2009-09-10"
|
||||
comments: One file added.
|
||||
committed_on: 2009-09-10 19:04:35
|
||||
revision: "9"
|
||||
id: 108
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
||||
changesets_010:
|
||||
commit_date: "2009-09-10"
|
||||
comments: Same file modified.
|
||||
committed_on: 2009-09-10 19:04:35
|
||||
revision: "10"
|
||||
id: 109
|
||||
scmid:
|
||||
user_id: 3
|
||||
repository_id: 10
|
||||
committer: dlopper
|
17
test/fixtures/comments.yml
vendored
Normal file
17
test/fixtures/comments.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
||||
comments_001:
|
||||
commented_type: News
|
||||
commented_id: 1
|
||||
id: 1
|
||||
author_id: 1
|
||||
comments: my first comment
|
||||
created_on: 2006-12-10 18:10:10 +01:00
|
||||
updated_on: 2006-12-10 18:10:10 +01:00
|
||||
comments_002:
|
||||
commented_type: News
|
||||
commented_id: 1
|
||||
id: 2
|
||||
author_id: 2
|
||||
comments: This is an other comment
|
||||
created_on: 2006-12-10 18:12:10 +01:00
|
||||
updated_on: 2006-12-10 18:12:10 +01:00
|
8
test/fixtures/configuration/default.yml
vendored
Normal file
8
test/fixtures/configuration/default.yml
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
default:
|
||||
somesetting: foo
|
||||
|
||||
production:
|
||||
|
||||
development:
|
||||
|
||||
test:
|
7
test/fixtures/configuration/empty.yml
vendored
Normal file
7
test/fixtures/configuration/empty.yml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
default:
|
||||
|
||||
production:
|
||||
|
||||
development:
|
||||
|
||||
test:
|
8
test/fixtures/configuration/no_default.yml
vendored
Normal file
8
test/fixtures/configuration/no_default.yml
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
default:
|
||||
|
||||
production:
|
||||
|
||||
development:
|
||||
|
||||
test:
|
||||
somesetting: foo
|
9
test/fixtures/configuration/overrides.yml
vendored
Normal file
9
test/fixtures/configuration/overrides.yml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
default:
|
||||
somesetting: foo
|
||||
|
||||
production:
|
||||
|
||||
development:
|
||||
|
||||
test:
|
||||
somesetting: bar
|
148
test/fixtures/custom_fields.yml
vendored
Normal file
148
test/fixtures/custom_fields.yml
vendored
Normal file
|
@ -0,0 +1,148 @@
|
|||
---
|
||||
custom_fields_001:
|
||||
name: Database
|
||||
regexp: ""
|
||||
is_for_all: true
|
||||
is_filter: true
|
||||
type: IssueCustomField
|
||||
possible_values:
|
||||
- MySQL
|
||||
- PostgreSQL
|
||||
- Oracle
|
||||
id: 1
|
||||
is_required: false
|
||||
field_format: list
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 2
|
||||
custom_fields_002:
|
||||
name: Searchable field
|
||||
min_length: 1
|
||||
regexp: ""
|
||||
is_for_all: true
|
||||
is_filter: true
|
||||
type: IssueCustomField
|
||||
max_length: 100
|
||||
possible_values: ""
|
||||
id: 2
|
||||
is_required: false
|
||||
field_format: string
|
||||
searchable: true
|
||||
default_value: "Default string"
|
||||
editable: true
|
||||
position: 1
|
||||
custom_fields_003:
|
||||
name: Development status
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
is_filter: true
|
||||
type: ProjectCustomField
|
||||
possible_values:
|
||||
- Stable
|
||||
- Beta
|
||||
- Alpha
|
||||
- Planning
|
||||
id: 3
|
||||
is_required: false
|
||||
field_format: list
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 1
|
||||
custom_fields_004:
|
||||
name: Phone number
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
type: UserCustomField
|
||||
possible_values: ""
|
||||
id: 4
|
||||
is_required: false
|
||||
field_format: string
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 1
|
||||
custom_fields_005:
|
||||
name: Money
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
type: UserCustomField
|
||||
possible_values: ""
|
||||
id: 5
|
||||
is_required: false
|
||||
field_format: float
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 2
|
||||
custom_fields_006:
|
||||
name: Float field
|
||||
regexp: ""
|
||||
is_for_all: true
|
||||
type: IssueCustomField
|
||||
possible_values: ""
|
||||
id: 6
|
||||
is_required: false
|
||||
field_format: float
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 3
|
||||
custom_fields_007:
|
||||
name: Billable
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
is_filter: true
|
||||
type: TimeEntryActivityCustomField
|
||||
possible_values: ""
|
||||
id: 7
|
||||
is_required: false
|
||||
field_format: bool
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 1
|
||||
custom_fields_008:
|
||||
name: Custom date
|
||||
regexp: ""
|
||||
is_for_all: true
|
||||
is_filter: false
|
||||
type: IssueCustomField
|
||||
possible_values: ""
|
||||
id: 8
|
||||
is_required: false
|
||||
field_format: date
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 4
|
||||
custom_fields_009:
|
||||
name: Project 1 cf
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
is_filter: true
|
||||
type: IssueCustomField
|
||||
possible_values: ""
|
||||
id: 9
|
||||
is_required: false
|
||||
field_format: date
|
||||
default_value: ""
|
||||
editable: true
|
||||
position: 5
|
||||
custom_fields_010:
|
||||
name: Overtime
|
||||
regexp: ""
|
||||
is_for_all: false
|
||||
is_filter: false
|
||||
type: TimeEntryCustomField
|
||||
possible_values: ""
|
||||
id: 10
|
||||
is_required: false
|
||||
field_format: bool
|
||||
default_value: 0
|
||||
editable: true
|
||||
position: 1
|
||||
custom_fields_011:
|
||||
id: 11
|
||||
name: Binary
|
||||
type: CustomField
|
||||
possible_values:
|
||||
- !binary |
|
||||
SGXDqWzDp2prc2Tigqw2NTTDuQ==
|
||||
- Other value
|
||||
field_format: list
|
||||
position: 1
|
4
test/fixtures/custom_fields_projects.yml
vendored
Normal file
4
test/fixtures/custom_fields_projects.yml
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
custom_fields_projects_001:
|
||||
custom_field_id: 9
|
||||
project_id: 1
|
31
test/fixtures/custom_fields_trackers.yml
vendored
Normal file
31
test/fixtures/custom_fields_trackers.yml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
custom_fields_trackers_001:
|
||||
custom_field_id: 1
|
||||
tracker_id: 1
|
||||
custom_fields_trackers_002:
|
||||
custom_field_id: 2
|
||||
tracker_id: 1
|
||||
custom_fields_trackers_003:
|
||||
custom_field_id: 2
|
||||
tracker_id: 3
|
||||
custom_fields_trackers_004:
|
||||
custom_field_id: 6
|
||||
tracker_id: 1
|
||||
custom_fields_trackers_005:
|
||||
custom_field_id: 6
|
||||
tracker_id: 2
|
||||
custom_fields_trackers_006:
|
||||
custom_field_id: 6
|
||||
tracker_id: 3
|
||||
custom_fields_trackers_007:
|
||||
custom_field_id: 8
|
||||
tracker_id: 1
|
||||
custom_fields_trackers_008:
|
||||
custom_field_id: 8
|
||||
tracker_id: 2
|
||||
custom_fields_trackers_009:
|
||||
custom_field_id: 8
|
||||
tracker_id: 3
|
||||
custom_fields_trackers_010:
|
||||
custom_field_id: 9
|
||||
tracker_id: 1
|
103
test/fixtures/custom_values.yml
vendored
Normal file
103
test/fixtures/custom_values.yml
vendored
Normal file
|
@ -0,0 +1,103 @@
|
|||
---
|
||||
custom_values_006:
|
||||
customized_type: Issue
|
||||
custom_field_id: 2
|
||||
customized_id: 3
|
||||
id: 6
|
||||
value: "125"
|
||||
custom_values_007:
|
||||
customized_type: Project
|
||||
custom_field_id: 3
|
||||
customized_id: 1
|
||||
id: 7
|
||||
value: Stable
|
||||
custom_values_001:
|
||||
customized_type: Principal
|
||||
custom_field_id: 4
|
||||
customized_id: 3
|
||||
id: 1
|
||||
value: ""
|
||||
custom_values_002:
|
||||
customized_type: Principal
|
||||
custom_field_id: 4
|
||||
customized_id: 4
|
||||
id: 2
|
||||
value: 01 23 45 67 89
|
||||
custom_values_003:
|
||||
customized_type: Principal
|
||||
custom_field_id: 4
|
||||
customized_id: 2
|
||||
id: 3
|
||||
value: "01 42 50 00 00"
|
||||
custom_values_004:
|
||||
customized_type: Issue
|
||||
custom_field_id: 2
|
||||
customized_id: 1
|
||||
id: 4
|
||||
value: "125"
|
||||
custom_values_005:
|
||||
customized_type: Issue
|
||||
custom_field_id: 2
|
||||
customized_id: 2
|
||||
id: 5
|
||||
value: ""
|
||||
custom_values_008:
|
||||
customized_type: Issue
|
||||
custom_field_id: 1
|
||||
customized_id: 3
|
||||
id: 8
|
||||
value: "MySQL"
|
||||
custom_values_009:
|
||||
customized_type: Issue
|
||||
custom_field_id: 2
|
||||
customized_id: 7
|
||||
id: 9
|
||||
value: "this is a stringforcustomfield search"
|
||||
custom_values_010:
|
||||
customized_type: Issue
|
||||
custom_field_id: 6
|
||||
customized_id: 1
|
||||
id: 10
|
||||
value: "2.1"
|
||||
custom_values_011:
|
||||
customized_type: Issue
|
||||
custom_field_id: 6
|
||||
customized_id: 2
|
||||
id: 11
|
||||
value: "2.05"
|
||||
custom_values_012:
|
||||
customized_type: Issue
|
||||
custom_field_id: 6
|
||||
customized_id: 3
|
||||
id: 12
|
||||
value: "11.65"
|
||||
custom_values_013:
|
||||
customized_type: Issue
|
||||
custom_field_id: 6
|
||||
customized_id: 7
|
||||
id: 13
|
||||
value: ""
|
||||
custom_values_014:
|
||||
customized_type: Issue
|
||||
custom_field_id: 6
|
||||
customized_id: 5
|
||||
id: 14
|
||||
value: "-7.6"
|
||||
custom_values_015:
|
||||
customized_type: Enumeration
|
||||
custom_field_id: 7
|
||||
customized_id: 10
|
||||
id: 15
|
||||
value: true
|
||||
custom_values_016:
|
||||
customized_type: Enumeration
|
||||
custom_field_id: 7
|
||||
customized_id: 11
|
||||
id: 16
|
||||
value: '1'
|
||||
custom_values_017:
|
||||
customized_type: Issue
|
||||
custom_field_id: 8
|
||||
customized_id: 1
|
||||
id: 17
|
||||
value: '2009-12-01'
|
25
test/fixtures/diffs/issue-12641-ja.diff
vendored
Normal file
25
test/fixtures/diffs/issue-12641-ja.diff
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
# HG changeset patch
|
||||
# User tmaruyama
|
||||
# Date 1362559296 0
|
||||
# Node ID ee54942e0289c30bea1b1973750b698b1ee7c466
|
||||
# Parent 738777832f379f6f099c25251593fc57bc17f586
|
||||
fix some Japanese "issue" translations (#13350)
|
||||
|
||||
Contributed by Go MAEDA.
|
||||
|
||||
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
|
||||
--- a/config/locales/ja.yml
|
||||
+++ b/config/locales/ja.yml
|
||||
@@ -904,9 +904,9 @@ ja:
|
||||
text_journal_set_to: "%{label} を %{value} にセット"
|
||||
text_journal_deleted: "%{label} を削除 (%{old})"
|
||||
text_journal_added: "%{label} %{value} を追加"
|
||||
- text_tip_issue_begin_day: この日に開始するタスク
|
||||
- text_tip_issue_end_day: この日に終了するタスク
|
||||
- text_tip_issue_begin_end_day: この日のうちに開始して終了するタスク
|
||||
+ text_tip_issue_begin_day: この日に開始するチケット
|
||||
+ text_tip_issue_end_day: この日に終了するチケット
|
||||
+ text_tip_issue_begin_end_day: この日に開始・終了するチケット
|
||||
text_caracters_maximum: "最大%{count}文字です。"
|
||||
text_caracters_minimum: "最低%{count}文字の長さが必要です"
|
||||
text_length_between: "長さは%{min}から%{max}文字までです。"
|
19
test/fixtures/diffs/issue-12641-ru.diff
vendored
Normal file
19
test/fixtures/diffs/issue-12641-ru.diff
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
# HG changeset patch
|
||||
# User tmaruyama
|
||||
# Date 1355872765 0
|
||||
# Node ID 8a13ebed1779c2e85fa644ecdd0de81996c969c4
|
||||
# Parent 5c3c5f917ae92f278fe42c6978366996595b0796
|
||||
Russian "about_x_hours" translation changed by Mikhail Velkin (#12640)
|
||||
|
||||
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
|
||||
--- a/config/locales/ru.yml
|
||||
+++ b/config/locales/ru.yml
|
||||
@@ -115,7 +115,7 @@ ru:
|
||||
one: "около %{count} часа"
|
||||
few: "около %{count} часов"
|
||||
many: "около %{count} часов"
|
||||
- other: "около %{count} часа"
|
||||
+ other: "около %{count} часов"
|
||||
x_hours:
|
||||
one: "1 час"
|
||||
other: "%{count} часов"
|
7
test/fixtures/diffs/issue-13644-1.diff
vendored
Normal file
7
test/fixtures/diffs/issue-13644-1.diff
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a.txt 2013-04-05 14:19:39.000000000 +0900
|
||||
+++ b.txt 2013-04-05 14:19:51.000000000 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
aaaa
|
||||
-日本
|
||||
+日本語
|
||||
bbbb
|
7
test/fixtures/diffs/issue-13644-2.diff
vendored
Normal file
7
test/fixtures/diffs/issue-13644-2.diff
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a.txt 2013-04-05 14:19:39.000000000 +0900
|
||||
+++ b.txt 2013-04-05 14:19:51.000000000 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
aaaa
|
||||
-日本
|
||||
+にっぽん日本
|
||||
bbbb
|
7
test/fixtures/diffs/issue-13644-3.diff
vendored
Normal file
7
test/fixtures/diffs/issue-13644-3.diff
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a.txt 2013-07-27 06:03:49.133257759 +0900
|
||||
+++ b.txt 2013-07-27 06:03:58.791221118 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
aaaa
|
||||
-日本記
|
||||
+日本娘
|
||||
bbbb
|
7
test/fixtures/diffs/issue-13644-4.diff
vendored
Normal file
7
test/fixtures/diffs/issue-13644-4.diff
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a.txt 2013-07-27 04:20:45.973229414 +0900
|
||||
+++ b.txt 2013-07-27 04:20:52.366228105 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
aaaa
|
||||
-日本記
|
||||
+日本誘
|
||||
bbbb
|
7
test/fixtures/diffs/issue-13644-5.diff
vendored
Normal file
7
test/fixtures/diffs/issue-13644-5.diff
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
--- a.txt 2013-07-27 05:52:11.415223830 +0900
|
||||
+++ b.txt 2013-07-27 05:52:18.249190358 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
aaaa
|
||||
-日本記ok
|
||||
+日本誘ok
|
||||
bbbb
|
46
test/fixtures/diffs/partials.diff
vendored
Normal file
46
test/fixtures/diffs/partials.diff
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
--- partials.txt Wed Jan 19 12:06:17 2011
|
||||
+++ partials.1.txt Wed Jan 19 12:06:10 2011
|
||||
@@ -1,31 +1,31 @@
|
||||
-Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
||||
+Lorem ipsum dolor sit amet, consectetur adipiscing xx
|
||||
Praesent et sagittis dui. Vivamus ac diam diam
|
||||
-Ut sed auctor justo
|
||||
+xxx auctor justo
|
||||
Suspendisse venenatis sollicitudin magna quis suscipit
|
||||
-Sed blandit gravida odio ac ultrices
|
||||
+Sed blandit gxxxxa odio ac ultrices
|
||||
Morbi rhoncus est ut est aliquam tempus
|
||||
-Morbi id nisi vel felis tincidunt tempus
|
||||
+Morbi id nisi vel felis xx tempus
|
||||
Mauris auctor sagittis ante eu luctus
|
||||
-Fusce commodo felis sed ligula congue molestie
|
||||
+Fusce commodo felis sed ligula congue
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
||||
-Praesent et sagittis dui. Vivamus ac diam diam
|
||||
+et sagittis dui. Vivamus ac diam diam
|
||||
Ut sed auctor justo
|
||||
Suspendisse venenatis sollicitudin magna quis suscipit
|
||||
Sed blandit gravida odio ac ultrices
|
||||
|
||||
-Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
||||
-Praesent et sagittis dui. Vivamus ac diam diam
|
||||
+Lorem ipsum dolor sit amet, xxxx adipiscing elit
|
||||
Ut sed auctor justo
|
||||
Suspendisse venenatis sollicitudin magna quis suscipit
|
||||
Sed blandit gravida odio ac ultrices
|
||||
-Morbi rhoncus est ut est aliquam tempus
|
||||
+Morbi rhoncus est ut est xxxx tempus
|
||||
+New line
|
||||
Morbi id nisi vel felis tincidunt tempus
|
||||
Mauris auctor sagittis ante eu luctus
|
||||
Fusce commodo felis sed ligula congue molestie
|
||||
|
||||
-Lorem ipsum dolor sit amet, consectetur adipiscing elit
|
||||
-Praesent et sagittis dui. Vivamus ac diam diam
|
||||
-Ut sed auctor justo
|
||||
+Lorem ipsum dolor sit amet, xxxxtetur adipiscing elit
|
||||
+Praesent et xxxxx. Vivamus ac diam diam
|
||||
+Ut sed auctor
|
||||
Suspendisse venenatis sollicitudin magna quis suscipit
|
||||
Sed blandit gravida odio ac ultrices
|
||||
Morbi rhoncus est ut est aliquam tempus
|
79
test/fixtures/diffs/subversion.diff
vendored
Normal file
79
test/fixtures/diffs/subversion.diff
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
Index: app/views/settings/_general.rhtml
|
||||
===================================================================
|
||||
--- app/views/settings/_general.rhtml (revision 2094)
|
||||
+++ app/views/settings/_general.rhtml (working copy)
|
||||
@@ -48,6 +48,9 @@
|
||||
<p><label><%= l(:setting_feeds_limit) %></label>
|
||||
<%= text_field_tag 'settings[feeds_limit]', Setting.feeds_limit, :size => 6 %></p>
|
||||
|
||||
+<p><label><%= l(:setting_diff_max_lines_displayed) %></label>
|
||||
+<%= text_field_tag 'settings[diff_max_lines_displayed]', Setting.diff_max_lines_displayed, :size => 6 %></p>
|
||||
+
|
||||
<p><label><%= l(:setting_gravatar_enabled) %></label>
|
||||
<%= check_box_tag 'settings[gravatar_enabled]', 1, Setting.gravatar_enabled? %><%= hidden_field_tag 'settings[gravatar_enabled]', 0 %></p>
|
||||
</div>
|
||||
Index: app/views/common/_diff.rhtml
|
||||
===================================================================
|
||||
--- app/views/common/_diff.rhtml (revision 2111)
|
||||
+++ app/views/common/_diff.rhtml (working copy)
|
||||
@@ -1,4 +1,5 @@
|
||||
-<% Redmine::UnifiedDiff.new(diff, :type => diff_type).each do |table_file| -%>
|
||||
+<% diff = Redmine::UnifiedDiff.new(diff, :type => diff_type, :max_lines => Setting.diff_max_lines_displayed.to_i) -%>
|
||||
+<% diff.each do |table_file| -%>
|
||||
<div class="autoscroll">
|
||||
<% if diff_type == 'sbs' -%>
|
||||
<table class="filecontent syntaxhl">
|
||||
@@ -62,3 +63,5 @@
|
||||
|
||||
</div>
|
||||
<% end -%>
|
||||
+
|
||||
+<%= l(:text_diff_truncated) if diff.truncated? %>
|
||||
Index: lang/lt.yml
|
||||
===================================================================
|
||||
--- config/settings.yml (revision 2094)
|
||||
+++ config/settings.yml (working copy)
|
||||
@@ -61,6 +61,9 @@
|
||||
feeds_limit:
|
||||
format: int
|
||||
default: 15
|
||||
+diff_max_lines_displayed:
|
||||
+ format: int
|
||||
+ default: 1500
|
||||
enabled_scm:
|
||||
serialized: true
|
||||
default:
|
||||
Index: lib/redmine/unified_diff.rb
|
||||
===================================================================
|
||||
--- lib/redmine/unified_diff.rb (revision 2110)
|
||||
+++ lib/redmine/unified_diff.rb (working copy)
|
||||
@@ -19,8 +19,11 @@
|
||||
# Class used to parse unified diffs
|
||||
class UnifiedDiff < Array
|
||||
def initialize(diff, options={})
|
||||
+ options.assert_valid_keys(:type, :max_lines)
|
||||
diff_type = options[:type] || 'inline'
|
||||
|
||||
+ lines = 0
|
||||
+ @truncated = false
|
||||
diff_table = DiffTable.new(diff_type)
|
||||
diff.each do |line|
|
||||
if line =~ /^(---|\+\+\+) (.*)$/
|
||||
@@ -28,10 +31,17 @@
|
||||
diff_table = DiffTable.new(diff_type)
|
||||
end
|
||||
diff_table.add_line line
|
||||
+ lines += 1
|
||||
+ if options[:max_lines] && lines > options[:max_lines]
|
||||
+ @truncated = true
|
||||
+ break
|
||||
+ end
|
||||
end
|
||||
self << diff_table unless diff_table.empty?
|
||||
self
|
||||
end
|
||||
+
|
||||
+ def truncated?; @truncated; end
|
||||
end
|
||||
|
||||
# Class that represents a file diff
|
14
test/fixtures/documents.yml
vendored
Normal file
14
test/fixtures/documents.yml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
documents_001:
|
||||
created_on: 2007-01-27 15:08:27 +01:00
|
||||
project_id: 1
|
||||
title: "Test document"
|
||||
id: 1
|
||||
description: "Document description"
|
||||
category_id: 1
|
||||
documents_002:
|
||||
created_on: 2007-02-12 15:08:27 +01:00
|
||||
project_id: 1
|
||||
title: "An other document"
|
||||
id: 2
|
||||
description: ""
|
||||
category_id: 1
|
57
test/fixtures/email_addresses.yml
vendored
Normal file
57
test/fixtures/email_addresses.yml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
email_address_001:
|
||||
id: 1
|
||||
user_id: 1
|
||||
address: admin@somenet.foo
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_002:
|
||||
id: 2
|
||||
user_id: 2
|
||||
address: jsmith@somenet.foo
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_003:
|
||||
id: 3
|
||||
user_id: 3
|
||||
address: dlopper@somenet.foo
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_004:
|
||||
id: 4
|
||||
user_id: 4
|
||||
address: rhill@somenet.foo
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_005:
|
||||
id: 5
|
||||
user_id: 5
|
||||
address: dlopper2@somenet.foo
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_007:
|
||||
id: 7
|
||||
user_id: 7
|
||||
address: someone@foo.bar
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_008:
|
||||
id: 8
|
||||
user_id: 8
|
||||
address: miscuser8@foo.bar
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
||||
email_address_009:
|
||||
id: 9
|
||||
user_id: 9
|
||||
address: miscuser9@foo.bar
|
||||
is_default: true
|
||||
created_on: 2006-07-19 19:34:07 +02:00
|
||||
updated_on: 2006-07-19 19:34:07 +02:00
|
105
test/fixtures/enabled_modules.yml
vendored
Normal file
105
test/fixtures/enabled_modules.yml
vendored
Normal file
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
enabled_modules_001:
|
||||
name: issue_tracking
|
||||
project_id: 1
|
||||
id: 1
|
||||
enabled_modules_002:
|
||||
name: time_tracking
|
||||
project_id: 1
|
||||
id: 2
|
||||
enabled_modules_003:
|
||||
name: news
|
||||
project_id: 1
|
||||
id: 3
|
||||
enabled_modules_004:
|
||||
name: documents
|
||||
project_id: 1
|
||||
id: 4
|
||||
enabled_modules_005:
|
||||
name: files
|
||||
project_id: 1
|
||||
id: 5
|
||||
enabled_modules_006:
|
||||
name: wiki
|
||||
project_id: 1
|
||||
id: 6
|
||||
enabled_modules_007:
|
||||
name: repository
|
||||
project_id: 1
|
||||
id: 7
|
||||
enabled_modules_008:
|
||||
name: boards
|
||||
project_id: 1
|
||||
id: 8
|
||||
enabled_modules_009:
|
||||
name: repository
|
||||
project_id: 3
|
||||
id: 9
|
||||
enabled_modules_010:
|
||||
name: wiki
|
||||
project_id: 3
|
||||
id: 10
|
||||
enabled_modules_011:
|
||||
name: issue_tracking
|
||||
project_id: 2
|
||||
id: 11
|
||||
enabled_modules_012:
|
||||
name: time_tracking
|
||||
project_id: 3
|
||||
id: 12
|
||||
enabled_modules_013:
|
||||
name: issue_tracking
|
||||
project_id: 3
|
||||
id: 13
|
||||
enabled_modules_014:
|
||||
name: issue_tracking
|
||||
project_id: 5
|
||||
id: 14
|
||||
enabled_modules_015:
|
||||
name: wiki
|
||||
project_id: 2
|
||||
id: 15
|
||||
enabled_modules_016:
|
||||
name: boards
|
||||
project_id: 2
|
||||
id: 16
|
||||
enabled_modules_017:
|
||||
name: calendar
|
||||
project_id: 1
|
||||
id: 17
|
||||
enabled_modules_018:
|
||||
name: gantt
|
||||
project_id: 1
|
||||
id: 18
|
||||
enabled_modules_019:
|
||||
name: calendar
|
||||
project_id: 2
|
||||
id: 19
|
||||
enabled_modules_020:
|
||||
name: gantt
|
||||
project_id: 2
|
||||
id: 20
|
||||
enabled_modules_021:
|
||||
name: calendar
|
||||
project_id: 3
|
||||
id: 21
|
||||
enabled_modules_022:
|
||||
name: gantt
|
||||
project_id: 3
|
||||
id: 22
|
||||
enabled_modules_023:
|
||||
name: calendar
|
||||
project_id: 5
|
||||
id: 23
|
||||
enabled_modules_024:
|
||||
name: gantt
|
||||
project_id: 5
|
||||
id: 24
|
||||
enabled_modules_025:
|
||||
name: news
|
||||
project_id: 2
|
||||
id: 25
|
||||
enabled_modules_026:
|
||||
name: repository
|
||||
project_id: 2
|
||||
id: 26
|
1
test/fixtures/encoding/iso-8859-1.txt
vendored
Normal file
1
test/fixtures/encoding/iso-8859-1.txt
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Texte encodé en ISO-8859-1.
|
105
test/fixtures/enumerations.yml
vendored
Normal file
105
test/fixtures/enumerations.yml
vendored
Normal file
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
enumerations_001:
|
||||
name: Uncategorized
|
||||
id: 1
|
||||
type: DocumentCategory
|
||||
active: true
|
||||
position: 1
|
||||
enumerations_002:
|
||||
name: User documentation
|
||||
id: 2
|
||||
type: DocumentCategory
|
||||
active: true
|
||||
position: 2
|
||||
enumerations_003:
|
||||
name: Technical documentation
|
||||
id: 3
|
||||
type: DocumentCategory
|
||||
active: true
|
||||
position: 3
|
||||
enumerations_004:
|
||||
name: Low
|
||||
id: 4
|
||||
type: IssuePriority
|
||||
active: true
|
||||
position: 1
|
||||
position_name: lowest
|
||||
enumerations_005:
|
||||
name: Normal
|
||||
id: 5
|
||||
type: IssuePriority
|
||||
is_default: true
|
||||
active: true
|
||||
position: 2
|
||||
position_name: default
|
||||
enumerations_006:
|
||||
name: High
|
||||
id: 6
|
||||
type: IssuePriority
|
||||
active: true
|
||||
position: 3
|
||||
position_name: high3
|
||||
enumerations_007:
|
||||
name: Urgent
|
||||
id: 7
|
||||
type: IssuePriority
|
||||
active: true
|
||||
position: 4
|
||||
position_name: high2
|
||||
enumerations_008:
|
||||
name: Immediate
|
||||
id: 8
|
||||
type: IssuePriority
|
||||
active: true
|
||||
position: 5
|
||||
position_name: highest
|
||||
enumerations_009:
|
||||
name: Design
|
||||
id: 9
|
||||
type: TimeEntryActivity
|
||||
position: 1
|
||||
active: true
|
||||
enumerations_010:
|
||||
name: Development
|
||||
id: 10
|
||||
type: TimeEntryActivity
|
||||
position: 2
|
||||
is_default: true
|
||||
active: true
|
||||
enumerations_011:
|
||||
name: QA
|
||||
id: 11
|
||||
type: TimeEntryActivity
|
||||
position: 3
|
||||
active: true
|
||||
enumerations_012:
|
||||
name: Default Enumeration
|
||||
id: 12
|
||||
type: Enumeration
|
||||
is_default: true
|
||||
active: true
|
||||
position: 1
|
||||
enumerations_013:
|
||||
name: Another Enumeration
|
||||
id: 13
|
||||
type: Enumeration
|
||||
active: true
|
||||
position: 2
|
||||
enumerations_014:
|
||||
name: Inactive Activity
|
||||
id: 14
|
||||
type: TimeEntryActivity
|
||||
position: 4
|
||||
active: false
|
||||
enumerations_015:
|
||||
name: Inactive Priority
|
||||
id: 15
|
||||
type: IssuePriority
|
||||
position: 6
|
||||
active: false
|
||||
enumerations_016:
|
||||
name: Inactive Document Category
|
||||
id: 16
|
||||
type: DocumentCategory
|
||||
active: false
|
||||
position: 4
|
BIN
test/fixtures/files/2006/07/060719210727_archive.zip
vendored
Normal file
BIN
test/fixtures/files/2006/07/060719210727_archive.zip
vendored
Normal file
Binary file not shown.
13
test/fixtures/files/2006/07/060719210727_changeset_iso8859-1.diff
vendored
Normal file
13
test/fixtures/files/2006/07/060719210727_changeset_iso8859-1.diff
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Index: trunk/app/controllers/issues_controller.rb
|
||||
===================================================================
|
||||
--- trunk/app/controllers/issues_controller.rb (révision 1483)
|
||||
+++ trunk/app/controllers/issues_controller.rb (révision 1484)
|
||||
@@ -149,7 +149,7 @@
|
||||
attach_files(@issue, params[:attachments])
|
||||
flash[:notice] = 'Demande créée avec succès'
|
||||
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
|
||||
- redirect_to :controller => 'issues', :action => 'show', :id => @issue, :project_id => @project
|
||||
+ redirect_to :controller => 'issues', :action => 'show', :id => @issue
|
||||
return
|
||||
end
|
||||
end
|
13
test/fixtures/files/2006/07/060719210727_changeset_utf8.diff
vendored
Normal file
13
test/fixtures/files/2006/07/060719210727_changeset_utf8.diff
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Index: trunk/app/controllers/issues_controller.rb
|
||||
===================================================================
|
||||
--- trunk/app/controllers/issues_controller.rb (révision 1483)
|
||||
+++ trunk/app/controllers/issues_controller.rb (révision 1484)
|
||||
@@ -149,7 +149,7 @@
|
||||
attach_files(@issue, params[:attachments])
|
||||
flash[:notice] = 'Demande créée avec succès'
|
||||
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
|
||||
- redirect_to :controller => 'issues', :action => 'show', :id => @issue, :project_id => @project
|
||||
+ redirect_to :controller => 'issues', :action => 'show', :id => @issue
|
||||
return
|
||||
end
|
||||
end
|
10
test/fixtures/files/2006/07/060719210727_source.rb
vendored
Normal file
10
test/fixtures/files/2006/07/060719210727_source.rb
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
# The Greeter class
|
||||
class Greeter
|
||||
def initialize(name)
|
||||
@name = name.capitalize
|
||||
end
|
||||
|
||||
def salute
|
||||
puts "Hello #{@name}!"
|
||||
end
|
||||
end
|
BIN
test/fixtures/files/2010/11/101123161450_testfile_1.png
vendored
Normal file
BIN
test/fixtures/files/2010/11/101123161450_testfile_1.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
test/fixtures/files/2010/12/101223161450_testfile_2.png
vendored
Normal file
BIN
test/fixtures/files/2010/12/101223161450_testfile_2.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
13
test/fixtures/files/hg-export.diff
vendored
Normal file
13
test/fixtures/files/hg-export.diff
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# HG changeset patch
|
||||
# User test
|
||||
# Date 1348014182 -32400
|
||||
# Node ID d1c871b8ef113df7f1c56d41e6e3bfbaff976e1f
|
||||
# Parent 180b6605936cdc7909c5f08b59746ec1a7c99b3e
|
||||
modify test1.txt
|
||||
|
||||
diff -r 180b6605936c -r d1c871b8ef11 test1.txt
|
||||
--- a/test1.txt
|
||||
+++ b/test1.txt
|
||||
@@ -1,1 +1,1 @@
|
||||
-test1
|
||||
+modify test1
|
4
test/fixtures/files/import_dates.csv
vendored
Normal file
4
test/fixtures/files/import_dates.csv
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
subject;start;due;custom
|
||||
Valid dates;10/07/2015;12/08/2015;14/07/2015
|
||||
Invalid start date;04/15/2015;;
|
||||
Invalid custom date;;;04/15/2015
|
|
3
test/fixtures/files/import_iso8859-1.csv
vendored
Normal file
3
test/fixtures/files/import_iso8859-1.csv
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
column A;column B;column C
|
||||
Contenu en français;value1B;value1C
|
||||
value2A;value2B;value2C
|
|
4
test/fixtures/files/import_issues.csv
vendored
Normal file
4
test/fixtures/files/import_issues.csv
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
priority;subject;description;start_date;due_date;parent;private;progress;custom;version;category;user;estimated_hours;tracker;status
|
||||
High;First;First description;2015-07-08;2015-08-25;;no;;PostgreSQL;;New category;dlopper;1;bug;new
|
||||
Normal;Child 1;Child description;;;1;yes;10;MySQL;2.0;New category;;2;feature request;new
|
||||
Normal;Child of existing issue;Child description;;;#2;no;20;;2.1;Printing;;3;bug;assigned
|
|
5
test/fixtures/files/import_subtasks.csv
vendored
Normal file
5
test/fixtures/files/import_subtasks.csv
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
row;tracker;subject;parent
|
||||
1;bug;Root;
|
||||
2;bug;Child 1;1
|
||||
3;bug;Grand-child;4
|
||||
4;bug;Child 2;1
|
|
1
test/fixtures/files/invalid-Shift_JIS.csv
vendored
Normal file
1
test/fixtures/files/invalid-Shift_JIS.csv
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Ȁ
|
|
13
test/fixtures/files/iso8859-1.txt
vendored
Normal file
13
test/fixtures/files/iso8859-1.txt
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Index: trunk/app/controllers/issues_controller.rb
|
||||
===================================================================
|
||||
--- trunk/app/controllers/issues_controller.rb (révision 1483)
|
||||
+++ trunk/app/controllers/issues_controller.rb (révision 1484)
|
||||
@@ -149,7 +149,7 @@
|
||||
attach_files(@issue, params[:attachments])
|
||||
flash[:notice] = 'Demande créée avec succès'
|
||||
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
|
||||
- redirect_to :controller => 'issues', :action => 'show', :id => @issue, :project_id => @project
|
||||
+ redirect_to :controller => 'issues', :action => 'show', :id => @issue
|
||||
return
|
||||
end
|
||||
end
|
1
test/fixtures/files/japanese-utf-8.txt
vendored
Normal file
1
test/fixtures/files/japanese-utf-8.txt
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
日本語
|
2
test/fixtures/files/testfile.txt
vendored
Normal file
2
test/fixtures/files/testfile.txt
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
this is a text file for upload tests
|
||||
with multiple lines
|
7
test/fixtures/groups_users.yml
vendored
Normal file
7
test/fixtures/groups_users.yml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
groups_users_001:
|
||||
group_id: 10
|
||||
user_id: 8
|
||||
groups_users_002:
|
||||
group_id: 11
|
||||
user_id: 8
|
21
test/fixtures/issue_categories.yml
vendored
Normal file
21
test/fixtures/issue_categories.yml
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
issue_categories_001:
|
||||
name: Printing
|
||||
project_id: 1
|
||||
assigned_to_id: 2
|
||||
id: 1
|
||||
issue_categories_002:
|
||||
name: Recipes
|
||||
project_id: 1
|
||||
assigned_to_id:
|
||||
id: 2
|
||||
issue_categories_003:
|
||||
name: Stock management
|
||||
project_id: 2
|
||||
assigned_to_id:
|
||||
id: 3
|
||||
issue_categories_004:
|
||||
name: Printing
|
||||
project_id: 2
|
||||
assigned_to_id:
|
||||
id: 4
|
12
test/fixtures/issue_relations.yml
vendored
Normal file
12
test/fixtures/issue_relations.yml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
issue_relation_001:
|
||||
id: 1
|
||||
issue_from_id: 10
|
||||
issue_to_id: 9
|
||||
relation_type: blocks
|
||||
delay:
|
||||
issue_relation_002:
|
||||
id: 2
|
||||
issue_from_id: 2
|
||||
issue_to_id: 3
|
||||
relation_type: relates
|
||||
delay:
|
31
test/fixtures/issue_statuses.yml
vendored
Normal file
31
test/fixtures/issue_statuses.yml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
issue_statuses_001:
|
||||
id: 1
|
||||
name: New
|
||||
is_closed: false
|
||||
position: 1
|
||||
issue_statuses_002:
|
||||
id: 2
|
||||
name: Assigned
|
||||
is_closed: false
|
||||
position: 2
|
||||
issue_statuses_003:
|
||||
id: 3
|
||||
name: Resolved
|
||||
is_closed: false
|
||||
position: 3
|
||||
issue_statuses_004:
|
||||
name: Feedback
|
||||
id: 4
|
||||
is_closed: false
|
||||
position: 4
|
||||
issue_statuses_005:
|
||||
id: 5
|
||||
name: Closed
|
||||
is_closed: true
|
||||
position: 5
|
||||
issue_statuses_006:
|
||||
id: 6
|
||||
name: Rejected
|
||||
is_closed: true
|
||||
position: 6
|
268
test/fixtures/issues.yml
vendored
Normal file
268
test/fixtures/issues.yml
vendored
Normal file
|
@ -0,0 +1,268 @@
|
|||
---
|
||||
issues_001:
|
||||
created_on: <%= 3.days.ago.to_s(:db) %>
|
||||
project_id: 1
|
||||
updated_on: <%= 1.day.ago.to_s(:db) %>
|
||||
priority_id: 4
|
||||
subject: Cannot print recipes
|
||||
id: 1
|
||||
fixed_version_id:
|
||||
category_id: 1
|
||||
description: Unable to print recipes
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= 1.day.ago.to_date.to_s(:db) %>
|
||||
due_date: <%= 10.day.from_now.to_date.to_s(:db) %>
|
||||
root_id: 1
|
||||
lft: 1
|
||||
rgt: 2
|
||||
lock_version: 3
|
||||
issues_002:
|
||||
created_on: 2006-07-19 21:04:21 +02:00
|
||||
project_id: 1
|
||||
updated_on: 2006-07-19 21:09:50 +02:00
|
||||
priority_id: 5
|
||||
subject: Add ingredients categories
|
||||
id: 2
|
||||
fixed_version_id: 2
|
||||
category_id:
|
||||
description: Ingredients of the recipe should be classified by categories
|
||||
tracker_id: 2
|
||||
assigned_to_id: 3
|
||||
author_id: 2
|
||||
status_id: 2
|
||||
start_date: <%= 2.day.ago.to_date.to_s(:db) %>
|
||||
due_date:
|
||||
root_id: 2
|
||||
lft: 1
|
||||
rgt: 2
|
||||
lock_version: 3
|
||||
done_ratio: 30
|
||||
issues_003:
|
||||
created_on: 2006-07-19 21:07:27 +02:00
|
||||
project_id: 1
|
||||
updated_on: 2006-07-19 21:07:27 +02:00
|
||||
priority_id: 4
|
||||
subject: Error 281 when updating a recipe
|
||||
id: 3
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: Error 281 is encountered when saving a recipe
|
||||
tracker_id: 1
|
||||
assigned_to_id: 3
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= 15.day.ago.to_date.to_s(:db) %>
|
||||
due_date: <%= 5.day.ago.to_date.to_s(:db) %>
|
||||
root_id: 3
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_004:
|
||||
created_on: <%= 5.days.ago.to_s(:db) %>
|
||||
project_id: 2
|
||||
updated_on: <%= 2.days.ago.to_s(:db) %>
|
||||
priority_id: 4
|
||||
subject: Issue on project 2
|
||||
id: 4
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: Issue on project 2
|
||||
tracker_id: 1
|
||||
assigned_to_id: 2
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
root_id: 4
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_005:
|
||||
created_on: <%= 5.days.ago.to_s(:db) %>
|
||||
project_id: 3
|
||||
updated_on: <%= 2.days.ago.to_s(:db) %>
|
||||
priority_id: 4
|
||||
subject: Subproject issue
|
||||
id: 5
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is an issue on a cookbook subproject
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
root_id: 5
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_006:
|
||||
created_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
project_id: 5
|
||||
updated_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
priority_id: 4
|
||||
subject: Issue of a private subproject
|
||||
id: 6
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is an issue of a private subproject of cookbook
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= Date.today.to_s(:db) %>
|
||||
due_date: <%= 1.days.from_now.to_date.to_s(:db) %>
|
||||
root_id: 6
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_007:
|
||||
created_on: <%= 10.days.ago.to_s(:db) %>
|
||||
project_id: 1
|
||||
updated_on: <%= 10.days.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Issue due today
|
||||
id: 7
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is an issue that is due today
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= 10.days.ago.to_s(:db) %>
|
||||
due_date: <%= Date.today.to_s(:db) %>
|
||||
lock_version: 0
|
||||
root_id: 7
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_008:
|
||||
created_on: <%= 10.days.ago.to_s(:db) %>
|
||||
project_id: 1
|
||||
updated_on: <%= 10.days.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Closed issue
|
||||
id: 8
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is a closed issue.
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 5
|
||||
start_date:
|
||||
due_date:
|
||||
lock_version: 0
|
||||
root_id: 8
|
||||
lft: 1
|
||||
rgt: 2
|
||||
closed_on: <%= 3.days.ago.to_s(:db) %>
|
||||
issues_009:
|
||||
created_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
project_id: 5
|
||||
updated_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Blocked Issue
|
||||
id: 9
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is an issue that is blocked by issue #10
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= Date.today.to_s(:db) %>
|
||||
due_date: <%= 1.days.from_now.to_date.to_s(:db) %>
|
||||
root_id: 9
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_010:
|
||||
created_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
project_id: 5
|
||||
updated_on: <%= 1.minute.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Issue Doing the Blocking
|
||||
id: 10
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is an issue that blocks issue #9
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
start_date: <%= Date.today.to_s(:db) %>
|
||||
due_date: <%= 1.days.from_now.to_date.to_s(:db) %>
|
||||
root_id: 10
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_011:
|
||||
created_on: <%= 3.days.ago.to_s(:db) %>
|
||||
project_id: 1
|
||||
updated_on: <%= 1.day.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Closed issue on a closed version
|
||||
id: 11
|
||||
fixed_version_id: 1
|
||||
category_id: 1
|
||||
description:
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 5
|
||||
start_date: <%= 1.day.ago.to_date.to_s(:db) %>
|
||||
due_date:
|
||||
root_id: 11
|
||||
lft: 1
|
||||
rgt: 2
|
||||
closed_on: <%= 1.day.ago.to_s(:db) %>
|
||||
issues_012:
|
||||
created_on: <%= 3.days.ago.to_s(:db) %>
|
||||
project_id: 1
|
||||
updated_on: <%= 1.day.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Closed issue on a locked version
|
||||
id: 12
|
||||
fixed_version_id: 2
|
||||
category_id: 1
|
||||
description:
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 3
|
||||
status_id: 5
|
||||
start_date: <%= 1.day.ago.to_date.to_s(:db) %>
|
||||
due_date:
|
||||
root_id: 12
|
||||
lft: 1
|
||||
rgt: 2
|
||||
closed_on: <%= 1.day.ago.to_s(:db) %>
|
||||
issues_013:
|
||||
created_on: <%= 5.days.ago.to_s(:db) %>
|
||||
project_id: 3
|
||||
updated_on: <%= 2.days.ago.to_s(:db) %>
|
||||
priority_id: 4
|
||||
subject: Subproject issue two
|
||||
id: 13
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is a second issue on a cookbook subproject
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
root_id: 13
|
||||
lft: 1
|
||||
rgt: 2
|
||||
issues_014:
|
||||
id: 14
|
||||
created_on: <%= 15.days.ago.to_s(:db) %>
|
||||
project_id: 3
|
||||
updated_on: <%= 15.days.ago.to_s(:db) %>
|
||||
priority_id: 5
|
||||
subject: Private issue on public project
|
||||
fixed_version_id:
|
||||
category_id:
|
||||
description: This is a private issue
|
||||
tracker_id: 1
|
||||
assigned_to_id:
|
||||
author_id: 2
|
||||
status_id: 1
|
||||
is_private: true
|
||||
root_id: 14
|
||||
lft: 1
|
||||
rgt: 2
|
43
test/fixtures/journal_details.yml
vendored
Normal file
43
test/fixtures/journal_details.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
journal_details_001:
|
||||
old_value: "1"
|
||||
property: attr
|
||||
id: 1
|
||||
value: "2"
|
||||
prop_key: status_id
|
||||
journal_id: 1
|
||||
journal_details_002:
|
||||
old_value: "40"
|
||||
property: attr
|
||||
id: 2
|
||||
value: "30"
|
||||
prop_key: done_ratio
|
||||
journal_id: 1
|
||||
journal_details_003:
|
||||
old_value:
|
||||
property: attr
|
||||
id: 3
|
||||
value: "6"
|
||||
prop_key: fixed_version_id
|
||||
journal_id: 4
|
||||
journal_details_004:
|
||||
old_value: "This word was removed and an other was"
|
||||
property: attr
|
||||
id: 4
|
||||
value: "This word was and an other was added"
|
||||
prop_key: description
|
||||
journal_id: 3
|
||||
journal_details_005:
|
||||
old_value: Old value
|
||||
property: cf
|
||||
id: 5
|
||||
value: New value
|
||||
prop_key: 2
|
||||
journal_id: 3
|
||||
journal_details_006:
|
||||
old_value:
|
||||
property: attachment
|
||||
id: 6
|
||||
value: 060719210727_picture.jpg
|
||||
prop_key: 4
|
||||
journal_id: 3
|
36
test/fixtures/journals.yml
vendored
Normal file
36
test/fixtures/journals.yml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
journals_001:
|
||||
created_on: <%= 2.days.ago.to_date.to_s(:db) %>
|
||||
notes: "Journal notes"
|
||||
id: 1
|
||||
journalized_type: Issue
|
||||
user_id: 1
|
||||
journalized_id: 1
|
||||
journals_002:
|
||||
created_on: <%= 1.days.ago.to_date.to_s(:db) %>
|
||||
notes: "Some notes with Redmine links: #2, r2."
|
||||
id: 2
|
||||
journalized_type: Issue
|
||||
user_id: 2
|
||||
journalized_id: 1
|
||||
journals_003:
|
||||
created_on: <%= 1.days.ago.to_date.to_s(:db) %>
|
||||
notes: "A comment with inline image: !picture.jpg! and a reference to #1 and r2."
|
||||
id: 3
|
||||
journalized_type: Issue
|
||||
user_id: 2
|
||||
journalized_id: 2
|
||||
journals_004:
|
||||
created_on: <%= 1.days.ago.to_date.to_s(:db) %>
|
||||
notes: "A comment with a private version."
|
||||
id: 4
|
||||
journalized_type: Issue
|
||||
user_id: 1
|
||||
journalized_id: 6
|
||||
journals_005:
|
||||
id: 5
|
||||
created_on: <%= 1.days.ago.to_date.to_s(:db) %>
|
||||
notes: "A comment on a private issue."
|
||||
user_id: 2
|
||||
journalized_type: Issue
|
||||
journalized_id: 14
|
24
test/fixtures/ldap/slapd.centos6.conf
vendored
Normal file
24
test/fixtures/ldap/slapd.centos6.conf
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
# Sample OpenLDAP configuration file for Redmine LDAP test server
|
||||
# CentOS6 openldap-servers-2.4.40-6.el6_7.x86_64
|
||||
#
|
||||
|
||||
include /etc/openldap/schema/core.schema
|
||||
include /etc/openldap/schema/cosine.schema
|
||||
include /etc/openldap/schema/inetorgperson.schema
|
||||
include /etc/openldap/schema/openldap.schema
|
||||
include /etc/openldap/schema/nis.schema
|
||||
|
||||
pidfile /var/run/openldap/slapd.pid
|
||||
argsfile /var/run/openldap/slapd.args
|
||||
|
||||
modulepath /usr/lib64/openldap
|
||||
moduleload back_bdb.la
|
||||
|
||||
database bdb
|
||||
suffix "dc=redmine,dc=org"
|
||||
rootdn "cn=Manager,dc=redmine,dc=org"
|
||||
rootpw secret
|
||||
directory /var/lib/ldap
|
||||
|
||||
# Indices to maintain
|
||||
index objectClass eq
|
19
test/fixtures/ldap/slapd.conf
vendored
Normal file
19
test/fixtures/ldap/slapd.conf
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
# Sample OpenLDAP configuration file for Redmine LDAP test server
|
||||
#
|
||||
ucdata-path ./ucdata
|
||||
include ./schema/core.schema
|
||||
include ./schema/cosine.schema
|
||||
include ./schema/inetorgperson.schema
|
||||
include ./schema/openldap.schema
|
||||
include ./schema/nis.schema
|
||||
|
||||
pidfile ./run/slapd.pid
|
||||
argsfile ./run/slapd.args
|
||||
|
||||
database bdb
|
||||
suffix "dc=redmine,dc=org"
|
||||
rootdn "cn=Manager,dc=redmine,dc=org"
|
||||
rootpw secret
|
||||
directory ./redmine
|
||||
# Indices to maintain
|
||||
index objectClass eq
|
23
test/fixtures/ldap/slapd.ubuntu.12.04.conf
vendored
Normal file
23
test/fixtures/ldap/slapd.ubuntu.12.04.conf
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Sample OpenLDAP configuration file for Redmine LDAP test server
|
||||
# Ubuntu 12.04 LTS Server Edition 64 bit slapd (2.4.28-1.1ubuntu4.6)
|
||||
#
|
||||
|
||||
include /etc/ldap/schema/core.schema
|
||||
include /etc/ldap/schema/cosine.schema
|
||||
include /etc/ldap/schema/inetorgperson.schema
|
||||
include /etc/ldap/schema/openldap.schema
|
||||
include /etc/ldap/schema/nis.schema
|
||||
|
||||
pidfile /var/run/slapd/slapd.pid
|
||||
argsfile /var/run/slapd/slapd.args
|
||||
|
||||
modulepath /usr/lib/ldap
|
||||
moduleload back_bdb.la
|
||||
|
||||
database bdb
|
||||
suffix "dc=redmine,dc=org"
|
||||
rootdn "cn=Manager,dc=redmine,dc=org"
|
||||
rootpw secret
|
||||
|
||||
# Indices to maintain
|
||||
index objectClass eq
|
47
test/fixtures/ldap/test-ldap.ldif
vendored
Normal file
47
test/fixtures/ldap/test-ldap.ldif
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
dn: dc=redmine,dc=org
|
||||
objectClass: top
|
||||
objectClass: dcObject
|
||||
objectClass: organization
|
||||
o: redmine.org
|
||||
dc: redmine
|
||||
|
||||
dn: cn=admin,dc=redmine,dc=org
|
||||
objectClass: simpleSecurityObject
|
||||
objectClass: organizationalRole
|
||||
cn: admin
|
||||
description: LDAP administrator
|
||||
userPassword:: e2NyeXB0fWlWTU9DcUt6WWxXRDI=
|
||||
|
||||
dn: ou=Person,dc=redmine,dc=org
|
||||
ou: Person
|
||||
objectClass: top
|
||||
objectClass: organizationalUnit
|
||||
|
||||
dn: uid=example1,ou=Person,dc=redmine,dc=org
|
||||
objectClass: posixAccount
|
||||
objectClass: top
|
||||
objectClass: inetOrgPerson
|
||||
gidNumber: 0
|
||||
givenName: Example
|
||||
sn: One
|
||||
uid: example1
|
||||
homeDirectory: /home/example1
|
||||
cn: Example One
|
||||
uidNumber: 0
|
||||
mail: example1@redmine.org
|
||||
userPassword:: e1NIQX1mRXFOQ2NvM1lxOWg1WlVnbEQzQ1pKVDRsQnM9
|
||||
|
||||
dn: uid=edavis,ou=Person,dc=redmine,dc=org
|
||||
objectClass: posixAccount
|
||||
objectClass: top
|
||||
objectClass: inetOrgPerson
|
||||
gidNumber: 0
|
||||
givenName: Eric
|
||||
sn: Davis
|
||||
uid: edavis
|
||||
mail: edavis@littlestreamsoftware.com
|
||||
homeDirectory: /home/edavis
|
||||
cn: Eric Davis
|
||||
uidNumber: 0
|
||||
userPassword:: e1NIQX1mRXFOQ2NvM1lxOWg1WlVnbEQzQ1pKVDRsQnM9
|
||||
|
240
test/fixtures/mail_handler/apple_mail_with_attachment.eml
vendored
Normal file
240
test/fixtures/mail_handler/apple_mail_with_attachment.eml
vendored
Normal file
|
@ -0,0 +1,240 @@
|
|||
From JSmith@somenet.foo Mon Jun 27 06:55:56 2011
|
||||
Return-Path: <JSmith@somenet.foo>
|
||||
X-Original-To: redmine@somenet.foo
|
||||
Delivered-To: redmine@somenet.foo
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Mime-Version: 1.0 (Apple Message framework v1084)
|
||||
Content-Type: multipart/alternative; boundary=Apple-Mail-3-163265085
|
||||
Subject: Test attaching images to tickets by HTML mail
|
||||
Date: Mon, 27 Jun 2011 16:55:46 +0300
|
||||
To: redmine@somenet.foo
|
||||
Message-Id: <7ABE3636-07E8-47C9-90A1-FCB1AA894DA1@somenet.foo>
|
||||
X-Mailer: Apple Mail (2.1084)
|
||||
|
||||
|
||||
--Apple-Mail-3-163265085
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
Yet another test!
|
||||
|
||||
|
||||
--Apple-Mail-3-163265085
|
||||
Content-Type: multipart/related;
|
||||
type="text/html";
|
||||
boundary=Apple-Mail-4-163265085
|
||||
|
||||
|
||||
--Apple-Mail-4-163265085
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/html;
|
||||
charset=us-ascii
|
||||
|
||||
<html><head></head><body style=3D"word-wrap: break-word; =
|
||||
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
|
||||
<br></body></html>=
|
||||
|
||||
--Apple-Mail-4-163265085
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: inline;
|
||||
filename=paella.jpg
|
||||
Content-Type: image/jpg;
|
||||
x-unix-mode=0644;
|
||||
name="paella.jpg"
|
||||
Content-Id: <1207F0B5-9F9D-4AB4-B547-AF9033E82111>
|
||||
|
||||
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
|
||||
cbis+/WpUqUcMZKdF44n/9k=
|
||||
|
||||
--Apple-Mail-4-163265085--
|
||||
|
||||
--Apple-Mail-3-163265085--
|
14
test/fixtures/mail_handler/body_ks_c_5601-1987.eml
vendored
Normal file
14
test/fixtures/mail_handler/body_ks_c_5601-1987.eml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: This is a test
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_"
|
||||
|
||||
--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_
|
||||
Content-Type: text/plain; charset="ks_c_5601-1987"
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
sO24v73AtM+02S4=
|
||||
|
||||
--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_--
|
||||
|
35
test/fixtures/mail_handler/empty_text_and_html_part.eml
vendored
Normal file
35
test/fixtures/mail_handler/empty_text_and_html_part.eml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
From JSmith@somenet.foo Fri Mar 22 08:30:28 2013
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Content-Type: multipart/mixed; boundary="Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9"
|
||||
Message-Id: <BB533668-3CC8-41CA-A951-0A5D8EA37FB0@somenet.foo>
|
||||
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
|
||||
Subject: Test with an empty text part
|
||||
Date: Fri, 22 Mar 2013 17:30:20 +0200
|
||||
To: redmine@somenet.foo
|
||||
X-Mailer: Apple Mail (2.1503)
|
||||
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/html;
|
||||
charset=us-ascii
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
|
||||
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns=3D"http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" />
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9--
|
36
test/fixtures/mail_handler/empty_text_part.eml
vendored
Normal file
36
test/fixtures/mail_handler/empty_text_part.eml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
From JSmith@somenet.foo Fri Mar 22 08:30:28 2013
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Content-Type: multipart/mixed; boundary="Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9"
|
||||
Message-Id: <BB533668-3CC8-41CA-A951-0A5D8EA37FB0@somenet.foo>
|
||||
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
|
||||
Subject: Test with an empty text part
|
||||
Date: Fri, 22 Mar 2013 17:30:20 +0200
|
||||
To: redmine@somenet.foo
|
||||
X-Mailer: Apple Mail (2.1503)
|
||||
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/html;
|
||||
charset=us-ascii
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
|
||||
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns=3D"http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<p>The html part.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9--
|
5
test/fixtures/mail_handler/fullname_of_sender_as_utf8_encoded.eml
vendored
Normal file
5
test/fixtures/mail_handler/fullname_of_sender_as_utf8_encoded.eml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
From: =?utf-8?b?w4TDpCDDlsO2?= <foo@example.org>
|
||||
Subject: foo
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
|
||||
testing user creation with quoted From-header
|
11
test/fixtures/mail_handler/gmail-iso8859-2.eml
vendored
Normal file
11
test/fixtures/mail_handler/gmail-iso8859-2.eml
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
Date: Tue, 13 Aug 2013 10:56:04 +0700
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Subject: =?ISO-8859-2?Q?Nikad_vi=B9e?=
|
||||
To: redmine@somenet.foo
|
||||
Content-Type: text/plain; charset=ISO-8859-2
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
Na =B9triku se su=B9i =B9osi=E6.
|
||||
|
||||
--=20
|
||||
=B9osi=E6
|
26
test/fixtures/mail_handler/gmail_with_attachment_iso-8859-1.eml
vendored
Normal file
26
test/fixtures/mail_handler/gmail_with_attachment_iso-8859-1.eml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
Date: Tue, 20 Nov 2012 23:08:25 +0900
|
||||
Message-ID: <CANBr5-UZM=Odz4U3Q6vHd_9cd2tCT-_P9xDd=hRJ0aoMNTWXbw@mail.gmail.com>
|
||||
Subject: test
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: redmine@somenet.foo
|
||||
Content-Type: multipart/mixed; boundary=14dae93a13bf76ca5d04ceedc458
|
||||
|
||||
--14dae93a13bf76ca5d04ceedc458
|
||||
Content-Type: text/plain; charset=ISO-8859-1
|
||||
|
||||
test
|
||||
|
||||
--14dae93a13bf76ca5d04ceedc458
|
||||
Content-Type: text/plain; charset=US-ASCII;
|
||||
name="=?ISO-8859-1?B?xOTW9tz8xOTW9tz8xOTW9tz8xOTW9tz8xOTW9tw=?=
|
||||
=?ISO-8859-1?B?/MTk1vbc/MTk1vbc/MTk1vbc/MTk1vbc/MTk1vbc?=
|
||||
=?ISO-8859-1?B?/MTk1vbc/C50eHQ=?="
|
||||
Content-Disposition: attachment;
|
||||
filename="=?ISO-8859-1?B?xOTW9tz8xOTW9tz8xOTW9tz8xOTW9tz8xOTW9tw=?=
|
||||
=?ISO-8859-1?B?/MTk1vbc/MTk1vbc/MTk1vbc/MTk1vbc/MTk1vbc?=
|
||||
=?ISO-8859-1?B?/MTk1vbc/C50eHQ=?="
|
||||
Content-Transfer-Encoding: base64
|
||||
X-Attachment-Id: f_h9r3mcjz0
|
||||
|
||||
dGVzdAo=
|
||||
--14dae93a13bf76ca5d04ceedc458--
|
20
test/fixtures/mail_handler/gmail_with_attachment_ja.eml
vendored
Normal file
20
test/fixtures/mail_handler/gmail_with_attachment_ja.eml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
Date: Mon, 19 Nov 2012 10:17:45 +0900
|
||||
Message-ID: <CANBr5-U6cXMfLek5QiB2ZrBPR3vTThn9_Upvdkf3Dkod664+Xw@mail.gmail.com>
|
||||
Subject: test
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: redmine@somenet.foo
|
||||
Content-Type: multipart/mixed; boundary=bcaec54ee4ea84f77904cecee22e
|
||||
|
||||
--bcaec54ee4ea84f77904cecee22e
|
||||
Content-Type: text/plain; charset=ISO-8859-1
|
||||
|
||||
test
|
||||
|
||||
--bcaec54ee4ea84f77904cecee22e
|
||||
Content-Type: text/plain; charset=US-ASCII; name="=?ISO-2022-JP?B?GyRCJUYlOSVIGyhCLnR4dA==?="
|
||||
Content-Disposition: attachment; filename="=?ISO-2022-JP?B?GyRCJUYlOSVIGyhCLnR4dA==?="
|
||||
Content-Transfer-Encoding: base64
|
||||
X-Attachment-Id: f_h9owndpv0
|
||||
|
||||
dGVzdAo=
|
||||
--bcaec54ee4ea84f77904cecee22e--
|
14
test/fixtures/mail_handler/invalid_utf8.eml
vendored
Normal file
14
test/fixtures/mail_handler/invalid_utf8.eml
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: This is a test
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_"
|
||||
|
||||
--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
=D0=97=D0=B4=D1=80=D0=B0=D0=B2=D1=81=D1=82=D0=B2=D1=83=D0=B9=D1=82=D0=B5=AA
|
||||
|
||||
--_c20d9cfa-d16a-43a3-a7e5-71da7877ab23_--
|
||||
|
19
test/fixtures/mail_handler/issue_update_with_cc.eml
vendored
Normal file
19
test/fixtures/mail_handler/issue_update_with_cc.eml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
In-Reply-To: <redmine.issue-2.20060719210421@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Cc: <dlopper@somenet.foo>
|
||||
Subject: Re: update to issue 2
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
An update to the issue by the sender.
|
48
test/fixtures/mail_handler/issue_update_with_multiple_quoted_reply_above.eml
vendored
Normal file
48
test/fixtures/mail_handler/issue_update_with_multiple_quoted_reply_above.eml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
In-Reply-To: <redmine.issue-2.20060719210421@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Re: update to issue 2
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
An update to the issue by the sender.
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris --- Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
>> > --- Reply above. Do not remove this line. ---
|
||||
>> >
|
||||
>> > Issue #6779 has been updated by Eric Davis.
|
||||
>> >
|
||||
>> > Subject changed from Projects with JSON to Project JSON API
|
||||
>> > Status changed from New to Assigned
|
||||
>> > Assignee set to Eric Davis
|
||||
>> > Priority changed from Low to Normal
|
||||
>> > Estimated time deleted (1.00)
|
||||
>> >
|
||||
>> > Looks like the JSON api for projects was missed. I'm going to be
|
||||
>> > reviewing the existing APIs and trying to clean them up over the next
|
||||
>> > few weeks.
|
48
test/fixtures/mail_handler/issue_update_with_quoted_reply_above.eml
vendored
Normal file
48
test/fixtures/mail_handler/issue_update_with_quoted_reply_above.eml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
In-Reply-To: <redmine.issue-2.20060719210421@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Re: update to issue 2
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
An update to the issue by the sender.
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris --- Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
> --- Reply above. Do not remove this line. ---
|
||||
>
|
||||
> Issue #6779 has been updated by Eric Davis.
|
||||
>
|
||||
> Subject changed from Projects with JSON to Project JSON API
|
||||
> Status changed from New to Assigned
|
||||
> Assignee set to Eric Davis
|
||||
> Priority changed from Low to Normal
|
||||
> Estimated time deleted (1.00)
|
||||
>
|
||||
> Looks like the JSON api for projects was missed. I'm going to be
|
||||
> reviewing the existing APIs and trying to clean them up over the next
|
||||
> few weeks.
|
60
test/fixtures/mail_handler/japanese_keywords_iso_2022_jp.eml
vendored
Normal file
60
test/fixtures/mail_handler/japanese_keywords_iso_2022_jp.eml
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
Message-ID: <001101ca9762$293d68c0$0600a8c0@osiris>
|
||||
From: "jsmith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Japanese Character pattern matching
|
||||
Date: Sun, 17 Jan 2010 11:45:18 +0100
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_NextPart_000_000E_01CA976A.8AF5E9E0"
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------=_NextPart_000_000E_01CA976A.8AF5E9E0
|
||||
Content-Type: text/plain;
|
||||
charset="iso-2022-jp"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
It should be noted that I am receiving emails using pop and the patch in =
|
||||
Issue #2420 but I don't think the problem lies with this.
|
||||
|
||||
When I try and send emails to the redmine server with Japanese =
|
||||
characters in them it appears to work apart from the pattern matching.
|
||||
|
||||
For example if I send an email with the following keywords.
|
||||
|
||||
Tracker: =1B$B3+H/=1B(B
|
||||
|
||||
------=_NextPart_000_000E_01CA976A.8AF5E9E0
|
||||
Content-Type: text/html;
|
||||
charset="iso-2022-jp"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD>
|
||||
<META content=3D"text/html; charset=3Diso-2022-jp" =
|
||||
http-equiv=3DContent-Type>
|
||||
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18702">
|
||||
<STYLE></STYLE>
|
||||
</HEAD>
|
||||
<BODY bgColor=3D#ffffff>
|
||||
<DIV><FONT size=3D2 face=3DArial>
|
||||
<P>It should be noted that I am receiving emails using pop and the patch =
|
||||
in=20
|
||||
Issue <A class=3D"issue status-1 priority-2"=20
|
||||
title=3D"Fetching emails from an POP server (New)"=20
|
||||
href=3D"http://www.redmine.org/issues/2420">#2420</A> but I don't think =
|
||||
the=20
|
||||
problem lies with this.</P>
|
||||
<P>When I try and send emails to the redmine server with Japanese =
|
||||
characters in=20
|
||||
them it appears to work apart from the pattern matching.</P>
|
||||
<P>For example if I send an email with the following keywords.</P>
|
||||
<P>Tracker: =
|
||||
=1B$B3+H/=1B(B</P></FONT></DIV></BODY></HTML>
|
||||
|
||||
------=_NextPart_000_000E_01CA976A.8AF5E9E0--
|
||||
|
15
test/fixtures/mail_handler/message_reply.eml
vendored
Normal file
15
test/fixtures/mail_handler/message_reply.eml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
Message-ID: <4974C93E.3070005@somenet.foo>
|
||||
Date: Mon, 19 Jan 2009 19:41:02 +0100
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
|
||||
MIME-Version: 1.0
|
||||
To: redmine@somenet.foo
|
||||
Subject: Reply via email
|
||||
References: <redmine.message-2.20070512171800@somenet.foo>
|
||||
In-Reply-To: <redmine.message-2.20070512171800@somenet.foo>
|
||||
Content-Type: text/plain; charset=UTF-8; format=flowed
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This is a reply to a forum message.
|
||||
|
||||
|
13
test/fixtures/mail_handler/message_reply_by_subject.eml
vendored
Normal file
13
test/fixtures/mail_handler/message_reply_by_subject.eml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
Message-ID: <4974C93E.3070005@somenet.foo>
|
||||
Date: Mon, 19 Jan 2009 19:41:02 +0100
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
|
||||
MIME-Version: 1.0
|
||||
To: redmine@somenet.foo
|
||||
Subject: Re: [eCookbook - Help board - msg2] Reply to the first post
|
||||
Content-Type: text/plain; charset=UTF-8; format=flowed
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This is a reply to a forum message.
|
||||
|
||||
|
62
test/fixtures/mail_handler/multiple_text_parts.eml
vendored
Normal file
62
test/fixtures/mail_handler/multiple_text_parts.eml
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
From JSmith@somenet.foo Fri Mar 22 08:30:28 2013
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Content-Type: multipart/mixed; boundary="Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9"
|
||||
Message-Id: <BB533668-3CC8-41CA-A951-0A5D8EA37FB0@somenet.foo>
|
||||
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
|
||||
Subject: Test with multiple text parts
|
||||
Date: Fri, 22 Mar 2013 17:30:20 +0200
|
||||
To: redmine@somenet.foo
|
||||
X-Mailer: Apple Mail (2.1503)
|
||||
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
The first text part.
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Disposition: inline;
|
||||
filename=1st.pdf
|
||||
Content-Type: application/pdf;
|
||||
x-unix-mode=0644;
|
||||
name="1st.pdf"
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9G
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
The second text part.
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Disposition: inline;
|
||||
filename=2nd.pdf
|
||||
Content-Type: application/pdf;
|
||||
x-unix-mode=0644;
|
||||
name="2nd.pdf"
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9G
|
||||
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
The third one.
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: attachment; filename="textfile.txt"
|
||||
|
||||
Plain text attachment
|
||||
|
||||
--Apple-Mail=_33C8180A-B097-4B87-A925-441300BDB9C9--
|
10
test/fixtures/mail_handler/no_subject_header.eml
vendored
Normal file
10
test/fixtures/mail_handler/no_subject_header.eml
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
Content-Type: application/ms-tnef; name="winmail.dat"
|
||||
Content-Transfer-Encoding: binary
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
Accept-Language: de-CH, en-US
|
||||
Content-Language: de-CH
|
||||
|
||||
Fixture
|
966
test/fixtures/mail_handler/outlook_2010_html_only.eml
vendored
Normal file
966
test/fixtures/mail_handler/outlook_2010_html_only.eml
vendored
Normal file
|
@ -0,0 +1,966 @@
|
|||
From: jsmith@somenet.foo
|
||||
To: testuser@example.org
|
||||
Subject: =?utf-8?Q?Test_email?=
|
||||
Date: Mon, 11 May 2015 10:50:31 -0500
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="Mark=_539924359269962179476"
|
||||
X-Priority: 3
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
--Mark=_539924359269962179476
|
||||
Content-Type: text/plain;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
Simple, unadorned test email generated by Outlook 2010. It is in HTML f=
|
||||
ormat, but no special formatting has been chosen. I=E2=80=99m going to =
|
||||
save this as a draft and then manually drop it into the Inbox for scrap=
|
||||
ing by Redmine 3.0.2.
|
||||
|
||||
--Mark=_539924359269962179476
|
||||
Content-Type: text/html;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<STYLE>
|
||||
pre {
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
}
|
||||
</STYLE>
|
||||
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-=
|
||||
microsoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:offic=
|
||||
e:word" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xm=
|
||||
lns=3D"http://www.w3.org/TR/REC-html40"><head><meta name=3DProgId conte=
|
||||
nt=3DWord.Document><meta name=3DGenerator content=3D"Microsoft Word 15"=
|
||||
><meta name=3DOriginator content=3D"Microsoft Word 15"><link rel=3DFile=
|
||||
-List href=3D"cid:filelist.xml@01D08BD8.4D051580"><!--[if gte mso 9]><x=
|
||||
ml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml><![endif]--><link rel=3DthemeData href=3D"~~themedata~~"><link re=
|
||||
l=3DcolorSchemeMapping href=3D"~~colorschememapping~~"><!--[if gte mso =
|
||||
9]><xml>
|
||||
<w:WordDocument>
|
||||
<w:Zoom>120</w:Zoom>
|
||||
<w:SpellingState>Clean</w:SpellingState>
|
||||
<w:TrackMoves/>
|
||||
<w:TrackFormatting/>
|
||||
<w:EnvelopeVis/>
|
||||
<w:PunctuationKerning/>
|
||||
<w:ValidateAgainstSchemas/>
|
||||
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
|
||||
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
|
||||
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
|
||||
<w:DoNotPromoteQF/>
|
||||
<w:LidThemeOther>EN-US</w:LidThemeOther>
|
||||
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
|
||||
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
|
||||
<w:Compatibility>
|
||||
<w:DoNotExpandShiftReturn/>
|
||||
<w:BreakWrappedTables/>
|
||||
<w:SnapToGridInCell/>
|
||||
<w:WrapTextWithPunct/>
|
||||
<w:UseAsianBreakRules/>
|
||||
<w:DontGrowAutofit/>
|
||||
<w:SplitPgBreakAndParaMark/>
|
||||
<w:EnableOpenTypeKerning/>
|
||||
<w:DontFlipMirrorIndents/>
|
||||
<w:OverrideTableStyleHps/>
|
||||
</w:Compatibility>
|
||||
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
||||
<m:mathPr>
|
||||
<m:mathFont m:val=3D"Cambria Math"/>
|
||||
<m:brkBin m:val=3D"before"/>
|
||||
<m:brkBinSub m:val=3D"--"/>
|
||||
<m:smallFrac m:val=3D"off"/>
|
||||
<m:dispDef/>
|
||||
<m:lMargin m:val=3D"0"/>
|
||||
<m:rMargin m:val=3D"0"/>
|
||||
<m:defJc m:val=3D"centerGroup"/>
|
||||
<m:wrapIndent m:val=3D"1440"/>
|
||||
<m:intLim m:val=3D"subSup"/>
|
||||
<m:naryLim m:val=3D"undOvr"/>
|
||||
</m:mathPr></w:WordDocument>
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"false" De=
|
||||
fSemiHidden=3D"false" DefQFormat=3D"false" DefPriority=3D"99" LatentSty=
|
||||
leCount=3D"371">
|
||||
<w:LsdException Locked=3D"false" Priority=3D"0" QFormat=3D"true" Name=3D=
|
||||
"Normal"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D=
|
||||
"heading 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 7"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 8"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 9"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 6"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 7"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 8"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index 9"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 7"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 8"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"toc 9"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Normal Indent"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"footnote text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"annotation text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"header"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"footer"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"index heading"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"35" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" QFormat=3D"true" Name=3D"caption"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"table of figures"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"envelope address"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"envelope return"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"footnote reference"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"annotation reference"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"line number"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"page number"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"endnote reference"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"endnote text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"table of authorities"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"macro"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"toa heading"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Bullet"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Number"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Bullet 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Bullet 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Bullet 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Bullet 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Number 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Number 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Number 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Number 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"10" QFormat=3D"true" Name=3D=
|
||||
"Title"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Closing"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Signature"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"true" Unh=
|
||||
ideWhenUsed=3D"true" Name=3D"Default Paragraph Font"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text Indent"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Continue"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Continue 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Continue 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Continue 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"List Continue 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Message Header"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"11" QFormat=3D"true" Name=3D=
|
||||
"Subtitle"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Salutation"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Date"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text First Indent"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text First Indent 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Note Heading"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text Indent 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Body Text Indent 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Block Text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Hyperlink"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"FollowedHyperlink"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"22" QFormat=3D"true" Name=3D=
|
||||
"Strong"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"20" QFormat=3D"true" Name=3D=
|
||||
"Emphasis"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Document Map"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Plain Text"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"E-mail Signature"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Top of Form"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Bottom of Form"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Normal (Web)"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Acronym"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Address"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Cite"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Code"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Definition"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Keyboard"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Preformatted"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Sample"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Typewriter"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"HTML Variable"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Normal Table"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"annotation subject"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"No List"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Outline List 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Outline List 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Outline List 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Simple 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Simple 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Simple 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Classic 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Classic 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Classic 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Classic 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Colorful 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Colorful 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Colorful 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Columns 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Columns 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Columns 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Columns 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Columns 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 6"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 7"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Grid 8"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 4"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 5"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 6"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 7"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table List 8"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table 3D effects 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table 3D effects 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table 3D effects 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Contemporary"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Elegant"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Professional"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Subtle 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Subtle 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Web 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Web 2"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Web 3"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Balloon Text"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"59" Name=3D"Table Grid"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" UnhideWhenUsed=3D"=
|
||||
true" Name=3D"Table Theme"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Placeholde=
|
||||
r Text"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"1" QFormat=3D"true" Name=3D=
|
||||
"No Spacing"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Revision"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"34" QFormat=3D"true" Name=3D=
|
||||
"List Paragraph"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"29" QFormat=3D"true" Name=3D=
|
||||
"Quote"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"30" QFormat=3D"true" Name=3D=
|
||||
"Intense Quote"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List Acc=
|
||||
ent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid Acc=
|
||||
ent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium Shading=
|
||||
1 Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium Shading=
|
||||
2 Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List Acce=
|
||||
nt 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful Shadi=
|
||||
ng Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
|
||||
Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"19" QFormat=3D"true" Name=3D=
|
||||
"Subtle Emphasis"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"21" QFormat=3D"true" Name=3D=
|
||||
"Intense Emphasis"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"31" QFormat=3D"true" Name=3D=
|
||||
"Subtle Reference"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"32" QFormat=3D"true" Name=3D=
|
||||
"Intense Reference"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"33" QFormat=3D"true" Name=3D=
|
||||
"Book Title"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"37" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" Name=3D"Bibliography"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true" Un=
|
||||
hideWhenUsed=3D"true" QFormat=3D"true" Name=3D"TOC Heading"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"41" Name=3D"Plain Table 1"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"42" Name=3D"Plain Table 2"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"43" Name=3D"Plain Table 3"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"44" Name=3D"Plain Table 4"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"45" Name=3D"Plain Table 5"=
|
||||
/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"40" Name=3D"Grid Table Lig=
|
||||
ht"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 L=
|
||||
ight Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 D=
|
||||
ark Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 C=
|
||||
olorful Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 C=
|
||||
olorful Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4"/=
|
||||
>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 1"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 2"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 3"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 4"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 5"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 L=
|
||||
ight Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 A=
|
||||
ccent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 D=
|
||||
ark Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 C=
|
||||
olorful Accent 6"/>
|
||||
<w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 C=
|
||||
olorful Accent 6"/>
|
||||
</w:LatentStyles>
|
||||
</xml><![endif]--><style><!--
|
||||
/* Font Definitions */
|
||||
@font-face
|
||||
{font-family:"Cambria Math";
|
||||
panose-1:2 4 5 3 5 4 6 3 2 4;
|
||||
mso-font-charset:0;
|
||||
mso-generic-font-family:roman;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:-536870145 1107305727 0 0 415 0;}
|
||||
@font-face
|
||||
{font-family:Calibri;
|
||||
panose-1:2 15 5 2 2 2 4 3 2 4;
|
||||
mso-font-alt:"Times New Roman";
|
||||
mso-font-charset:0;
|
||||
mso-generic-font-family:swiss;
|
||||
mso-font-pitch:variable;
|
||||
mso-font-signature:-536870145 1073786111 1 0 415 0;}
|
||||
/* Style Definitions */
|
||||
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
||||
{mso-style-unhide:no;
|
||||
mso-style-qformat:yes;
|
||||
mso-style-parent:"";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:11.0pt;
|
||||
font-family:"Calibri",sans-serif;
|
||||
mso-ascii-font-family:Calibri;
|
||||
mso-ascii-theme-font:minor-latin;
|
||||
mso-fareast-font-family:Calibri;
|
||||
mso-fareast-theme-font:minor-latin;
|
||||
mso-hansi-font-family:Calibri;
|
||||
mso-hansi-theme-font:minor-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:minor-bidi;}
|
||||
a:link, span.MsoHyperlink
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
color:blue;
|
||||
mso-themecolor:hyperlink;
|
||||
text-decoration:underline;
|
||||
text-underline:single;}
|
||||
a:visited, span.MsoHyperlinkFollowed
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
color:purple;
|
||||
mso-themecolor:followedhyperlink;
|
||||
text-decoration:underline;
|
||||
text-underline:single;}
|
||||
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
|
||||
{mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-link:"Plain Text Char";
|
||||
margin:0in;
|
||||
margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:11.0pt;
|
||||
mso-bidi-font-size:10.5pt;
|
||||
font-family:"Calibri",sans-serif;
|
||||
mso-fareast-font-family:Calibri;
|
||||
mso-fareast-theme-font:minor-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:minor-bidi;}
|
||||
span.PlainTextChar
|
||||
{mso-style-name:"Plain Text Char";
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-unhide:no;
|
||||
mso-style-locked:yes;
|
||||
mso-style-link:"Plain Text";
|
||||
mso-bidi-font-size:10.5pt;
|
||||
font-family:"Calibri",sans-serif;
|
||||
mso-ascii-font-family:Calibri;
|
||||
mso-hansi-font-family:Calibri;}
|
||||
span.EmailStyle19
|
||||
{mso-style-type:personal-compose;
|
||||
mso-style-noshow:yes;
|
||||
mso-style-unhide:no;}
|
||||
.MsoChpDefault
|
||||
{mso-style-type:export-only;
|
||||
mso-default-props:yes;
|
||||
font-size:10.0pt;
|
||||
mso-ansi-font-size:10.0pt;
|
||||
mso-bidi-font-size:10.0pt;
|
||||
font-family:"Calibri",sans-serif;
|
||||
mso-ascii-font-family:Calibri;
|
||||
mso-ascii-theme-font:minor-latin;
|
||||
mso-fareast-font-family:Calibri;
|
||||
mso-fareast-theme-font:minor-latin;
|
||||
mso-hansi-font-family:Calibri;
|
||||
mso-hansi-theme-font:minor-latin;
|
||||
mso-bidi-font-family:"Times New Roman";
|
||||
mso-bidi-theme-font:minor-bidi;}
|
||||
@page WordSection1
|
||||
{size:8.5in 11.0in;
|
||||
margin:1.0in 1.0in 1.0in 1.0in;
|
||||
mso-header-margin:.5in;
|
||||
mso-footer-margin:.5in;
|
||||
mso-paper-source:0;}
|
||||
div.WordSection1
|
||||
{page:WordSection1;}
|
||||
--></style><!--[if gte mso 10]><style>/* Style Definitions */
|
||||
table.MsoNormalTable
|
||||
{mso-style-name:"Table Normal";
|
||||
mso-tstyle-rowband-size:0;
|
||||
mso-tstyle-colband-size:0;
|
||||
mso-style-noshow:yes;
|
||||
mso-style-priority:99;
|
||||
mso-style-parent:"";
|
||||
mso-padding-alt:0in 5.4pt 0in 5.4pt;
|
||||
mso-para-margin:0in;
|
||||
mso-para-margin-bottom:.0001pt;
|
||||
mso-pagination:widow-orphan;
|
||||
font-size:10.0pt;
|
||||
font-family:"Calibri",sans-serif;
|
||||
mso-ascii-font-family:Calibri;
|
||||
mso-ascii-theme-font:minor-latin;
|
||||
mso-hansi-font-family:Calibri;
|
||||
mso-hansi-theme-font:minor-latin;}
|
||||
</style><![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
|
||||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||||
<o:shapelayout v:ext=3D"edit">
|
||||
<o:idmap v:ext=3D"edit" data=3D"1" />
|
||||
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue=
|
||||
vlink=3Dpurple style=3D'tab-interval:.5in'><div class=3DWordSection1><=
|
||||
p class=3DMsoPlainText>Simple, unadorned test email generated by Outloo=
|
||||
k 2010. It is in HTML format, but no special formatting has been chosen=
|
||||
. I=E2=80=99m going to save this as a draft and then manually drop it i=
|
||||
nto the Inbox for scraping by Redmine 3.0.2.<o:p></o:p></p></div></body=
|
||||
></html>
|
||||
|
||||
--Mark=_539924359269962179476--
|
65
test/fixtures/mail_handler/outlook_web_access_2010_html_only.eml
vendored
Normal file
65
test/fixtures/mail_handler/outlook_web_access_2010_html_only.eml
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: redmine <r@MYCOMPANYNAME.com>
|
||||
Subject: Upgrade Redmine to 3.0.x
|
||||
Thread-Topic: Upgrade Redmine to 3.0.x
|
||||
Thread-Index: AQHQknBe94y5Or7Yl02JransMRF41p2Dv6Hu
|
||||
Date: Tue, 19 May 2015 16:27:43 -0400
|
||||
Message-ID: <A2D341A8808F024CAFA63F1287B9929CF1BC440F@EMBX01.exch.local>
|
||||
Accept-Language: en-US
|
||||
Content-Language: en-US
|
||||
X-MS-Exchange-Organization-AuthAs: Internal
|
||||
X-MS-Exchange-Organization-AuthMechanism: 04
|
||||
X-MS-Exchange-Organization-AuthSource: EHUB01.exch.local
|
||||
X-MS-Has-Attach:
|
||||
X-MS-Exchange-Organization-SCL: -1
|
||||
X-MS-TNEF-Correlator:
|
||||
Content-Type: text/html; charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
MIME-Version: 1.0
|
||||
|
||||
<html dir=3D"ltr">
|
||||
<head>
|
||||
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
|
||||
1">
|
||||
<style>=0A=
|
||||
<!--=0A=
|
||||
body=0A=
|
||||
{font-family:Verdana,sans-serif;=0A=
|
||||
font-size:0.8em;=0A=
|
||||
color:#484848}=0A=
|
||||
h1, h2, h3=0A=
|
||||
{font-family:"Trebuchet MS",Verdana,sans-serif;=0A=
|
||||
margin:0px}=0A=
|
||||
h1=0A=
|
||||
{font-size:1.2em}=0A=
|
||||
h2, h3=0A=
|
||||
{font-size:1.1em}=0A=
|
||||
a, a:link, a:visited=0A=
|
||||
{color:#2A5685}=0A=
|
||||
a:hover, a:active=0A=
|
||||
{color:#c61a1a}=0A=
|
||||
fieldset.attachments=0A=
|
||||
{border-width:1px 0 0 0}=0A=
|
||||
hr=0A=
|
||||
{width:100%;=0A=
|
||||
height:1px;=0A=
|
||||
background:#ccc;=0A=
|
||||
border:0}=0A=
|
||||
span.footer=0A=
|
||||
{font-size:0.8em;=0A=
|
||||
font-style:italic}=0A=
|
||||
-->=0A=
|
||||
</style><style id=3D"owaParaStyle" type=3D"text/css">P {margin-top:0;margin=
|
||||
-bottom:0;}</style>
|
||||
</head>
|
||||
<body ocsi=3D"0" fpstyle=3D"1">
|
||||
<div style=3D"direction: ltr;font-family: Tahoma;color: #000000;font-size: =
|
||||
10pt;">A mess.<br>
|
||||
<div><br>
|
||||
<div style=3D"font-family:Tahoma; font-size:13px">--Geoff Maciolek<br>
|
||||
MYCOMPANYNAME, LLC<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
19
test/fixtures/mail_handler/quoted_printable_utf8.eml
vendored
Normal file
19
test/fixtures/mail_handler/quoted_printable_utf8.eml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Date: Tue, 13 Aug 2013 10:56:04 +0700
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Content-Type: multipart/alternative; boundary=001a11c260fa53f8dc04e3cc380b
|
||||
Subject: issue 14675
|
||||
To: redmine@somenet.foo
|
||||
|
||||
--001a11c260fa53f8dc04e3cc380b
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
Freundliche Gr=C3=BCsse
|
||||
|
||||
--001a11c260fa53f8dc04e3cc380b
|
||||
Content-Type: text/html; charset=UTF-8
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<div dir=3D"ltr">Freundliche Gr=C3=BCsse<br></div>
|
||||
|
||||
--001a11c260fa53f8dc04e3cc380b--
|
11
test/fixtures/mail_handler/subject_as_iso-8859-1.eml
vendored
Normal file
11
test/fixtures/mail_handler/subject_as_iso-8859-1.eml
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
Content-Type: application/ms-tnef; name="winmail.dat"
|
||||
Content-Transfer-Encoding: binary
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: =?iso-8859-1?Q?Testmail_from_Webmail:_=E4_=F6_=FC...?=
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
Accept-Language: de-CH, en-US
|
||||
Content-Language: de-CH
|
||||
|
||||
Fixture
|
7
test/fixtures/mail_handler/subject_japanese_1.eml
vendored
Normal file
7
test/fixtures/mail_handler/subject_japanese_1.eml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: =?iso-2022-jp?b?GyRCJUYlOSVIGyhCCg=?=
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
|
||||
Fixture
|
7
test/fixtures/mail_handler/subject_japanese_2.eml
vendored
Normal file
7
test/fixtures/mail_handler/subject_japanese_2.eml
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
From: John Smith <JSmith@somenet.foo>
|
||||
To: "redmine@somenet.foo" <redmine@somenet.foo>
|
||||
Subject: Re: =?iso-2022-jp?b?GyRCJUYlOSVIGyhCCg=?=
|
||||
Date: Fri, 1 Jun 2012 14:39:38 +0200
|
||||
Message-ID: <87C31D42249DD0489D1A1444E3232DD7019D6183@foo.bar>
|
||||
|
||||
Fixture
|
34
test/fixtures/mail_handler/thunderbird_with_attachment_iso-8859-1.eml
vendored
Normal file
34
test/fixtures/mail_handler/thunderbird_with_attachment_iso-8859-1.eml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
Message-ID: <50AB9546.7020800@gmail.com>
|
||||
Date: Tue, 20 Nov 2012 23:35:50 +0900
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc13 Thunderbird/3.1.10
|
||||
MIME-Version: 1.0
|
||||
To: redmine@somenet.foo
|
||||
Subject: test
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="------------050902080306030406090208"
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------050902080306030406090208
|
||||
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
test
|
||||
|
||||
--------------050902080306030406090208
|
||||
Content-Type: image/png;
|
||||
name="=?ISO-8859-1?Q?=C4=E4=D6=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4?=
|
||||
=?ISO-8859-1?Q?=D6=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4=D6?=
|
||||
=?ISO-8859-1?Q?=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4=D6=F6=DC=FC=C4=E4=D6=F6?=
|
||||
=?ISO-8859-1?Q?=DC=FC=C4=E4=D6=F6=DC=FC=2Epng?="
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: attachment;
|
||||
filename*0*=ISO-8859-1''%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6;
|
||||
filename*1*=%DC%FC%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC;
|
||||
filename*2*=%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC%C4%E4;
|
||||
filename*3*=%D6%F6%DC%FC%C4%E4%D6%F6%DC%FC%2E%70%6E%67
|
||||
|
||||
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlz
|
||||
AAALEwAACxMBAJqcGAAAAAd0SU1FB9wLFA4fJhRKIUQAAAAUSURBVAjXY/z//z8DEmBiQAWk
|
||||
8gHq9gMHP8uZWAAAAABJRU5ErkJggg==
|
||||
--------------050902080306030406090208--
|
26
test/fixtures/mail_handler/thunderbird_with_attachment_ja.eml
vendored
Normal file
26
test/fixtures/mail_handler/thunderbird_with_attachment_ja.eml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
Message-ID: <50AA00C6.4070108@gmail.com>
|
||||
Date: Mon, 19 Nov 2012 18:49:58 +0900
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Lightning/1.0b1 Thunderbird/3.0.10
|
||||
MIME-Version: 1.0
|
||||
To: redmine@somenet.foo
|
||||
Subject: test
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="------------030104060902010800050907"
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------030104060902010800050907
|
||||
Content-Type: text/plain; charset=ISO-2022-JP
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
test
|
||||
|
||||
--------------030104060902010800050907
|
||||
Content-Type: text/plain;
|
||||
name="=?ISO-2022-JP?B?GyRCJUYlOSVIGyhCLnR4dA==?="
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: attachment;
|
||||
filename*=ISO-2022-JP''%1B%24%42%25%46%25%39%25%48%1B%28%42%2E%74%78%74
|
||||
|
||||
dGVzdAo=
|
||||
--------------030104060902010800050907--
|
17
test/fixtures/mail_handler/ticket_by_empty_user.eml
vendored
Normal file
17
test/fixtures/mail_handler/ticket_by_empty_user.eml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
Return-Path: <john.doe@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Ticket by unknown user
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This is a ticket submitted by an unknown user.
|
||||
|
18
test/fixtures/mail_handler/ticket_by_unknown_user.eml
vendored
Normal file
18
test/fixtures/mail_handler/ticket_by_unknown_user.eml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
Return-Path: <john.doe@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Doe" <john.doe@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Ticket by unknown user
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This is a ticket submitted by an unknown user.
|
||||
|
19
test/fixtures/mail_handler/ticket_from_emission_address.eml
vendored
Normal file
19
test/fixtures/mail_handler/ticket_from_emission_address.eml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Return-Path: <redmine@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Doe" <Redmine@example.net>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Ticket with the Redmine emission address
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
This is a ticket submitted with the Redmine emission address.
|
||||
It should be ignored.
|
||||
|
23
test/fixtures/mail_handler/ticket_html_only.eml
vendored
Normal file
23
test/fixtures/mail_handler/ticket_html_only.eml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
x-sender: <jsmith@somenet.foo>
|
||||
x-receiver: <redmine@somenet.foo>
|
||||
Received: from [127.0.0.1] ([127.0.0.1]) by somenet.foo with Quick 'n Easy Mail Server SMTP (1.0.0.0);
|
||||
Sun, 14 Dec 2008 16:18:06 GMT
|
||||
Message-ID: <494531B9.1070709@somenet.foo>
|
||||
Date: Sun, 14 Dec 2008 17:18:01 +0100
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
User-Agent: Thunderbird 2.0.0.18 (Windows/20081105)
|
||||
MIME-Version: 1.0
|
||||
To: redmine@somenet.foo
|
||||
Subject: HTML email
|
||||
Content-Type: text/html; charset=ISO-8859-1
|
||||
Content-Transfer-Encoding: 7bit
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<style>p {font-size:12.0pt;}</style>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" text="#000000">
|
||||
This is a <b>html-only</b> email.<br><h1>With a title</h1><p>and a paragraph.</p>
|
||||
</body>
|
||||
</html>
|
60
test/fixtures/mail_handler/ticket_on_given_project.eml
vendored
Normal file
60
test/fixtures/mail_handler/ticket_on_given_project.eml
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="utf-8";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris --- Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
Project: onlinestore
|
||||
Status: Resolved
|
||||
due date: 2010-12-31
|
||||
Start Date:2010-01-01
|
||||
Assigned to: John Smith
|
||||
fixed version: alpha
|
||||
estimated hours: 2.5
|
||||
done ratio: 30
|
||||
|
||||
--- This line starts with a delimiter and should not be stripped
|
||||
|
||||
This paragraph is before delimiters.
|
||||
|
||||
BREAK
|
||||
|
||||
This paragraph is between delimiters.
|
||||
|
||||
---=C2=A0
|
||||
|
||||
This paragraph is after the delimiter so it shouldn't appear.
|
||||
|
||||
Nulla et nunc. Duis pede. Donec et ipsum. Nam ut dui tincidunt neque
|
||||
sollicitudin iaculis. Duis vitae dolor. Vestibulum eget massa. Sed lorem.
|
||||
Nullam volutpat cursus erat. Cras felis dolor, lacinia quis, rutrum et,
|
||||
dictum et, ligula. Sed erat nibh, gravida in, accumsan non, placerat sed,
|
||||
massa. Sed sodales, ante fermentum ultricies sollicitudin, massa leo
|
||||
pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
|
||||
|
60
test/fixtures/mail_handler/ticket_on_project_given_by_to_header.eml
vendored
Normal file
60
test/fixtures/mail_handler/ticket_on_project_given_by_to_header.eml
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine+onlinestore@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris --- Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
Status: Resolved
|
||||
due date: 2010-12-31
|
||||
Start Date:2010-01-01
|
||||
Assigned to: John Smith
|
||||
fixed version: alpha
|
||||
estimated hours: 2.5
|
||||
done ratio: 30
|
||||
|
||||
--- This line starts with a delimiter and should not be stripped
|
||||
|
||||
This paragraph is before delimiters.
|
||||
|
||||
BREAK
|
||||
|
||||
This paragraph is between delimiters.
|
||||
|
||||
---
|
||||
|
||||
This paragraph is after the delimiter so it shouldn't appear.
|
||||
|
||||
Nulla et nunc. Duis pede. Donec et ipsum. Nam ut dui tincidunt neque
|
||||
sollicitudin iaculis. Duis vitae dolor. Vestibulum eget massa. Sed lorem.
|
||||
Nullam volutpat cursus erat. Cras felis dolor, lacinia quis, rutrum et,
|
||||
dictum et, ligula. Sed erat nibh, gravida in, accumsan non, placerat sed,
|
||||
massa. Sed sodales, ante fermentum ultricies sollicitudin, massa leo
|
||||
pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
|
||||
|
||||
|
74
test/fixtures/mail_handler/ticket_reply.eml
vendored
Normal file
74
test/fixtures/mail_handler/ticket_reply.eml
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sat, 21 Jun 2008 18:41:39 +0200
|
||||
Message-ID: <006a01c8d3bd$ad9baec0$0a00a8c0@osiris>
|
||||
In-Reply-To: <redmine.issue-2.20060719210421@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
References: <485d0ad366c88_d7014663a025f@osiris.tmail>
|
||||
Subject: Re: Add ingredients categories
|
||||
Date: Sat, 21 Jun 2008 18:41:39 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_NextPart_000_0067_01C8D3CE.711F9CC0"
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0
|
||||
Content-Type: text/plain;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
This is reply
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0
|
||||
Content-Type: text/html;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD>
|
||||
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
|
||||
<STYLE>BODY {
|
||||
FONT-SIZE: 0.8em; COLOR: #484848; FONT-FAMILY: Verdana, sans-serif
|
||||
}
|
||||
BODY H1 {
|
||||
FONT-SIZE: 1.2em; MARGIN: 0px; FONT-FAMILY: "Trebuchet MS", Verdana, =
|
||||
sans-serif
|
||||
}
|
||||
A {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:link {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:visited {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:hover {
|
||||
COLOR: #c61a1a
|
||||
}
|
||||
A:active {
|
||||
COLOR: #c61a1a
|
||||
}
|
||||
HR {
|
||||
BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: #ccc; BORDER-LEFT: 0px; =
|
||||
WIDTH: 100%; BORDER-BOTTOM: 0px; HEIGHT: 1px
|
||||
}
|
||||
.footer {
|
||||
FONT-SIZE: 0.8em; FONT-STYLE: italic
|
||||
}
|
||||
</STYLE>
|
||||
|
||||
<META content=3D"MSHTML 6.00.2900.2883" name=3DGENERATOR></HEAD>
|
||||
<BODY bgColor=3D#ffffff>
|
||||
<DIV><SPAN class=3Dfooter><FONT face=3DArial color=3D#000000 =
|
||||
size=3D2>This is=20
|
||||
reply</FONT></DIV></SPAN></BODY></HTML>
|
||||
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0--
|
||||
|
35
test/fixtures/mail_handler/ticket_reply_from_mail.eml
vendored
Normal file
35
test/fixtures/mail_handler/ticket_reply_from_mail.eml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer; Wed, 12 Oct 2016 03:05:50 -0700
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Wed, 12 Oct 2016 13:05:38 +0300
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Project: onlinestore
|
||||
Status: Resolved
|
||||
due date: 2010-12-31
|
||||
Start Date:2010-01-01
|
||||
Assigned to: John Smith
|
||||
fixed version: alpha
|
||||
estimated hours: 2.5
|
||||
remaining hours: 1
|
||||
done ratio: 30
|
||||
|
||||
This paragraph is before delimiter
|
||||
|
||||
On Wed, 11 Oct at 1:05 PM, Jon Smith <jsmith@somenet.foo<mailto:jsmith@somenet.foo>> wrote:
|
||||
|
||||
This paragraph is after the delimiter
|
80
test/fixtures/mail_handler/ticket_reply_with_status.eml
vendored
Normal file
80
test/fixtures/mail_handler/ticket_reply_with_status.eml
vendored
Normal file
|
@ -0,0 +1,80 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sat, 21 Jun 2008 18:41:39 +0200
|
||||
Message-ID: <006a01c8d3bd$ad9baec0$0a00a8c0@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
References: <485d0ad366c88_d7014663a025f@osiris.tmail>
|
||||
Subject: Re: [Cookbook - Feature #2] (New) Add ingredients categories
|
||||
Date: Sat, 21 Jun 2008 18:41:39 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_NextPart_000_0067_01C8D3CE.711F9CC0"
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0
|
||||
Content-Type: text/plain;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
This is reply
|
||||
|
||||
Status: Resolved
|
||||
due date: 2010-12-31
|
||||
Start Date:2010-01-01
|
||||
Assigned to: jsmith@somenet.foo
|
||||
float field: 52.6
|
||||
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0
|
||||
Content-Type: text/html;
|
||||
charset="utf-8"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD>
|
||||
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
|
||||
<STYLE>BODY {
|
||||
FONT-SIZE: 0.8em; COLOR: #484848; FONT-FAMILY: Verdana, sans-serif
|
||||
}
|
||||
BODY H1 {
|
||||
FONT-SIZE: 1.2em; MARGIN: 0px; FONT-FAMILY: "Trebuchet MS", Verdana, =
|
||||
sans-serif
|
||||
}
|
||||
A {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:link {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:visited {
|
||||
COLOR: #2a5685
|
||||
}
|
||||
A:hover {
|
||||
COLOR: #c61a1a
|
||||
}
|
||||
A:active {
|
||||
COLOR: #c61a1a
|
||||
}
|
||||
HR {
|
||||
BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND: #ccc; BORDER-LEFT: 0px; =
|
||||
WIDTH: 100%; BORDER-BOTTOM: 0px; HEIGHT: 1px
|
||||
}
|
||||
.footer {
|
||||
FONT-SIZE: 0.8em; FONT-STYLE: italic
|
||||
}
|
||||
</STYLE>
|
||||
|
||||
<META content=3D"MSHTML 6.00.2900.2883" name=3DGENERATOR></HEAD>
|
||||
<BODY bgColor=3D#ffffff>
|
||||
<DIV><SPAN class=3Dfooter><FONT face=3DArial color=3D#000000 =
|
||||
size=3D2>This is=20
|
||||
reply Status: Resolved</FONT></DIV></SPAN></BODY></HTML>
|
||||
|
||||
------=_NextPart_000_0067_01C8D3CE.711F9CC0--
|
||||
|
248
test/fixtures/mail_handler/ticket_with_attachment.eml
vendored
Normal file
248
test/fixtures/mail_handler/ticket_with_attachment.eml
vendored
Normal file
|
@ -0,0 +1,248 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sat, 21 Jun 2008 15:53:25 +0200
|
||||
Message-ID: <002301c8d3a6$2cdf6950$0a00a8c0@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Ticket created by email with attachment
|
||||
Date: Sat, 21 Jun 2008 15:53:25 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="----=_NextPart_000_001F_01C8D3B6.F05C5270"
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_NextPart_001_0020_01C8D3B6.F05C5270"
|
||||
|
||||
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270
|
||||
Content-Type: text/plain;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
This is a new ticket with attachments
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270
|
||||
Content-Type: text/html;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD>
|
||||
<META http-equiv=3DContent-Type content=3D"text/html; =
|
||||
charset=3Diso-8859-1">
|
||||
<META content=3D"MSHTML 6.00.2900.2883" name=3DGENERATOR>
|
||||
<STYLE></STYLE>
|
||||
</HEAD>
|
||||
<BODY bgColor=3D#ffffff>
|
||||
<DIV><FONT face=3DArial size=3D2>This is a new ticket with=20
|
||||
attachments</FONT></DIV></BODY></HTML>
|
||||
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270--
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270
|
||||
Content-Type: image/jpeg;
|
||||
name="Paella.jpg"
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: attachment;
|
||||
filename="Paella.jpg"
|
||||
|
||||
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
|
||||
cbis+/WpUqUcMZKdF44n/9k=
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270--
|
||||
|
43
test/fixtures/mail_handler/ticket_with_attributes.eml
vendored
Normal file
43
test/fixtures/mail_handler/ticket_with_attributes.eml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris. Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
Nulla et nunc. Duis pede. Donec et ipsum. Nam ut dui tincidunt neque
|
||||
sollicitudin iaculis. Duis vitae dolor. Vestibulum eget massa. Sed lorem.
|
||||
Nullam volutpat cursus erat. Cras felis dolor, lacinia quis, rutrum et,
|
||||
dictum et, ligula. Sed erat nibh, gravida in, accumsan non, placerat sed,
|
||||
massa. Sed sodales, ante fermentum ultricies sollicitudin, massa leo
|
||||
pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
|
||||
|
||||
Project: onlinestore
|
||||
Tracker: Feature Request
|
||||
category: stock management
|
||||
priority: URGENT
|
40
test/fixtures/mail_handler/ticket_with_cc.eml
vendored
Normal file
40
test/fixtures/mail_handler/ticket_with_cc.eml
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Cc: <DLopper@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris. Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
Nulla et nunc. Duis pede. Donec et ipsum. Nam ut dui tincidunt neque
|
||||
sollicitudin iaculis. Duis vitae dolor. Vestibulum eget massa. Sed lorem.
|
||||
Nullam volutpat cursus erat. Cras felis dolor, lacinia quis, rutrum et,
|
||||
dictum et, ligula. Sed erat nibh, gravida in, accumsan non, placerat sed,
|
||||
massa. Sed sodales, ante fermentum ultricies sollicitudin, massa leo
|
||||
pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
|
||||
|
43
test/fixtures/mail_handler/ticket_with_custom_fields.eml
vendored
Normal file
43
test/fixtures/mail_handler/ticket_with_custom_fields.eml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: New ticket with custom field values
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas imperdiet
|
||||
turpis et odio. Integer eget pede vel dolor euismod varius. Phasellus
|
||||
blandit eleifend augue. Nulla facilisi. Duis id diam. Class aptent taciti
|
||||
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In
|
||||
in urna sed tellus aliquet lobortis. Morbi scelerisque tortor in dolor. Cras
|
||||
sagittis odio eu lacus. Aliquam sem tortor, consequat sit amet, vestibulum
|
||||
id, iaculis at, lectus. Fusce tortor libero, congue ut, euismod nec, luctus
|
||||
eget, eros. Pellentesque tortor enim, feugiat in, dignissim eget, tristique
|
||||
sed, mauris. Pellentesque habitant morbi tristique senectus et netus et
|
||||
malesuada fames ac turpis egestas. Quisque sit amet libero. In hac habitasse
|
||||
platea dictumst.
|
||||
|
||||
Nulla et nunc. Duis pede. Donec et ipsum. Nam ut dui tincidunt neque
|
||||
sollicitudin iaculis. Duis vitae dolor. Vestibulum eget massa. Sed lorem.
|
||||
Nullam volutpat cursus erat. Cras felis dolor, lacinia quis, rutrum et,
|
||||
dictum et, ligula. Sed erat nibh, gravida in, accumsan non, placerat sed,
|
||||
massa. Sed sodales, ante fermentum ultricies sollicitudin, massa leo
|
||||
pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
|
||||
|
||||
category: Stock management
|
||||
searchable field: Value for a custom field
|
||||
Database: postgresql
|
||||
OS: Mac OS X ,windows
|
25
test/fixtures/mail_handler/ticket_with_duplicate_keyword.eml
vendored
Normal file
25
test/fixtures/mail_handler/ticket_with_duplicate_keyword.eml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
Return-Path: <JSmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sun, 22 Jun 2008 12:28:07 +0200
|
||||
Message-ID: <000501c8d452$a95cd7e0$0a00a8c0@osiris>
|
||||
From: "John Smith" <JSmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: New ticket on a given project
|
||||
Date: Sun, 22 Jun 2008 12:28:07 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain;
|
||||
format=flowed;
|
||||
charset="iso-8859-1";
|
||||
reply-type=original
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
|
||||
Project: ecookbook
|
||||
Priority: High
|
||||
Priority: Low
|
58
test/fixtures/mail_handler/ticket_with_empty_attachment.eml
vendored
Normal file
58
test/fixtures/mail_handler/ticket_with_empty_attachment.eml
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
Return-Path: <jsmith@somenet.foo>
|
||||
Received: from osiris ([127.0.0.1])
|
||||
by OSIRIS
|
||||
with hMailServer ; Sat, 21 Jun 2008 15:53:25 +0200
|
||||
Message-ID: <002301c8d3a6$2cdf6950$0a00a8c0@osiris>
|
||||
From: "John Smith" <jsmith@somenet.foo>
|
||||
To: <redmine@somenet.foo>
|
||||
Subject: Ticket created by email with attachment
|
||||
Date: Sat, 21 Jun 2008 15:53:25 +0200
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed;
|
||||
boundary="----=_NextPart_000_001F_01C8D3B6.F05C5270"
|
||||
X-Priority: 3
|
||||
X-MSMail-Priority: Normal
|
||||
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
|
||||
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270
|
||||
Content-Type: multipart/alternative;
|
||||
boundary="----=_NextPart_001_0020_01C8D3B6.F05C5270"
|
||||
|
||||
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270
|
||||
Content-Type: text/plain;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
This is a new ticket with attachments
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270
|
||||
Content-Type: text/html;
|
||||
charset="iso-8859-1"
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML><HEAD>
|
||||
<META http-equiv=3DContent-Type content=3D"text/html; =
|
||||
charset=3Diso-8859-1">
|
||||
<META content=3D"MSHTML 6.00.2900.2883" name=3DGENERATOR>
|
||||
<STYLE></STYLE>
|
||||
</HEAD>
|
||||
<BODY bgColor=3D#ffffff>
|
||||
<DIV><FONT face=3DArial size=3D2>This is a new ticket with=20
|
||||
attachments</FONT></DIV></BODY></HTML>
|
||||
|
||||
------=_NextPart_001_0020_01C8D3B6.F05C5270--
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270
|
||||
Content-Type: application/json;
|
||||
name="response.json"
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: attachment;
|
||||
filename="response.json"
|
||||
|
||||
|
||||
------=_NextPart_000_001F_01C8D3B6.F05C5270--
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue