Skip to content

Commit

Permalink
test tinyts view finish
Browse files Browse the repository at this point in the history
  • Loading branch information
narrowizard committed Aug 4, 2017
1 parent a0412b1 commit e780d26
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 10 deletions.
25 changes: 25 additions & 0 deletions dist/test/core/tinyts.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,19 @@ var AnyService = (function () {
};
return AnyService;
}());
var ViewVTest = (function (_super) {
__extends(ViewVTest, _super);
function ViewVTest() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.viewString = "<p id=\"mNewPage\"></p>";
return _this;
}
__decorate([
tinyts_1.v(text_1.TextView),
__metadata("design:type", text_1.TextView)
], ViewVTest.prototype, "mNewPage", void 0);
return ViewVTest;
}(view_1.ViewV));
var TestView = (function (_super) {
__extends(TestView, _super);
function TestView() {
Expand All @@ -51,6 +64,10 @@ var TestView = (function (_super) {
tinyts_1.v(text_1.TextView),
__metadata("design:type", text_1.TextView)
], TestView.prototype, "mOutput", void 0);
__decorate([
tinyts_1.v(ViewVTest),
__metadata("design:type", ViewVTest)
], TestView.prototype, "mViewV", void 0);
__decorate([
tinyts_1.s(AnyService),
__metadata("design:type", AnyService)
Expand All @@ -74,4 +91,12 @@ describe("Tinyts", function () {
// not support
// assert.deepEqual(instance.mOutput.Value(), "John");
});
it('viewv injector', function () {
var instance = new TestView();
assert.notEqual(instance.mViewV, null);
// viewv use promise to set view string
setTimeout(function () {
assert.notEqual(instance.mViewV.mNewPage, null);
}, 1000);
});
});
2 changes: 1 addition & 1 deletion dist/test/test_runner.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var jsdom = require('jsdom').JSDOM;
var mx = require('../../libs/multiplex');
var dom = new jsdom("<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n <title>Document</title>\n</head>\n<body>\n <div id=\"testor\" data-property=\"Name\"></div>\n <div id=\"testor2\" data-property=\"Name\">\n <div id=\"testor3\"></div>\n </div>\n <div class=\"multi\"></div>\n <div class=\"multi\"></div>\n <input type=\"text\" id=\"mInput\" data-bind=\"model.name\" />\n <p id=\"mOutput\" data-bind=\"model.name:tov\"></p>\n</body>\n</html>");
var dom = new jsdom("<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n <title>Document</title>\n</head>\n<body>\n <div id=\"TestView\" style=\"display:none\">\n <div id=\"testor\" data-property=\"Name\"></div>\n <div id=\"testor2\" data-property=\"Name\">\n <div id=\"testor3\"></div>\n </div>\n <div class=\"multi\"></div>\n <div class=\"multi\"></div>\n <input type=\"text\" id=\"mInput\" data-bind=\"model.name\" />\n <p id=\"mOutput\" data-bind=\"model.name:tov\"></p>\n <div id=\"mViewV\"></div>\n </div>\n</body>\n</html>");
global.window = dom.window;
global.document = dom.window.document;
global.mx = mx;
Expand Down
29 changes: 27 additions & 2 deletions test/core/tinyts.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { AncView, v, s } from '../../core/tinyts';
import { View } from '../../core/view';
import { View, ViewV } from '../../core/view';
import { InputView } from '../../control/input';
import { TextView } from '../../control/text';

Expand All @@ -11,10 +11,21 @@ class AnyService {
}
}

interface ViewVTestContext {

}

class ViewVTest extends ViewV<ViewVTestContext>{
protected viewString = `<p id="mNewPage"></p>`;

@v(TextView)
mNewPage: TextView;
}

class TestView extends AncView {

model: {
name: string
name: string;
};

@v(View)
Expand All @@ -26,6 +37,9 @@ class TestView extends AncView {
@v(TextView)
mOutput: TextView;

@v(ViewVTest)
mViewV: ViewVTest;

@s(AnyService)
service: AnyService;

Expand Down Expand Up @@ -56,4 +70,15 @@ describe("Tinyts", function () {
// not support
// assert.deepEqual(instance.mOutput.Value(), "John");
});

it('viewv injector', function () {
var instance = new TestView();
assert.notEqual(instance.mViewV, null);

// viewv use promise to set view string
setTimeout(function () {
assert.notEqual(instance.mViewV.mNewPage, null);
}, 1000);
});

});
17 changes: 10 additions & 7 deletions test/test_runner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,17 @@ var dom = new jsdom(`<!DOCTYPE html>
<title>Document</title>
</head>
<body>
<div id="testor" data-property="Name"></div>
<div id="testor2" data-property="Name">
<div id="testor3"></div>
<div id="TestView" style="display:none">
<div id="testor" data-property="Name"></div>
<div id="testor2" data-property="Name">
<div id="testor3"></div>
</div>
<div class="multi"></div>
<div class="multi"></div>
<input type="text" id="mInput" data-bind="model.name" />
<p id="mOutput" data-bind="model.name:tov"></p>
<div id="mViewV"></div>
</div>
<div class="multi"></div>
<div class="multi"></div>
<input type="text" id="mInput" data-bind="model.name" />
<p id="mOutput" data-bind="model.name:tov"></p>
</body>
</html>`);

Expand Down

0 comments on commit e780d26

Please sign in to comment.