Added more tests.
This commit is contained in:
parent
7b03148160
commit
79e4dccccd
12 changed files with 1130 additions and 307 deletions
451
.idea/dbnavigator.xml
Normal file
451
.idea/dbnavigator.xml
Normal file
|
@ -0,0 +1,451 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DBNavigator.Project.DataEditorManager">
|
||||
<record-view-column-sorting-type value="BY_INDEX" />
|
||||
<value-preview-text-wrapping value="true" />
|
||||
<value-preview-pinned value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DataExportManager">
|
||||
<export-instructions>
|
||||
<create-header value="true" />
|
||||
<quote-values-containing-separator value="true" />
|
||||
<quote-all-values value="false" />
|
||||
<value-separator value="" />
|
||||
<file-name value="" />
|
||||
<file-location value="" />
|
||||
<scope value="GLOBAL" />
|
||||
<destination value="FILE" />
|
||||
<format value="EXCEL" />
|
||||
<charset value="windows-1252" />
|
||||
</export-instructions>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||
<autoscroll-to-editor value="false" />
|
||||
<autoscroll-from-editor value="true" />
|
||||
<show-object-properties value="true" />
|
||||
<loaded-nodes />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.EditorStateManager">
|
||||
<last-used-providers />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||
<method-browser />
|
||||
<execution-history>
|
||||
<group-entries value="true" />
|
||||
<execution-inputs />
|
||||
</execution-history>
|
||||
<argument-values-cache />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||
<last-used-dependency-type value="INCOMING" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||
<last-used-operator value="EQUAL" />
|
||||
<filters />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||
<recently-used-interfaces />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.Settings">
|
||||
<connections />
|
||||
<browser-settings>
|
||||
<general>
|
||||
<display-mode value="TABBED" />
|
||||
<navigation-history-size value="100" />
|
||||
<show-object-details value="false" />
|
||||
</general>
|
||||
<filters>
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
</filters>
|
||||
<sorting>
|
||||
<object-type name="COLUMN" sorting-type="NAME" />
|
||||
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||
</sorting>
|
||||
<default-editors>
|
||||
<object-type name="VIEW" editor-type="SELECTION" />
|
||||
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||
<object-type name="TYPE" editor-type="SELECTION" />
|
||||
</default-editors>
|
||||
</browser-settings>
|
||||
<navigation-settings>
|
||||
<lookup-filters>
|
||||
<lookup-objects>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="false" />
|
||||
<object-type name="ROLE" enabled="false" />
|
||||
<object-type name="PRIVILEGE" enabled="false" />
|
||||
<object-type name="CHARSET" enabled="false" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||
<object-type name="NESTED TABLE" enabled="false" />
|
||||
<object-type name="COLUMN" enabled="false" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="false" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE ATTRIBUTE" enabled="false" />
|
||||
<object-type name="ARGUMENT" enabled="false" />
|
||||
<object-type name="DIMENSION" enabled="false" />
|
||||
<object-type name="CLUSTER" enabled="false" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</lookup-objects>
|
||||
<force-database-load value="false" />
|
||||
<prompt-connection-selection value="true" />
|
||||
<prompt-schema-selection value="true" />
|
||||
</lookup-filters>
|
||||
</navigation-settings>
|
||||
<dataset-grid-settings>
|
||||
<general>
|
||||
<enable-zooming value="true" />
|
||||
</general>
|
||||
<sorting>
|
||||
<nulls-first value="true" />
|
||||
<max-sorting-columns value="4" />
|
||||
</sorting>
|
||||
<tracking-columns>
|
||||
<columnNames value="" />
|
||||
<visible value="true" />
|
||||
<editable value="false" />
|
||||
</tracking-columns>
|
||||
</dataset-grid-settings>
|
||||
<dataset-editor-settings>
|
||||
<text-editor-popup>
|
||||
<active value="false" />
|
||||
<active-if-empty value="false" />
|
||||
<data-length-threshold value="100" />
|
||||
<popup-delay value="1000" />
|
||||
</text-editor-popup>
|
||||
<values-list-popup>
|
||||
<show-popup-button value="true" />
|
||||
<element-count-threshold value="1000" />
|
||||
<data-length-threshold value="250" />
|
||||
</values-list-popup>
|
||||
<general>
|
||||
<fetch-block-size value="100" />
|
||||
<fetch-timeout value="30" />
|
||||
<trim-whitespaces value="true" />
|
||||
<convert-empty-strings-to-null value="true" />
|
||||
<select-content-on-cell-edit value="true" />
|
||||
<large-value-preview-active value="true" />
|
||||
</general>
|
||||
<filters>
|
||||
<prompt-filter-dialog value="true" />
|
||||
<default-filter-type value="BASIC" />
|
||||
</filters>
|
||||
<qualified-text-editor text-length-threshold="300">
|
||||
<content-types>
|
||||
<content-type name="Text" enabled="true" />
|
||||
<content-type name="XML" enabled="true" />
|
||||
<content-type name="DTD" enabled="true" />
|
||||
<content-type name="HTML" enabled="true" />
|
||||
<content-type name="XHTML" enabled="true" />
|
||||
<content-type name="CSS" enabled="true" />
|
||||
<content-type name="SQL" enabled="true" />
|
||||
<content-type name="PL/SQL" enabled="true" />
|
||||
<content-type name="JavaScript" enabled="true" />
|
||||
<content-type name="JSP" enabled="true" />
|
||||
<content-type name="JSPx" enabled="true" />
|
||||
<content-type name="ASP" enabled="true" />
|
||||
<content-type name="YAML" enabled="true" />
|
||||
<content-type name="Bash" enabled="true" />
|
||||
</content-types>
|
||||
</qualified-text-editor>
|
||||
<record-navigation>
|
||||
<navigation-target value="VIEWER" />
|
||||
</record-navigation>
|
||||
</dataset-editor-settings>
|
||||
<code-editor-settings>
|
||||
<general>
|
||||
<show-object-navigation-gutter value="false" />
|
||||
<show-spec-declaration-navigation-gutter value="true" />
|
||||
</general>
|
||||
<confirmations>
|
||||
<save-changes value="false" />
|
||||
<revert-changes value="true" />
|
||||
</confirmations>
|
||||
</code-editor-settings>
|
||||
<code-completion-settings>
|
||||
<filters>
|
||||
<basic-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="false" />
|
||||
<filter-element type="OBJECT" id="view" selected="false" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||
<filter-element type="OBJECT" id="index" selected="false" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||
<filter-element type="OBJECT" id="function" selected="false" />
|
||||
<filter-element type="OBJECT" id="package" selected="false" />
|
||||
<filter-element type="OBJECT" id="type" selected="false" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</basic-filter>
|
||||
<extended-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</extended-filter>
|
||||
</filters>
|
||||
<sorting enabled="true">
|
||||
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||
<sorting-element type="OBJECT" id="column" />
|
||||
<sorting-element type="OBJECT" id="table" />
|
||||
<sorting-element type="OBJECT" id="view" />
|
||||
<sorting-element type="OBJECT" id="materialized view" />
|
||||
<sorting-element type="OBJECT" id="index" />
|
||||
<sorting-element type="OBJECT" id="constraint" />
|
||||
<sorting-element type="OBJECT" id="trigger" />
|
||||
<sorting-element type="OBJECT" id="synonym" />
|
||||
<sorting-element type="OBJECT" id="sequence" />
|
||||
<sorting-element type="OBJECT" id="procedure" />
|
||||
<sorting-element type="OBJECT" id="function" />
|
||||
<sorting-element type="OBJECT" id="package" />
|
||||
<sorting-element type="OBJECT" id="type" />
|
||||
<sorting-element type="OBJECT" id="dimension" />
|
||||
<sorting-element type="OBJECT" id="cluster" />
|
||||
<sorting-element type="OBJECT" id="dblink" />
|
||||
<sorting-element type="OBJECT" id="schema" />
|
||||
<sorting-element type="OBJECT" id="role" />
|
||||
<sorting-element type="OBJECT" id="user" />
|
||||
<sorting-element type="RESERVED_WORD" id="function" />
|
||||
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||
</sorting>
|
||||
<format>
|
||||
<enforce-code-style-case value="true" />
|
||||
</format>
|
||||
</code-completion-settings>
|
||||
<execution-engine-settings>
|
||||
<statement-execution>
|
||||
<fetch-block-size value="100" />
|
||||
<execution-timeout value="20" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<focus-result value="false" />
|
||||
<prompt-execution value="false" />
|
||||
</statement-execution>
|
||||
<script-execution>
|
||||
<command-line-interfaces />
|
||||
<execution-timeout value="300" />
|
||||
</script-execution>
|
||||
<method-execution>
|
||||
<execution-timeout value="30" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<parameter-history-size value="10" />
|
||||
</method-execution>
|
||||
</execution-engine-settings>
|
||||
<operation-settings>
|
||||
<transactions>
|
||||
<uncommitted-changes>
|
||||
<on-project-close value="ASK" />
|
||||
<on-disconnect value="ASK" />
|
||||
<on-autocommit-toggle value="ASK" />
|
||||
</uncommitted-changes>
|
||||
<multiple-uncommitted-changes>
|
||||
<on-commit value="ASK" />
|
||||
<on-rollback value="ASK" />
|
||||
</multiple-uncommitted-changes>
|
||||
</transactions>
|
||||
<session-browser>
|
||||
<disconnect-session value="ASK" />
|
||||
<kill-session value="ASK" />
|
||||
<reload-on-filter-change value="false" />
|
||||
</session-browser>
|
||||
<compiler>
|
||||
<compile-type value="KEEP" />
|
||||
<compile-dependencies value="ASK" />
|
||||
<always-show-controls value="false" />
|
||||
</compiler>
|
||||
<debugger>
|
||||
<debugger-type value="JDBC" />
|
||||
<use-generic-runners value="true" />
|
||||
</debugger>
|
||||
</operation-settings>
|
||||
<ddl-file-settings>
|
||||
<extensions>
|
||||
<mapping file-type-id="VIEW" extensions="vw" />
|
||||
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||
</extensions>
|
||||
<general>
|
||||
<lookup-ddl-files value="true" />
|
||||
<create-ddl-files value="false" />
|
||||
<synchronize-ddl-files value="true" />
|
||||
<use-qualified-names value="false" />
|
||||
<make-scripts-rerunnable value="true" />
|
||||
</general>
|
||||
</ddl-file-settings>
|
||||
<general-settings>
|
||||
<regional-settings>
|
||||
<date-format value="MEDIUM" />
|
||||
<number-format value="UNGROUPED" />
|
||||
<locale value="SYSTEM_DEFAULT" />
|
||||
<use-custom-formats value="false" />
|
||||
</regional-settings>
|
||||
<environment>
|
||||
<environment-types>
|
||||
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||
</environment-types>
|
||||
<visibility-settings>
|
||||
<connection-tabs value="true" />
|
||||
<dialog-headers value="true" />
|
||||
<object-editor-tabs value="true" />
|
||||
<script-editor-tabs value="false" />
|
||||
<execution-result-tabs value="true" />
|
||||
</visibility-settings>
|
||||
</environment>
|
||||
</general-settings>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||
<execution-variables />
|
||||
</component>
|
||||
</project>
|
|
@ -2,9 +2,18 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/dbnavigator.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/anonymous_service_test.dart" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/exception_test.dart" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/typed_service_test.dart" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/view_generator_test.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/server.dart" afterPath="$PROJECT_DIR$/lib/src/http/server.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/pubspec.yaml" afterPath="$PROJECT_DIR$/pubspec.yaml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/angel_base.dart" afterPath="$PROJECT_DIR$/lib/src/http/angel_base.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/angel_http_exception.dart" afterPath="$PROJECT_DIR$/lib/src/http/angel_http_exception.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/anonymous_service.dart" afterPath="$PROJECT_DIR$/lib/src/http/anonymous_service.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/typed_service.dart" afterPath="$PROJECT_DIR$/lib/src/http/typed_service.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/all.dart" afterPath="$PROJECT_DIR$/test/all.dart" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/controller_test.dart" afterPath="$PROJECT_DIR$/test/controller_test.dart" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/.tmp/" />
|
||||
<ignored path="$PROJECT_DIR$/temp/" />
|
||||
|
@ -17,7 +26,7 @@
|
|||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="CoverageDataManager">
|
||||
<SUITE FILE_PATH="coverage/framework$All_Tests__for_coverage_.coverage" NAME="All Tests (for coverage) Coverage Results" MODIFIED="1497837068041" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="DartCoverageRunner" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" CONTEXT_FILE_PATH="$PROJECT_DIR$/test/all.dart" />
|
||||
<SUITE FILE_PATH="coverage/framework$All_Tests__for_coverage_.coverage" NAME="All Tests (for coverage) Coverage Results" MODIFIED="1498774624592" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="DartCoverageRunner" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" CONTEXT_FILE_PATH="$PROJECT_DIR$/test/all.dart" />
|
||||
</component>
|
||||
<component name="CreatePatchCommitExecutor">
|
||||
<option name="PATCH_PATH" value="" />
|
||||
|
@ -27,122 +36,48 @@
|
|||
<favorites_list name="framework" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="pubspec.yaml" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="21">
|
||||
<caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="378">
|
||||
<caret line="18" column="26" lean-forward="false" selection-start-line="18" selection-start-column="26" selection-end-line="18" selection-end-column="26" />
|
||||
<folding>
|
||||
<marker date="1497837224385" expanded="true" signature="588:776" ph="{...}" />
|
||||
</folding>
|
||||
</first_editor>
|
||||
<second_editor />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="service.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1743">
|
||||
<caret line="91" column="7" lean-forward="false" selection-start-line="91" selection-start-column="7" selection-end-line="91" selection-end-column="7" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="defs.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/defs.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="21">
|
||||
<caret line="1" column="7" lean-forward="true" selection-start-line="1" selection-start-column="7" selection-end-line="1" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#30#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="routable.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="546">
|
||||
<caret line="26" column="38" lean-forward="true" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" />
|
||||
<folding>
|
||||
<element signature="e#40#60#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="angel_framework.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/angel_framework.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="63">
|
||||
<caret line="3" column="7" lean-forward="true" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#81#109#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="server.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="605">
|
||||
<caret line="364" column="7" lean-forward="true" selection-start-line="364" selection-start-column="7" selection-end-line="364" selection-end-column="7" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="response_context.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="7245">
|
||||
<caret line="345" column="2" lean-forward="false" selection-start-line="345" selection-start-column="2" selection-end-line="345" selection-end-column="2" />
|
||||
<folding>
|
||||
<element signature="e#48#68#0" expanded="true" />
|
||||
<marker date="1497837059798" expanded="true" signature="10472:10474" ph="{...}" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="controller.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3591">
|
||||
<caret line="178" column="0" lean-forward="true" selection-start-line="178" selection-start-column="0" selection-end-line="178" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="hooked_test.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/test/hooked_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="378">
|
||||
<caret line="23" column="9" lean-forward="false" selection-start-line="23" selection-start-column="9" selection-end-line="23" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
<splitter split-orientation="horizontal" split-proportion="0.37098846">
|
||||
<split-first>
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="controller.dart" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1491">
|
||||
<caret line="78" column="3" lean-forward="true" selection-start-line="78" selection-start-column="3" selection-end-line="78" selection-end-column="3" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</split-first>
|
||||
<split-second>
|
||||
<leaf>
|
||||
<file leaf-file-name="controller_test.dart" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/test/controller_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="333">
|
||||
<caret line="92" column="33" lean-forward="false" selection-start-line="92" selection-start-column="33" selection-end-line="92" selection-end-column="33" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="routable.dart" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-2212">
|
||||
<caret line="26" column="38" lean-forward="false" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</split-second>
|
||||
</splitter>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
|
@ -180,10 +115,18 @@
|
|||
<find>writeln</find>
|
||||
<find>write(</find>
|
||||
<find>_</find>
|
||||
<find>index</find>
|
||||
<find>typed</find>
|
||||
<find>x</find>
|
||||
</findStrings>
|
||||
<replaceStrings>
|
||||
<replace>_isClosed</replace>
|
||||
<replace>// _printDebug</replace>
|
||||
<replace>create</replace>
|
||||
<replace>modify</replace>
|
||||
<replace>update</replace>
|
||||
<replace>remove</replace>
|
||||
<replace>data</replace>
|
||||
</replaceStrings>
|
||||
<dirStrings>
|
||||
<dir>C:\Users\thosa\Source\Angel\framework\lib</dir>
|
||||
|
@ -199,7 +142,6 @@
|
|||
<option value="$PROJECT_DIR$/test/common.dart" />
|
||||
<option value="$PROJECT_DIR$/test/hooked_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/fatal_error.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/angel_http_exception.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/memory_service.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/hooked_service.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/map_service.dart" />
|
||||
|
@ -207,7 +149,6 @@
|
|||
<option value="$PROJECT_DIR$/test/util_test.dart" />
|
||||
<option value="$PROJECT_DIR$/test/services_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/service.dart" />
|
||||
<option value="$PROJECT_DIR$/test/all.dart" />
|
||||
<option value="$PROJECT_DIR$/test/precontained_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/controller.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/metadata.dart" />
|
||||
|
@ -217,6 +158,16 @@
|
|||
<option value="$PROJECT_DIR$/README.md" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/server.dart" />
|
||||
<option value="$PROJECT_DIR$/pubspec.yaml" />
|
||||
<option value="$PROJECT_DIR$/test/view_generator_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/angel_base.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/angel_http_exception.dart" />
|
||||
<option value="$PROJECT_DIR$/test/exception_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/anonymous_service.dart" />
|
||||
<option value="$PROJECT_DIR$/test/anonymous_service_test.dart" />
|
||||
<option value="$PROJECT_DIR$/lib/src/http/typed_service.dart" />
|
||||
<option value="$PROJECT_DIR$/test/all.dart" />
|
||||
<option value="$PROJECT_DIR$/test/typed_service_test.dart" />
|
||||
<option value="$PROJECT_DIR$/test/controller_test.dart" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
|
@ -236,7 +187,7 @@
|
|||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<navigator currentView="ProjectPane" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
<showMembers />
|
||||
<showModules />
|
||||
|
@ -249,7 +200,92 @@
|
|||
<manualOrder />
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes />
|
||||
<panes>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="test" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="lib" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="lib" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="framework" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="lib" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="http" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scratches" />
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="options.lastSelected" value="preferences.externalResources" />
|
||||
|
@ -357,19 +393,44 @@
|
|||
<recursive>false</recursive>
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="tests in anonymous_service_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
|
||||
<option name="filePath" value="$PROJECT_DIR$/test/anonymous_service_test.dart" />
|
||||
<option name="testName" value="anonymous_service_test.dart" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="tests in exception_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
|
||||
<option name="filePath" value="$PROJECT_DIR$/test/exception_test.dart" />
|
||||
<option name="testName" value="exception_test.dart" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="tests in typed_service_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
|
||||
<option name="filePath" value="$PROJECT_DIR$/test/typed_service_test.dart" />
|
||||
<option name="testName" value="typed_service_test.dart" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="default view generator in view_generator_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
|
||||
<option name="filePath" value="$PROJECT_DIR$/test/view_generator_test.dart" />
|
||||
<option name="scope" value="GROUP_OR_TEST_BY_NAME" />
|
||||
<option name="testName" value="default view generator" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="false" name="tests in precontained_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
|
||||
<option name="filePath" value="$PROJECT_DIR$/test/precontained_test.dart" />
|
||||
<option name="testName" value="precontained_test.dart" />
|
||||
<method />
|
||||
</configuration>
|
||||
<list size="7">
|
||||
<item index="0" class="java.lang.String" itemvalue="Dart Test.tests in precontained_test.dart" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Dart Test.Controller Tests" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Dart Test.DI Tests" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Dart Test.Hooked Tests" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Dart Test.Routing Tests" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Dart Test.All Tests" />
|
||||
<item index="6" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (for coverage)" />
|
||||
<list size="11">
|
||||
<item index="0" class="java.lang.String" itemvalue="Dart Test.tests in anonymous_service_test.dart" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Dart Test.tests in exception_test.dart" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Dart Test.tests in typed_service_test.dart" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Dart Test.default view generator in view_generator_test.dart" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Dart Test.tests in precontained_test.dart" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Dart Test.Controller Tests" />
|
||||
<item index="6" class="java.lang.String" itemvalue="Dart Test.DI Tests" />
|
||||
<item index="7" class="java.lang.String" itemvalue="Dart Test.Hooked Tests" />
|
||||
<item index="8" class="java.lang.String" itemvalue="Dart Test.Routing Tests" />
|
||||
<item index="9" class="java.lang.String" itemvalue="Dart Test.All Tests" />
|
||||
<item index="10" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (for coverage)" />
|
||||
</list>
|
||||
</component>
|
||||
<component name="ShelveChangesManager" show_recycled="false">
|
||||
|
@ -402,7 +463,8 @@
|
|||
<workItem from="1497200020318" duration="40000" />
|
||||
<workItem from="1497200155899" duration="120000" />
|
||||
<workItem from="1497825298573" duration="2603000" />
|
||||
<workItem from="1497985699191" duration="291000" />
|
||||
<workItem from="1497985699191" duration="902000" />
|
||||
<workItem from="1498770817945" duration="3831000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Re-designed exception">
|
||||
<created>1481237183504</created>
|
||||
|
@ -516,43 +578,50 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1497837231709</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="17" />
|
||||
<task id="LOCAL-00017" summary="Patch">
|
||||
<created>1497985995955</created>
|
||||
<option name="number" value="00017" />
|
||||
<option name="presentableId" value="LOCAL-00017" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1497985995955</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="18" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TestHistory">
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 07h 54m 45s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="Controller_Tests - 2017.06.29 at 18h 07m 41s.xml">
|
||||
<configuration name="Controller Tests" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 07h 56m 41s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="Controller_Tests - 2017.06.29 at 18h 08m 58s.xml">
|
||||
<configuration name="Controller Tests" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 07h 58m 57s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="Controller_Tests - 2017.06.29 at 18h 10m 24s.xml">
|
||||
<configuration name="Controller Tests" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 07h 59m 07s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="Controller_Tests - 2017.06.29 at 18h 11m 22s.xml">
|
||||
<configuration name="Controller Tests" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 08h 00m 14s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="Controller_Tests - 2017.06.29 at 18h 15m 29s.xml">
|
||||
<configuration name="Controller Tests" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 08h 00m 43s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="tests_in_typed_service_test_dart - 2017.06.29 at 18h 01m 34s.xml">
|
||||
<configuration name="tests in typed_service_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 08h 01m 42s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="tests_in_typed_service_test_dart - 2017.06.29 at 18h 01m 46s.xml">
|
||||
<configuration name="tests in typed_service_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 08h 02m 39s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="tests_in_typed_service_test_dart - 2017.06.29 at 18h 02m 10s.xml">
|
||||
<configuration name="tests in typed_service_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.05.29 at 08h 02m 54s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="tests_in_typed_service_test_dart - 2017.06.29 at 18h 04m 19s.xml">
|
||||
<configuration name="tests in typed_service_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
<history-entry file="tests_in_precontained_test_dart - 2017.06.06 at 08h 33m 54s.xml">
|
||||
<configuration name="tests in precontained_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
<history-entry file="tests_in_typed_service_test_dart - 2017.06.29 at 18h 05m 00s.xml">
|
||||
<configuration name="tests in typed_service_test.dart" configurationId="DartTestRunConfigurationType" />
|
||||
</history-entry>
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="12845000" />
|
||||
<option name="totallyTimeSpent" value="17287000" />
|
||||
</component>
|
||||
<component name="TodoView">
|
||||
<todo-panel id="selected-file">
|
||||
|
@ -565,26 +634,29 @@
|
|||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-9" y="-9" width="1938" height="1048" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.22792174" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32998413" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32616082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="DB Execution Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Dart Analysis" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32802936" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3272933" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.28425822" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3250283" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1760973" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295583" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3250283" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Tool Output" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32616082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3295583" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="ANTLR Preview" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
|
@ -610,70 +682,14 @@
|
|||
<MESSAGE value="1.0.3" />
|
||||
<MESSAGE value="+1" />
|
||||
<MESSAGE value="1.0.4" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="1.0.4" />
|
||||
<MESSAGE value="Patch" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Patch" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/test/common.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="195">
|
||||
<caret line="13" column="1" lean-forward="true" selection-start-line="13" selection-start-column="1" selection-end-line="13" selection-end-column="1" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/controller_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="90">
|
||||
<caret line="14" column="23" lean-forward="false" selection-start-line="14" selection-start-column="23" selection-end-line="14" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/hooked_service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="675">
|
||||
<caret line="49" column="5" lean-forward="false" selection-start-line="49" selection-start-column="5" selection-end-line="49" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2175">
|
||||
<caret line="153" column="25" lean-forward="true" selection-start-line="153" selection-start-column="25" selection-end-line="153" selection-end-column="25" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3540">
|
||||
<caret line="236" column="27" lean-forward="false" selection-start-line="236" selection-start-column="27" selection-end-line="236" selection-end-column="27" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1260">
|
||||
<caret line="94" column="26" lean-forward="false" selection-start-line="94" selection-start-column="26" selection-end-line="94" selection-end-column="26" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/hooked_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1275">
|
||||
|
@ -774,13 +790,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/angel_http_exception.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1113">
|
||||
<caret line="53" column="0" lean-forward="false" selection-start-line="53" selection-start-column="0" selection-end-line="53" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/di_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-522">
|
||||
|
@ -795,13 +804,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/services_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="249">
|
||||
<caret line="30" column="32" lean-forward="false" selection-start-line="30" selection-start-column="32" selection-end-line="30" selection-end-column="32" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/common.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
|
@ -809,20 +811,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/controller_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1344">
|
||||
<caret line="70" column="2" lean-forward="false" selection-start-line="70" selection-start-column="2" selection-end-line="70" selection-end-column="2" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/angel_base.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-192">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/map_service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="378">
|
||||
|
@ -830,13 +818,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/all.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="357">
|
||||
<caret line="17" column="43" lean-forward="false" selection-start-line="17" selection-start-column="43" selection-end-line="17" selection-end-column="43" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/hooks.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="5544">
|
||||
|
@ -880,14 +861,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1743">
|
||||
<caret line="91" column="7" lean-forward="false" selection-start-line="91" selection-start-column="7" selection-end-line="91" selection-end-column="7" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/hooked_service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-1722">
|
||||
|
@ -898,9 +871,9 @@
|
|||
<entry file="file://$PROJECT_DIR$/lib/src/defs.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="21">
|
||||
<caret line="1" column="7" lean-forward="true" selection-start-line="1" selection-start-column="7" selection-end-line="1" selection-end-column="7" />
|
||||
<caret line="1" column="7" lean-forward="false" selection-start-line="1" selection-start-column="7" selection-end-line="1" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#30#54#0" expanded="true" />
|
||||
<element signature="e#30#54#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -922,19 +895,9 @@
|
|||
<entry file="file://$PROJECT_DIR$/lib/angel_framework.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="63">
|
||||
<caret line="3" column="7" lean-forward="true" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
|
||||
<caret line="3" column="7" lean-forward="false" selection-start-line="3" selection-start-column="7" selection-end-line="3" selection-end-column="7" />
|
||||
<folding>
|
||||
<element signature="e#81#109#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="546">
|
||||
<caret line="26" column="38" lean-forward="true" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" />
|
||||
<folding>
|
||||
<element signature="e#40#60#0" expanded="true" />
|
||||
<element signature="e#81#109#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -948,7 +911,7 @@
|
|||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="7245">
|
||||
<state relative-caret-position="7077">
|
||||
<caret line="345" column="2" lean-forward="false" selection-start-line="345" selection-start-column="2" selection-end-line="345" selection-end-column="2" />
|
||||
<folding>
|
||||
<element signature="e#48#68#0" expanded="true" />
|
||||
|
@ -957,17 +920,9 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3591">
|
||||
<caret line="178" column="0" lean-forward="true" selection-start-line="178" selection-start-column="0" selection-end-line="178" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="605">
|
||||
<state relative-caret-position="7329">
|
||||
<caret line="364" column="7" lean-forward="true" selection-start-line="364" selection-start-column="7" selection-end-line="364" selection-end-column="7" />
|
||||
<folding />
|
||||
</state>
|
||||
|
@ -976,8 +931,8 @@
|
|||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="378">
|
||||
<caret line="18" column="26" lean-forward="false" selection-start-line="18" selection-start-column="26" selection-end-line="18" selection-end-column="26" />
|
||||
<first_editor relative-caret-position="84">
|
||||
<caret line="4" column="0" lean-forward="true" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
||||
<folding>
|
||||
<marker date="1497837224385" expanded="true" signature="588:776" ph="{...}" />
|
||||
</folding>
|
||||
|
@ -986,10 +941,155 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/view_generator_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="126">
|
||||
<caret line="6" column="38" lean-forward="true" selection-start-line="6" selection-start-column="38" selection-end-line="6" selection-end-column="38" />
|
||||
<folding>
|
||||
<element signature="e#0#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://C:/Program Files/Dart/dart-sdk/lib/io/http.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="284">
|
||||
<caret line="36" column="19" lean-forward="false" selection-start-line="36" selection-start-column="19" selection-end-line="36" selection-end-column="19" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/exception_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="270">
|
||||
<caret line="60" column="31" lean-forward="true" selection-start-line="60" selection-start-column="31" selection-end-line="60" selection-end-column="31" />
|
||||
<folding>
|
||||
<element signature="e#0#22#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/angel_http_exception.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="231">
|
||||
<caret line="11" column="0" lean-forward="true" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/anonymous_service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-171">
|
||||
<caret line="9" column="2" lean-forward="false" selection-start-line="9" selection-start-column="2" selection-end-line="9" selection-end-column="2" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
<marker date="1498772578410" expanded="true" signature="211:537" ph="{...}" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/base_middleware.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/anonymous_service_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="249">
|
||||
<caret line="28" column="9" lean-forward="true" selection-start-line="28" selection-start-column="9" selection-end-line="28" selection-end-column="9" />
|
||||
<folding>
|
||||
<element signature="e#0#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="21">
|
||||
<caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
|
||||
<state relative-caret-position="210">
|
||||
<caret line="10" column="19" lean-forward="true" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="307">
|
||||
<caret line="67" column="18" lean-forward="false" selection-start-line="67" selection-start-column="18" selection-end-line="67" selection-end-column="18" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/services_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="261">
|
||||
<caret line="22" column="31" lean-forward="false" selection-start-line="22" selection-start-column="26" selection-end-line="22" selection-end-column="31" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/all.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="375">
|
||||
<caret line="27" column="45" lean-forward="false" selection-start-line="27" selection-start-column="45" selection-end-line="27" selection-end-column="45" />
|
||||
<folding>
|
||||
<element signature="e#0#58#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/typed_service_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="126">
|
||||
<caret line="6" column="0" lean-forward="true" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#0#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/angel_base.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="84">
|
||||
<caret line="15" column="29" lean-forward="false" selection-start-line="15" selection-start-column="29" selection-end-line="20" selection-end-column="32" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/typed_service.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="294">
|
||||
<caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1491">
|
||||
<caret line="78" column="3" lean-forward="true" selection-start-line="78" selection-start-column="3" selection-end-line="78" selection-end-column="3" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/test/controller_test.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="333">
|
||||
<caret line="92" column="33" lean-forward="false" selection-start-line="92" selection-start-column="33" selection-end-line="92" selection-end-column="33" />
|
||||
<folding>
|
||||
<element signature="e#0#20#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-2212">
|
||||
<caret line="26" column="38" lean-forward="false" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
|
@ -28,6 +28,5 @@ class AngelBase extends Routable {
|
|||
/// A function that renders views.
|
||||
///
|
||||
/// Called by [ResponseContext]@`render`.
|
||||
ViewGenerator viewGenerator = (String view,
|
||||
[Map data]) async => "No view engine has been configured yet.";
|
||||
ViewGenerator viewGenerator = (String view, [Map data]) async => "No view engine has been configured yet.";
|
||||
}
|
|
@ -32,7 +32,7 @@ class AngelHttpException implements Exception {
|
|||
Map toJson() {
|
||||
return {
|
||||
'isError': true,
|
||||
'statusCode': statusCode,
|
||||
'status_code': statusCode,
|
||||
'message': message,
|
||||
'errors': errors
|
||||
};
|
||||
|
@ -47,7 +47,7 @@ class AngelHttpException implements Exception {
|
|||
|
||||
factory AngelHttpException.fromMap(Map data) {
|
||||
return new AngelHttpException(null,
|
||||
statusCode: data['statusCode'],
|
||||
statusCode: data['status_code'] ?? data['statusCode'],
|
||||
message: data['message'],
|
||||
errors: data['errors']);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ class AnonymousService extends Service {
|
|||
Function _index, _read, _create, _modify, _update, _remove;
|
||||
|
||||
AnonymousService(
|
||||
{Future<List> index([Map params]),
|
||||
{Future index([Map params]),
|
||||
Future read(id, [Map params]),
|
||||
Future create(data, [Map params]),
|
||||
Future modify(id, data, [Map params]),
|
||||
|
|
|
@ -15,7 +15,7 @@ class TypedService<T> extends Service {
|
|||
|
||||
deserialize(x) {
|
||||
// print('DESERIALIZE: $x (${x.runtimeType})');
|
||||
if (x == dynamic || x == Object || x is T)
|
||||
if (x is Type || x is T)
|
||||
return x;
|
||||
else if (x is Iterable)
|
||||
return x.map(deserialize).toList();
|
||||
|
@ -23,7 +23,11 @@ class TypedService<T> extends Service {
|
|||
Map data = x.keys.fold({}, (map, key) {
|
||||
var value = x[key];
|
||||
|
||||
if ((key == 'createdAt' || key == 'updatedAt') && value is String) {
|
||||
if ((key == 'createdAt' ||
|
||||
key == 'updatedAt' ||
|
||||
key == 'created_at' ||
|
||||
key == 'updated_at') &&
|
||||
value is String) {
|
||||
return map..[key] = DateTime.parse(value);
|
||||
} else {
|
||||
return map..[key] = value;
|
||||
|
@ -32,16 +36,16 @@ class TypedService<T> extends Service {
|
|||
|
||||
Model result = god.deserializeDatum(data, outputType: T);
|
||||
|
||||
if (x['createdAt'] is String) {
|
||||
result.createdAt = DateTime.parse(x['createdAt']);
|
||||
} else if (x['createdAt'] is DateTime) {
|
||||
result.createdAt = x['createdAt'];
|
||||
if (data['createdAt'] is DateTime) {
|
||||
result.createdAt = data['createdAt'];
|
||||
} else if (data['created_at'] is DateTime) {
|
||||
result.createdAt = data['created_at'];
|
||||
}
|
||||
|
||||
if (x['updatedAt'] is String) {
|
||||
result.updatedAt = DateTime.parse(x['updatedAt']);
|
||||
} else if (x['updatedAt'] is DateTime) {
|
||||
result.updatedAt = x['updatedAt'];
|
||||
if (data['updatedAt'] is DateTime) {
|
||||
result.updatedAt = data['updatedAt'];
|
||||
} else if (data['updated_at'] is DateTime) {
|
||||
result.updatedAt = data['updated_at'];
|
||||
}
|
||||
|
||||
// print('x: $x\nresult: $result');
|
||||
|
|
|
@ -1,23 +1,31 @@
|
|||
import 'anonymous_service_test.dart' as anonymous_service;
|
||||
import 'controller_test.dart' as controller;
|
||||
import 'di_test.dart' as di;
|
||||
import 'exception_test.dart' as exception;
|
||||
import 'general_test.dart' as general;
|
||||
import 'hooked_test.dart' as hooked;
|
||||
import 'precontained_test.dart' as precontained;
|
||||
import 'routing_test.dart' as routing;
|
||||
import 'serialize_test.dart' as serialize;
|
||||
import 'services_test.dart' as services;
|
||||
import 'typed_service_test.dart' as typed_service;
|
||||
import 'util_test.dart' as util;
|
||||
import 'view_generator_test.dart' as view_generator;
|
||||
import 'package:test/test.dart';
|
||||
|
||||
/// For running with coverage
|
||||
main() {
|
||||
group('anonymous service', anonymous_service.main);
|
||||
group('controller', controller.main);
|
||||
group('di', di.main);
|
||||
group('exception', exception.main);
|
||||
group('general', general.main);
|
||||
group('hooked', hooked.main);
|
||||
group('precontained', precontained.main);
|
||||
group('routing', routing.main);
|
||||
group('serialize', serialize.main);
|
||||
group('services', services.main);
|
||||
group('typed_service', typed_service.main);
|
||||
group('util', util.main);
|
||||
}
|
||||
group('view generator', view_generator.main);
|
||||
}
|
||||
|
|
44
test/anonymous_service_test.dart
Normal file
44
test/anonymous_service_test.dart
Normal file
|
@ -0,0 +1,44 @@
|
|||
import 'package:angel_framework/angel_framework.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
main() {
|
||||
test('custom methods', () async {
|
||||
var svc = new AnonymousService(
|
||||
index: ([p]) async => 'index',
|
||||
read: (id, [p]) async => 'read',
|
||||
create: (data, [p]) async => 'create',
|
||||
modify: (id, data, [p]) async => 'modify',
|
||||
update: (id, data, [p]) async => 'update',
|
||||
remove: (id, [p]) async => 'remove');
|
||||
expect(await svc.index(), 'index');
|
||||
expect(await svc.read(null), 'read');
|
||||
expect(await svc.create(null), 'create');
|
||||
expect(await svc.modify(null, null), 'modify');
|
||||
expect(await svc.update(null, null), 'update');
|
||||
expect(await svc.remove(null), 'remove');
|
||||
});
|
||||
|
||||
test('defaults to throwing', () async {
|
||||
try {
|
||||
var svc = new AnonymousService();
|
||||
await svc.read(1);
|
||||
throw 'Should have thrown 405!';
|
||||
} on AngelHttpException {
|
||||
// print('Ok!');
|
||||
}
|
||||
try {
|
||||
var svc = new AnonymousService();
|
||||
await svc.modify(2, null);
|
||||
throw 'Should have thrown 405!';
|
||||
} on AngelHttpException {
|
||||
// print('Ok!');
|
||||
}
|
||||
try {
|
||||
var svc = new AnonymousService();
|
||||
await svc.update(3, null);
|
||||
throw 'Should have thrown 405!';
|
||||
} on AngelHttpException {
|
||||
// print('Ok!');
|
||||
}
|
||||
});
|
||||
}
|
|
@ -3,6 +3,7 @@ import 'dart:convert';
|
|||
import 'dart:io';
|
||||
import 'package:angel_framework/angel_framework.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:mock_request/mock_request.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'common.dart';
|
||||
|
||||
|
@ -25,8 +26,19 @@ class TodoController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
class NoExposeController extends Controller {
|
||||
|
||||
}
|
||||
|
||||
@Expose('/named', as: 'foo')
|
||||
class NamedController extends Controller {
|
||||
@Expose('/optional/:arg?', allowNull: const ['arg'])
|
||||
optional() => 2;
|
||||
}
|
||||
|
||||
main() {
|
||||
Angel app;
|
||||
TodoController ctrl;
|
||||
HttpServer server;
|
||||
http.Client client = new http.Client();
|
||||
String url;
|
||||
|
@ -39,7 +51,7 @@ main() {
|
|||
"/redirect",
|
||||
(req, ResponseContext res) async =>
|
||||
res.redirectToAction("TodoController@foo", {"foo": "world"}));
|
||||
await app.configure(new TodoController());
|
||||
await app.configure(ctrl = new TodoController());
|
||||
|
||||
print(app.controllers);
|
||||
app.dumpTree();
|
||||
|
@ -54,6 +66,39 @@ main() {
|
|||
url = null;
|
||||
});
|
||||
|
||||
test('basic', () {
|
||||
expect(ctrl.app, app);
|
||||
});
|
||||
|
||||
test('require expose', () async {
|
||||
try {
|
||||
var app = new Angel();
|
||||
await app.configure(new NoExposeController());
|
||||
throw 'Should require @Expose';
|
||||
} on Exception {
|
||||
// :)
|
||||
}
|
||||
});
|
||||
|
||||
test('create dynamic handler', () async {
|
||||
var app = new Angel();
|
||||
app.get('/foo', createDynamicHandler(({String bar}) {
|
||||
return 2;
|
||||
}, optional: [
|
||||
'bar'
|
||||
]));
|
||||
var rq = new MockHttpRequest('GET', new Uri(path: 'foo'));
|
||||
await app.handleRequest(rq);
|
||||
var body = await rq.response.transform(UTF8.decoder).join();
|
||||
expect(JSON.decode(body), 2);
|
||||
});
|
||||
|
||||
test('optional name', () async {
|
||||
var app = new Angel();
|
||||
await app.configure(new NamedController());
|
||||
expect(app.controllers['foo'], new isInstanceOf<NamedController>());
|
||||
});
|
||||
|
||||
test("middleware", () async {
|
||||
var rgx = new RegExp("^Hello, world!");
|
||||
var response = await client.get("$url/todos/0");
|
||||
|
|
97
test/exception_test.dart
Normal file
97
test/exception_test.dart
Normal file
|
@ -0,0 +1,97 @@
|
|||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
import 'package:angel_framework/angel_framework.dart';
|
||||
import 'package:matcher/matcher.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
main() {
|
||||
test('named constructors', () {
|
||||
expect(new AngelHttpException.badRequest(),
|
||||
isException(HttpStatus.BAD_REQUEST, '400 Bad Request'));
|
||||
expect(new AngelHttpException.BadRequest(),
|
||||
isException(HttpStatus.BAD_REQUEST, '400 Bad Request'));
|
||||
expect(new AngelHttpException.notAuthenticated(),
|
||||
isException(HttpStatus.UNAUTHORIZED, '401 Not Authenticated'));
|
||||
expect(new AngelHttpException.NotAuthenticated(),
|
||||
isException(HttpStatus.UNAUTHORIZED, '401 Not Authenticated'));
|
||||
expect(new AngelHttpException.paymentRequired(),
|
||||
isException(HttpStatus.PAYMENT_REQUIRED, '402 Payment Required'));
|
||||
expect(new AngelHttpException.PaymentRequired(),
|
||||
isException(HttpStatus.PAYMENT_REQUIRED, '402 Payment Required'));
|
||||
expect(new AngelHttpException.forbidden(),
|
||||
isException(HttpStatus.FORBIDDEN, '403 Forbidden'));
|
||||
expect(new AngelHttpException.Forbidden(),
|
||||
isException(HttpStatus.FORBIDDEN, '403 Forbidden'));
|
||||
expect(new AngelHttpException.notFound(),
|
||||
isException(HttpStatus.NOT_FOUND, '404 Not Found'));
|
||||
expect(new AngelHttpException.NotFound(),
|
||||
isException(HttpStatus.NOT_FOUND, '404 Not Found'));
|
||||
expect(new AngelHttpException.methodNotAllowed(),
|
||||
isException(HttpStatus.METHOD_NOT_ALLOWED, '405 Method Not Allowed'));
|
||||
expect(new AngelHttpException.MethodNotAllowed(),
|
||||
isException(HttpStatus.METHOD_NOT_ALLOWED, '405 Method Not Allowed'));
|
||||
expect(new AngelHttpException.notAcceptable(),
|
||||
isException(HttpStatus.NOT_ACCEPTABLE, '406 Not Acceptable'));
|
||||
expect(new AngelHttpException.NotAcceptable(),
|
||||
isException(HttpStatus.NOT_ACCEPTABLE, '406 Not Acceptable'));
|
||||
expect(new AngelHttpException.methodTimeout(),
|
||||
isException(HttpStatus.REQUEST_TIMEOUT, '408 Timeout'));
|
||||
expect(new AngelHttpException.MethodTimeout(),
|
||||
isException(HttpStatus.REQUEST_TIMEOUT, '408 Timeout'));
|
||||
expect(new AngelHttpException.conflict(),
|
||||
isException(HttpStatus.CONFLICT, '409 Conflict'));
|
||||
expect(new AngelHttpException.Conflict(),
|
||||
isException(HttpStatus.CONFLICT, '409 Conflict'));
|
||||
expect(new AngelHttpException.notProcessable(),
|
||||
isException(422, '422 Not Processable'));
|
||||
expect(new AngelHttpException.NotProcessable(),
|
||||
isException(422, '422 Not Processable'));
|
||||
expect(new AngelHttpException.notImplemented(),
|
||||
isException(HttpStatus.NOT_IMPLEMENTED, '501 Not Implemented'));
|
||||
expect(new AngelHttpException.NotImplemented(),
|
||||
isException(HttpStatus.NOT_IMPLEMENTED, '501 Not Implemented'));
|
||||
expect(new AngelHttpException.unavailable(),
|
||||
isException(HttpStatus.SERVICE_UNAVAILABLE, '503 Unavailable'));
|
||||
expect(new AngelHttpException.Unavailable(),
|
||||
isException(HttpStatus.SERVICE_UNAVAILABLE, '503 Unavailable'));
|
||||
});
|
||||
|
||||
test('fromMap', () {
|
||||
expect(new AngelHttpException.fromMap({'status_code': -1, 'message': 'ok'}),
|
||||
isException(-1, 'ok'));
|
||||
});
|
||||
|
||||
test('toMap = toJson', () {
|
||||
var exc = new AngelHttpException.badRequest();
|
||||
expect(exc.toMap(), exc.toJson());
|
||||
var json = JSON.encode(exc.toJson());
|
||||
var exc2 = new AngelHttpException.fromJson(json);
|
||||
expect(exc2.toJson(), exc.toJson());
|
||||
});
|
||||
|
||||
test('toString', () {
|
||||
expect(
|
||||
new AngelHttpException(null, statusCode: 420, message: 'Blaze It')
|
||||
.toString(),
|
||||
'420: Blaze It');
|
||||
});
|
||||
}
|
||||
|
||||
Matcher isException(int statusCode, String message) =>
|
||||
new _IsException(statusCode, message);
|
||||
|
||||
class _IsException extends Matcher {
|
||||
final int statusCode;
|
||||
final String message;
|
||||
|
||||
_IsException(this.statusCode, this.message);
|
||||
|
||||
@override
|
||||
Description describe(Description description) =>
|
||||
description.add('has status code $statusCode and message "$message"');
|
||||
|
||||
@override
|
||||
bool matches(AngelHttpException item, Map matchState) {
|
||||
return item.statusCode == statusCode && item.message == message;
|
||||
}
|
||||
}
|
65
test/typed_service_test.dart
Normal file
65
test/typed_service_test.dart
Normal file
|
@ -0,0 +1,65 @@
|
|||
import 'package:angel_framework/angel_framework.dart';
|
||||
import 'package:angel_framework/common.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
main() {
|
||||
var svc = new TypedService<Todo>(new MapService());
|
||||
|
||||
test('force model', () {
|
||||
expect(() => new TypedService<String>(null), throwsException);
|
||||
});
|
||||
|
||||
test('serialize', () {
|
||||
expect(svc.serialize({'foo': 'bar'}), {'foo': 'bar'});
|
||||
expect(
|
||||
svc.serialize([
|
||||
{'foo': 'bar'}
|
||||
]),
|
||||
[
|
||||
{'foo': 'bar'}
|
||||
]);
|
||||
expect(() => svc.serialize(2), throwsArgumentError);
|
||||
var now = new DateTime.now();
|
||||
var t =
|
||||
new Todo(text: 'a', completed: false, createdAt: now, updatedAt: now);
|
||||
var m = svc.serialize(t);
|
||||
print(m);
|
||||
expect(m, {
|
||||
'id': null,
|
||||
'createdAt': now.toIso8601String(),
|
||||
'updatedAt': now.toIso8601String(),
|
||||
'text': 'a',
|
||||
'completed': false
|
||||
});
|
||||
});
|
||||
|
||||
test('deserialize date', () {
|
||||
var now = new DateTime.now();
|
||||
var m = svc.deserialize({
|
||||
'createdAt': now.toIso8601String(),
|
||||
'updatedAt': now.toIso8601String()
|
||||
});
|
||||
expect(m, new isInstanceOf<Todo>());
|
||||
var t = m as Todo;
|
||||
expect(t.createdAt.millisecondsSinceEpoch, now.millisecondsSinceEpoch);
|
||||
});
|
||||
|
||||
test('deserialize date w/ underscore', () {
|
||||
var now = new DateTime.now();
|
||||
var m = svc.deserialize({
|
||||
'created_at': now.toIso8601String(),
|
||||
'updated_at': now.toIso8601String()
|
||||
});
|
||||
expect(m, new isInstanceOf<Todo>());
|
||||
var t = m as Todo;
|
||||
expect(t.createdAt.millisecondsSinceEpoch, now.millisecondsSinceEpoch);
|
||||
});
|
||||
}
|
||||
|
||||
class Todo extends Model {
|
||||
String text;
|
||||
bool completed;
|
||||
@override
|
||||
DateTime createdAt, updatedAt;
|
||||
Todo({this.text, this.completed, this.createdAt, this.updatedAt});
|
||||
}
|
10
test/view_generator_test.dart
Normal file
10
test/view_generator_test.dart
Normal file
|
@ -0,0 +1,10 @@
|
|||
import 'package:angel_framework/angel_framework.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
main() {
|
||||
test('default view generator', () async {
|
||||
var app = new Angel();
|
||||
var view = await app.viewGenerator('foo', {'bar': 'baz'});
|
||||
expect(view, contains('No view engine'));
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue