Commit graph

42 commits

Author SHA1 Message Date
Vjacheslav Trushkin
f5bac7686b [ticket/10733] Removing static from data providers
Removing static from data provider functions

PHPBB3-10733
2012-04-01 19:14:53 +03:00
Vjacheslav Trushkin
d25b607ca1 [feature/merging-style-components] Updating test cases
Updating code in test cases for new template classes.

PHPBB3-10632
2012-03-15 21:12:13 +02:00
Vjacheslav Trushkin
ebdd03872a [feature/append_var] Adding test case
Adding test case for append_var

PHPBB3-10666
2012-03-08 01:01:16 +02:00
Andreas Fischer
a01e916737 Merge branch 'develop-olympus' into develop
* develop-olympus:
  [ticket/9916] Changing header in non-distributed files
  [ticket/9916] Changing coding guidelines license
  [ticket/9916] Updating License in the header

Conflicts:
	tests/mock/cache.php
2012-01-02 17:36:21 +01:00
Unknown
17991823ea [ticket/9916] Updating License in the header
PHPBB3-9916
2012-01-02 16:18:32 +00:00
Nils Adermann
ea46feb115 [feature/extension-manager] Add support for templates in extensions.
This commit adds a template path provider to separate the process of locating
(cached) paths in extensions from the template engine. The locator is supplied
with a list of paths from the path provider.

Admin templates can now be created in ext/<ext>/adm/style/ and regular
templates go into ext/<ext>/styles/<style>/template/. Extension templates
override regular templates. So if an extension supplies a file with a name
used in phpBB, the extension's file will be used.

A side-effect of this commit: Locator and Provider are now able to deal with
arbitrary levels of template inheritance. So we can expose this through
phpbb_template if we choose to, and allow styles to inherit from inherited
styles.

PHPBB3-10323
2011-09-29 16:15:53 +02:00
Andreas Fischer
af66fbb93b Merge branch 'develop' of git://github.com/phpbb/phpbb3 into develop
* 'develop' of git://github.com/phpbb/phpbb3:
  [ticket/10392] Alter parent namespace stripping.
  [ticket/10392] Test for magic loop variables with nested namespaces.
  [ticket/10392] Missed fix for S_BLOCK_NAME.
  [ticket/10392] Fix access to nested special block variables.
2011-09-27 20:24:16 +02:00
Chris Smith
118bc6198e [ticket/10392] Test for magic loop variables with nested namespaces.
PHPBB3-10392
2011-09-27 01:02:58 +01:00
Chris Smith
fbb5c641b8 [ticket/10384] Update unit tests to test for failing variable.
PHPBB3-10384
2011-09-24 20:48:37 +01:00
Patrick Webster
b5a79009ce [ticket/10322] Separate template varref resolution from output generation
Most template variables can now have their PHP variable name resolved instead
of only compiling directly. This allows for the use of block vars in INCLUDE
statements. This does not work for language variables since they require
multiple checks. Added tests for the new types of allowed INCLUDEs.

PHPBB3-10322
2011-09-16 01:46:42 -05:00
Patrick Webster
b5ecb2f7a8 [ticket/10322] Dynamic template include test
PHPBB3-10322
2011-09-08 17:54:59 -05:00
Oleg Pudeyev
1061e881bd [ticket/10354] Include cache directory path in unwritable message.
When template tests are skipped because cache directory is not
writable, include path to the cache directory into the message
saying it is not writable.

PHPBB3-10354
2011-09-05 01:20:57 -04:00
Oleg Pudeyev
05b71ca04e [feature/template-engine] Factor template locator out of template class.
Template locator is responsible for maintaining mapping from template
handles to filenames and paths, and provides resolution services
using these mappings.

Template locator is aware of template inheritance and is capable of
checking template file existence on the filesystem.

PHPBB3-9726
2011-07-30 17:06:22 -04:00
Nils Adermann
ee203b4632 [feature/template-engine] Test template DEFINE statements across files
PHPBB3-9726
2011-07-17 14:28:56 -04:00
Igor Wiedler
ae53623230 [feature/template-engine] Refactor $config dependency out of the filter
The template stream filter no longer depends on the $config global.
Instead it uses a 'allow_php' param that is passed via
stream_bucket_append's last argument.

Tests also adjusted.

PHPBB3-9726
2011-07-10 00:35:07 +02:00
Oleg Pudeyev
efda4da19f [feature/template-engine] Moved includephp test to its own file.
PHPBB3-9726
2011-05-18 10:57:04 -04:00
Oleg Pudeyev
20b4df2853 [feature/template-engine] Delete useless template require.
It is now handled by autoloading.

PHPBB3-9726
2011-05-18 10:36:17 -04:00
Oleg Pudeyev
be8fc0864c [feature/template-engine] Added a test for inclusion of php files from subdir.
PHPBB3-9726
2011-05-14 15:30:20 -04:00
Oleg Pudeyev
94560d7086 [feature/template-engine] Make INCLUDEPHP relative to board root.
PHPBB3-9726
2011-05-12 20:13:32 -04:00
Oleg Pudeyev
d2ac05aa74 [feature/template-engine] Replaced globals with dependency injection.
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
581374c9c3 [feature/template-engine] Deleted useless catch.
In tests there is no need to catch unexpected exceptions.

PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
ac9a910c64 [feature/template-engine] Delete obsolete comments pertaining to notices.
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
87832d06cc [feature/template-engine] Delete template class, use phpbb_template instead.
PHPBB3-9726
2011-05-04 00:08:20 -04:00
Oleg Pudeyev
2aec6bb07c [feature/template-engine] Only copy files to cache if they exist.
When testing eval code path, compiled templates may not be written
to the file system, and unconditionally trying to copy them
breaks tests.

PHPBB3-9726
2011-05-01 03:12:23 -04:00
Oleg Pudeyev
b884573c1d [feature/template-engine] Relax missing file exception check.
As long as the exception message has the correct description and
file name we should not care which function raised the exception.

PHPBB3-9726
2011-05-01 03:11:13 -04:00
Igor Wiedler
427a5122d5 [feature/template-engine] Fix negative variable expressions
compile_tag_if had the flawed approach of adding an isset statement for
all variables to the beginning of the if. This fails for negative
expressions, and checking those takes a considerable effort.

The easier solution is to make the variable expression itself
conditional, defaulting to null if it is not set.

Thanks to naderman for the solution.

PHPBB3-9726
2011-04-25 23:19:36 -04:00
Oleg Pudeyev
f0b97cfdcf [feature/template-engine] Added a test for reuse of loop identifiers.
This currently does not pass, thus it is commented out.

The reuse appears implausible in the same file, however it may be
also done across template files where it is much harder to detect.

PHPBB3-9726
2011-04-25 23:19:32 -04:00
Oleg Pudeyev
f97411b911 [feature/template-engine] Corrected miscompilation of loop size constructs.
PHPBB3-9726
2011-04-25 23:19:25 -04:00
Oleg Pudeyev
5afc0b9b90 [feature/template-engine] Corrected an off-by-one error in nested namespaces.
This error resulted in a dot from the namespace being placed into
variable reference in compiled template code, thus creating bogus
compiled template code.

PHPBB3-9726
2011-04-24 23:13:13 -04:00
Oleg Pudeyev
e10d62badc [feature/template-engine] Added a test for multilevel references in loops.
This currently fails.

This test is a reduced version of permission_mask template in acp, which
is not correctly compiled by the current template engine code.

PHPBB3-9726
2011-04-24 21:56:26 -04:00
Oleg Pudeyev
5c3ebb3465 [feature/template-engine] Deleted silencing of notices.
The code is now supposed to be notice-free, therefore there is no need
to have the notices silenced.

PHPBB3-9726
2011-04-24 21:22:43 -04:00
Oleg Pudeyev
a2c75f6053 [feature/template-engine] Deleted $template from phpbb_template_compile class.
phpbb_template_compile is now much simpler. It takes complete file paths
as inputs, either source template path or source template path and output
compiled template path. The number of methods also went down to two -
compile template and returned compiled text or compile and write to file.

phpbb_compile class is responsible for determining source and compiled
paths. It already had all the data necessary for this, now the code is
in the same place as the data it uses.

PHPBB3-9726
2011-04-24 21:18:18 -04:00
Oleg Pudeyev
f29f32e0d6 [feature/template-engine] Allow leading underscores in variable names.
Subsilver uses ._file in overall_header.

PHPBB3-9726
2011-04-24 01:08:48 -04:00
Oleg Pudeyev
203187a841 [feature/template-engine] Fix recompilation logic.
Do not change $recompile from true to false - any recompilation
condition alone is sufficient to force recompilation.

Also uncomment the nonexistent file test which passes with this fix.

PHPBB3-9726
2011-04-24 01:08:48 -04:00
Marek A. Ruszczynski
4b646c6c80 [feature/template-engine] Update tests.
PHPBB3-9726
2011-04-23 22:48:50 -04:00
Marek A. Ruszczynski
b835f364f5 [ticket/10081] remove $phpEx.
PHPBB3-10081
2011-03-07 18:50:18 +01:00
Marek A. Ruszczynski
7147382e9e [ticket/10081] Cleanup Template Tests.
There are no incomplete template tests anymore.

PHPBB3-10081
2011-03-07 18:26:46 +01:00
Erik Frèrejean
14891cdf4e [ticket/10011] Tests don't work on PHP < 5.3
Due to the usage of `__DIR__` for the file includes the tests can't
be ran on systems with PHP < 5.3. Replace all occurances of
`__DIR__` with `dirname(__FILE__)`.

PHPBB3-10011
2011-01-31 12:58:18 +01:00
Igor Wiedler
01fe91c5c4 [ticket/9987] Rename test files to include a _test suffix
PHPBB3-9987
2011-01-10 00:18:37 +01:00
Nils Adermann
a0930e78c6 Merge branch 'develop-olympus' into develop
* develop-olympus:
  [ticket/10081] remove $phpEx.
  [ticket/10081] Cleanup Template Tests.
2011-03-07 19:10:19 +01:00
Andreas Fischer
d06657c995 Merge branch 'develop-olympus' into develop
* develop-olympus:
  [ticket/10011] Tests don't work on PHP < 5.3

Conflicts:
	tests/security/redirect_test.php
2011-01-31 13:26:20 +01:00
Igor Wiedler
b5c8349f4a Merge branch 'develop-olympus' into develop
This merge commit includes ascraeus-specific renames and adjustments.
2011-01-10 00:37:47 +01:00