ember-source 1.11.0.beta.1 → 1.11.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +17 -47
- data/dist/ember-template-compiler.js +317 -137
- data/dist/ember-testing.js +2 -42
- data/dist/ember-tests.js +729 -1135
- data/dist/ember-tests.prod.js +1044 -1442
- data/dist/ember.debug.cjs.js +1842 -1838
- data/dist/ember.debug.js +1842 -1838
- data/dist/ember.js +1842 -1838
- data/dist/ember.min.js +13 -13
- data/dist/ember.prod.js +1818 -1779
- metadata +2 -2
data/dist/ember-testing.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.11.0-beta.
|
8
|
+
* @version 1.11.0-beta.2
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -297,10 +297,7 @@ enifed('ember-debug', ['exports', 'ember-metal/core', 'ember-metal/error', 'embe
|
|
297
297
|
Ember['default'].FEATURES['features-stripped-test'] = true;
|
298
298
|
var featuresWereStripped = true;
|
299
299
|
|
300
|
-
|
301
|
-
featuresWereStripped = false;
|
302
|
-
}
|
303
|
-
|
300
|
+
|
304
301
|
delete Ember['default'].FEATURES['features-stripped-test'];
|
305
302
|
_warnIfUsingStrippedFeatureFlags(Ember['default'].ENV.FEATURES, featuresWereStripped);
|
306
303
|
|
@@ -703,44 +700,7 @@ enifed('ember-testing/helpers', ['ember-metal/core', 'ember-metal/property_get',
|
|
703
700
|
*/
|
704
701
|
asyncHelper('click', click);
|
705
702
|
|
706
|
-
if (Ember['default'].FEATURES.isEnabled('ember-testing-checkbox-helpers')) {
|
707
|
-
/**
|
708
|
-
* Checks a checkbox. Ensures the presence of the `checked` attribute
|
709
|
-
*
|
710
|
-
* Example:
|
711
|
-
*
|
712
|
-
* ```javascript
|
713
|
-
* check('#remember-me').then(function() {
|
714
|
-
* // assert something
|
715
|
-
* });
|
716
|
-
* ```
|
717
|
-
*
|
718
|
-
* @method check
|
719
|
-
* @param {String} selector jQuery selector finding an `input[type="checkbox"]`
|
720
|
-
* element on the DOM to check
|
721
|
-
* @return {RSVP.Promise}
|
722
|
-
*/
|
723
|
-
asyncHelper('check', check);
|
724
|
-
|
725
703
|
/**
|
726
|
-
* Unchecks a checkbox. Ensures the absence of the `checked` attribute
|
727
|
-
*
|
728
|
-
* Example:
|
729
|
-
*
|
730
|
-
* ```javascript
|
731
|
-
* uncheck('#remember-me').then(function() {
|
732
|
-
* // assert something
|
733
|
-
* });
|
734
|
-
* ```
|
735
|
-
*
|
736
|
-
* @method check
|
737
|
-
* @param {String} selector jQuery selector finding an `input[type="checkbox"]`
|
738
|
-
* element on the DOM to uncheck
|
739
|
-
* @return {RSVP.Promise}
|
740
|
-
*/
|
741
|
-
asyncHelper('uncheck', uncheck);
|
742
|
-
}
|
743
|
-
/**
|
744
704
|
* Simulates a key event, e.g. `keypress`, `keydown`, `keyup` with the desired keyCode
|
745
705
|
*
|
746
706
|
* Example:
|
data/dist/ember-tests.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.11.0-beta.
|
8
|
+
* @version 1.11.0-beta.2
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -1904,12 +1904,6 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
|
|
1904
1904
|
helpers.registerHelper('fooresolvertest', fooresolvertestHelper);
|
1905
1905
|
helpers.registerHelper('bar-baz-resolver-test', barBazResolverTestHelper);
|
1906
1906
|
|
1907
|
-
var retrievedFooResolverTestHelper, retrievedBarBazResolverTestHelper;
|
1908
|
-
|
1909
|
-
|
1910
|
-
retrievedFooResolverTestHelper = locator.lookup('helper:fooresolvertest').helperFunction;
|
1911
|
-
retrievedBarBazResolverTestHelper = locator.lookup('helper:bar-baz-resolver-test').helperFunction;
|
1912
|
-
|
1913
1907
|
fooresolvertestHelper();
|
1914
1908
|
barBazResolverTestHelper();
|
1915
1909
|
});
|
@@ -2581,28 +2575,7 @@ enifed('ember-application/tests/system/initializers_test', ['ember-metal/run_loo
|
|
2581
2575
|
});
|
2582
2576
|
});
|
2583
2577
|
|
2584
|
-
|
2585
|
-
QUnit.test("initializers should be executed in their own context", function() {
|
2586
|
-
expect(1);
|
2587
|
-
var MyApplication = Application['default'].extend();
|
2588
|
-
|
2589
|
-
MyApplication.initializer({
|
2590
|
-
name: 'coolBabeInitializer',
|
2591
|
-
myProperty: 'coolBabe',
|
2592
|
-
initialize: function(registry, application) {
|
2593
|
-
equal(this.myProperty, 'coolBabe', 'should have access to its own context');
|
2594
|
-
}
|
2595
|
-
});
|
2596
|
-
|
2597
|
-
run['default'](function() {
|
2598
|
-
app = MyApplication.create({
|
2599
|
-
router: false,
|
2600
|
-
rootElement: '#qunit-fixture'
|
2601
|
-
});
|
2602
|
-
});
|
2603
|
-
});
|
2604
|
-
}
|
2605
|
-
|
2578
|
+
|
2606
2579
|
});
|
2607
2580
|
enifed('ember-application/tests/system/initializers_test.jscs-test', function () {
|
2608
2581
|
|
@@ -2628,349 +2601,10 @@ enifed('ember-application/tests/system/instance_initializers_test', ['ember-meta
|
|
2628
2601
|
|
2629
2602
|
'use strict';
|
2630
2603
|
|
2631
|
-
var app;
|
2632
|
-
|
2633
|
-
if (Ember.FEATURES.isEnabled('ember-application-instance-initializers')) {
|
2634
|
-
QUnit.module("Ember.Application instance initializers", {
|
2635
|
-
setup: function() {
|
2636
|
-
},
|
2637
|
-
|
2638
|
-
teardown: function() {
|
2639
|
-
if (app) {
|
2640
|
-
run['default'](function() { app.destroy(); });
|
2641
|
-
}
|
2642
|
-
}
|
2643
|
-
});
|
2644
|
-
|
2645
|
-
QUnit.test("initializers require proper 'name' and 'initialize' properties", function() {
|
2646
|
-
var MyApplication = Application['default'].extend();
|
2647
|
-
|
2648
|
-
expectAssertion(function() {
|
2649
|
-
run['default'](function() {
|
2650
|
-
MyApplication.instanceInitializer({ name: 'initializer' });
|
2651
|
-
});
|
2652
|
-
});
|
2653
|
-
|
2654
|
-
expectAssertion(function() {
|
2655
|
-
run['default'](function() {
|
2656
|
-
MyApplication.instanceInitializer({ initialize: Ember.K });
|
2657
|
-
});
|
2658
|
-
});
|
2659
|
-
|
2660
|
-
});
|
2661
|
-
|
2662
|
-
QUnit.test("initializers are passed an app instance", function() {
|
2663
|
-
var MyApplication = Application['default'].extend();
|
2664
|
-
|
2665
|
-
MyApplication.instanceInitializer({
|
2666
|
-
name: 'initializer',
|
2667
|
-
initialize: function(instance) {
|
2668
|
-
ok(instance instanceof ApplicationInstance['default'], "initialize is passed an application instance");
|
2669
|
-
}
|
2670
|
-
});
|
2671
|
-
|
2672
|
-
run['default'](function() {
|
2673
|
-
app = MyApplication.create({
|
2674
|
-
router: false,
|
2675
|
-
rootElement: '#qunit-fixture'
|
2676
|
-
});
|
2677
|
-
});
|
2678
|
-
});
|
2679
|
-
|
2680
|
-
QUnit.test("initializers can be registered in a specified order", function() {
|
2681
|
-
var order = [];
|
2682
|
-
var MyApplication = Application['default'].extend();
|
2683
|
-
MyApplication.instanceInitializer({
|
2684
|
-
name: 'fourth',
|
2685
|
-
after: 'third',
|
2686
|
-
initialize: function(registry) {
|
2687
|
-
order.push('fourth');
|
2688
|
-
}
|
2689
|
-
});
|
2690
|
-
|
2691
|
-
MyApplication.instanceInitializer({
|
2692
|
-
name: 'second',
|
2693
|
-
after: 'first',
|
2694
|
-
before: 'third',
|
2695
|
-
initialize: function(registry) {
|
2696
|
-
order.push('second');
|
2697
|
-
}
|
2698
|
-
});
|
2699
|
-
|
2700
|
-
MyApplication.instanceInitializer({
|
2701
|
-
name: 'fifth',
|
2702
|
-
after: 'fourth',
|
2703
|
-
before: 'sixth',
|
2704
|
-
initialize: function(registry) {
|
2705
|
-
order.push('fifth');
|
2706
|
-
}
|
2707
|
-
});
|
2708
|
-
|
2709
|
-
MyApplication.instanceInitializer({
|
2710
|
-
name: 'first',
|
2711
|
-
before: 'second',
|
2712
|
-
initialize: function(registry) {
|
2713
|
-
order.push('first');
|
2714
|
-
}
|
2715
|
-
});
|
2716
|
-
|
2717
|
-
MyApplication.instanceInitializer({
|
2718
|
-
name: 'third',
|
2719
|
-
initialize: function(registry) {
|
2720
|
-
order.push('third');
|
2721
|
-
}
|
2722
|
-
});
|
2723
|
-
|
2724
|
-
MyApplication.instanceInitializer({
|
2725
|
-
name: 'sixth',
|
2726
|
-
initialize: function(registry) {
|
2727
|
-
order.push('sixth');
|
2728
|
-
}
|
2729
|
-
});
|
2730
|
-
|
2731
|
-
run['default'](function() {
|
2732
|
-
app = MyApplication.create({
|
2733
|
-
router: false,
|
2734
|
-
rootElement: '#qunit-fixture'
|
2735
|
-
});
|
2736
|
-
});
|
2737
|
-
|
2738
|
-
deepEqual(order, ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']);
|
2739
|
-
});
|
2740
|
-
|
2741
|
-
QUnit.test("initializers can be registered in a specified order as an array", function() {
|
2742
|
-
var order = [];
|
2743
|
-
var MyApplication = Application['default'].extend();
|
2744
|
-
|
2745
|
-
|
2746
|
-
MyApplication.instanceInitializer({
|
2747
|
-
name: 'third',
|
2748
|
-
initialize: function(registry) {
|
2749
|
-
order.push('third');
|
2750
|
-
}
|
2751
|
-
});
|
2752
|
-
|
2753
|
-
MyApplication.instanceInitializer({
|
2754
|
-
name: 'second',
|
2755
|
-
after: 'first',
|
2756
|
-
before: ['third', 'fourth'],
|
2757
|
-
initialize: function(registry) {
|
2758
|
-
order.push('second');
|
2759
|
-
}
|
2760
|
-
});
|
2761
|
-
|
2762
|
-
MyApplication.instanceInitializer({
|
2763
|
-
name: 'fourth',
|
2764
|
-
after: ['second', 'third'],
|
2765
|
-
initialize: function(registry) {
|
2766
|
-
order.push('fourth');
|
2767
|
-
}
|
2768
|
-
});
|
2769
|
-
|
2770
|
-
MyApplication.instanceInitializer({
|
2771
|
-
name: 'fifth',
|
2772
|
-
after: 'fourth',
|
2773
|
-
before: 'sixth',
|
2774
|
-
initialize: function(registry) {
|
2775
|
-
order.push('fifth');
|
2776
|
-
}
|
2777
|
-
});
|
2778
|
-
|
2779
|
-
MyApplication.instanceInitializer({
|
2780
|
-
name: 'first',
|
2781
|
-
before: ['second'],
|
2782
|
-
initialize: function(registry) {
|
2783
|
-
order.push('first');
|
2784
|
-
}
|
2785
|
-
});
|
2786
|
-
|
2787
|
-
MyApplication.instanceInitializer({
|
2788
|
-
name: 'sixth',
|
2789
|
-
initialize: function(registry) {
|
2790
|
-
order.push('sixth');
|
2791
|
-
}
|
2792
|
-
});
|
2793
|
-
|
2794
|
-
run['default'](function() {
|
2795
|
-
app = MyApplication.create({
|
2796
|
-
router: false,
|
2797
|
-
rootElement: '#qunit-fixture'
|
2798
|
-
});
|
2799
|
-
});
|
2800
|
-
|
2801
|
-
deepEqual(order, ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']);
|
2802
|
-
});
|
2803
|
-
|
2804
|
-
QUnit.test("initializers can have multiple dependencies", function () {
|
2805
|
-
var order = [];
|
2806
|
-
var a = {
|
2807
|
-
name: "a",
|
2808
|
-
before: "b",
|
2809
|
-
initialize: function(registry) {
|
2810
|
-
order.push('a');
|
2811
|
-
}
|
2812
|
-
};
|
2813
|
-
var b = {
|
2814
|
-
name: "b",
|
2815
|
-
initialize: function(registry) {
|
2816
|
-
order.push('b');
|
2817
|
-
}
|
2818
|
-
};
|
2819
|
-
var c = {
|
2820
|
-
name: "c",
|
2821
|
-
after: "b",
|
2822
|
-
initialize: function(registry) {
|
2823
|
-
order.push('c');
|
2824
|
-
}
|
2825
|
-
};
|
2826
|
-
var afterB = {
|
2827
|
-
name: "after b",
|
2828
|
-
after: "b",
|
2829
|
-
initialize: function(registry) {
|
2830
|
-
order.push("after b");
|
2831
|
-
}
|
2832
|
-
};
|
2833
|
-
var afterC = {
|
2834
|
-
name: "after c",
|
2835
|
-
after: "c",
|
2836
|
-
initialize: function(registry) {
|
2837
|
-
order.push("after c");
|
2838
|
-
}
|
2839
|
-
};
|
2840
|
-
|
2841
|
-
Application['default'].instanceInitializer(b);
|
2842
|
-
Application['default'].instanceInitializer(a);
|
2843
|
-
Application['default'].instanceInitializer(afterC);
|
2844
|
-
Application['default'].instanceInitializer(afterB);
|
2845
|
-
Application['default'].instanceInitializer(c);
|
2846
|
-
|
2847
|
-
run['default'](function() {
|
2848
|
-
app = Application['default'].create({
|
2849
|
-
router: false,
|
2850
|
-
rootElement: '#qunit-fixture'
|
2851
|
-
});
|
2852
|
-
});
|
2853
|
-
|
2854
|
-
ok(array.indexOf.call(order, a.name) < array.indexOf.call(order, b.name), 'a < b');
|
2855
|
-
ok(array.indexOf.call(order, b.name) < array.indexOf.call(order, c.name), 'b < c');
|
2856
|
-
ok(array.indexOf.call(order, b.name) < array.indexOf.call(order, afterB.name), 'b < afterB');
|
2857
|
-
ok(array.indexOf.call(order, c.name) < array.indexOf.call(order, afterC.name), 'c < afterC');
|
2858
|
-
});
|
2859
|
-
|
2860
|
-
QUnit.test("initializers set on Application subclasses should not be shared between apps", function() {
|
2861
|
-
var firstInitializerRunCount = 0;
|
2862
|
-
var secondInitializerRunCount = 0;
|
2863
|
-
var FirstApp = Application['default'].extend();
|
2864
|
-
FirstApp.instanceInitializer({
|
2865
|
-
name: 'first',
|
2866
|
-
initialize: function(registry) {
|
2867
|
-
firstInitializerRunCount++;
|
2868
|
-
}
|
2869
|
-
});
|
2870
|
-
var SecondApp = Application['default'].extend();
|
2871
|
-
SecondApp.instanceInitializer({
|
2872
|
-
name: 'second',
|
2873
|
-
initialize: function(registry) {
|
2874
|
-
secondInitializerRunCount++;
|
2875
|
-
}
|
2876
|
-
});
|
2877
|
-
jQuery['default']('#qunit-fixture').html('<div id="first"></div><div id="second"></div>');
|
2878
|
-
run['default'](function() {
|
2879
|
-
FirstApp.create({
|
2880
|
-
router: false,
|
2881
|
-
rootElement: '#qunit-fixture #first'
|
2882
|
-
});
|
2883
|
-
});
|
2884
|
-
equal(firstInitializerRunCount, 1, 'first initializer only was run');
|
2885
|
-
equal(secondInitializerRunCount, 0, 'first initializer only was run');
|
2886
|
-
run['default'](function() {
|
2887
|
-
SecondApp.create({
|
2888
|
-
router: false,
|
2889
|
-
rootElement: '#qunit-fixture #second'
|
2890
|
-
});
|
2891
|
-
});
|
2892
|
-
equal(firstInitializerRunCount, 1, 'second initializer only was run');
|
2893
|
-
equal(secondInitializerRunCount, 1, 'second initializer only was run');
|
2894
|
-
});
|
2895
|
-
|
2896
|
-
QUnit.test("initializers are concatenated", function() {
|
2897
|
-
var firstInitializerRunCount = 0;
|
2898
|
-
var secondInitializerRunCount = 0;
|
2899
|
-
var FirstApp = Application['default'].extend();
|
2900
|
-
FirstApp.instanceInitializer({
|
2901
|
-
name: 'first',
|
2902
|
-
initialize: function(registry) {
|
2903
|
-
firstInitializerRunCount++;
|
2904
|
-
}
|
2905
|
-
});
|
2906
|
-
|
2907
|
-
var SecondApp = FirstApp.extend();
|
2908
|
-
SecondApp.instanceInitializer({
|
2909
|
-
name: 'second',
|
2910
|
-
initialize: function(registry) {
|
2911
|
-
secondInitializerRunCount++;
|
2912
|
-
}
|
2913
|
-
});
|
2914
|
-
|
2915
|
-
jQuery['default']('#qunit-fixture').html('<div id="first"></div><div id="second"></div>');
|
2916
|
-
run['default'](function() {
|
2917
|
-
FirstApp.create({
|
2918
|
-
router: false,
|
2919
|
-
rootElement: '#qunit-fixture #first'
|
2920
|
-
});
|
2921
|
-
});
|
2922
|
-
equal(firstInitializerRunCount, 1, 'first initializer only was run when base class created');
|
2923
|
-
equal(secondInitializerRunCount, 0, 'first initializer only was run when base class created');
|
2924
|
-
firstInitializerRunCount = 0;
|
2925
|
-
run['default'](function() {
|
2926
|
-
SecondApp.create({
|
2927
|
-
router: false,
|
2928
|
-
rootElement: '#qunit-fixture #second'
|
2929
|
-
});
|
2930
|
-
});
|
2931
|
-
equal(firstInitializerRunCount, 1, 'first initializer was run when subclass created');
|
2932
|
-
equal(secondInitializerRunCount, 1, 'second initializers was run when subclass created');
|
2933
|
-
});
|
2934
|
-
|
2935
|
-
QUnit.test("initializers are per-app", function() {
|
2936
|
-
expect(0);
|
2937
|
-
var FirstApp = Application['default'].extend();
|
2938
|
-
FirstApp.instanceInitializer({
|
2939
|
-
name: 'shouldNotCollide',
|
2940
|
-
initialize: function(registry) {}
|
2941
|
-
});
|
2942
|
-
|
2943
|
-
var SecondApp = Application['default'].extend();
|
2944
|
-
SecondApp.instanceInitializer({
|
2945
|
-
name: 'shouldNotCollide',
|
2946
|
-
initialize: function(registry) {}
|
2947
|
-
});
|
2948
|
-
});
|
2949
|
-
|
2950
|
-
if (Ember.FEATURES.isEnabled("ember-application-initializer-context")) {
|
2951
|
-
QUnit.test("initializers should be executed in their own context", function() {
|
2952
|
-
expect(1);
|
2953
|
-
|
2954
|
-
var MyApplication = Application['default'].extend();
|
2955
|
-
|
2956
|
-
MyApplication.instanceInitializer({
|
2957
|
-
name: 'coolBabeInitializer',
|
2958
|
-
myProperty: 'coolBabe',
|
2959
|
-
initialize: function(registry, application) {
|
2960
|
-
equal(this.myProperty, 'coolBabe', 'should have access to its own context');
|
2961
|
-
}
|
2962
|
-
});
|
2963
|
-
|
2964
|
-
run['default'](function() {
|
2965
|
-
app = MyApplication.create({
|
2966
|
-
router: false,
|
2967
|
-
rootElement: '#qunit-fixture'
|
2968
|
-
});
|
2969
|
-
});
|
2970
|
-
});
|
2971
|
-
}
|
2972
|
-
}
|
2604
|
+
var app, initializeContextFeatureEnabled;
|
2973
2605
|
|
2606
|
+
|
2607
|
+
|
2974
2608
|
});
|
2975
2609
|
enifed('ember-application/tests/system/instance_initializers_test.jscs-test', function () {
|
2976
2610
|
|
@@ -2992,7 +2626,7 @@ enifed('ember-application/tests/system/instance_initializers_test.jshint', funct
|
|
2992
2626
|
});
|
2993
2627
|
|
2994
2628
|
});
|
2995
|
-
enifed('ember-application/tests/system/logging_test', ['ember-metal/run_loop', 'ember-application/system/application', 'ember-views/views/view', 'ember-runtime/controllers/controller', 'ember-routing/system/route', 'ember-runtime/ext/rsvp', 'ember-metal/keys', 'ember-routing'], function (run, Application, View, Controller, Route, RSVP, keys) {
|
2629
|
+
enifed('ember-application/tests/system/logging_test', ['ember-metal/run_loop', 'ember-application/system/application', 'ember-views/views/view', 'ember-runtime/controllers/controller', 'ember-routing/system/route', 'ember-runtime/ext/rsvp', 'ember-metal/keys', 'ember-template-compiler/system/compile', 'ember-routing'], function (run, Application, View, Controller, Route, RSVP, keys, compile) {
|
2996
2630
|
|
2997
2631
|
'use strict';
|
2998
2632
|
|
@@ -3170,7 +2804,7 @@ enifed('ember-application/tests/system/logging_test', ['ember-metal/run_loop', '
|
|
3170
2804
|
return;
|
3171
2805
|
}
|
3172
2806
|
|
3173
|
-
App.register('template:application',
|
2807
|
+
App.register('template:application', compile['default']("{{outlet}}"));
|
3174
2808
|
run['default'](App, 'advanceReadiness');
|
3175
2809
|
|
3176
2810
|
visit('/posts').then(function() {
|
@@ -3198,7 +2832,7 @@ enifed('ember-application/tests/system/logging_test', ['ember-metal/run_loop', '
|
|
3198
2832
|
return;
|
3199
2833
|
}
|
3200
2834
|
|
3201
|
-
App.register('template:application',
|
2835
|
+
App.register('template:application', compile['default']('{{outlet}}'));
|
3202
2836
|
App.register('template:foo', function() { return 'Template with custom view'; });
|
3203
2837
|
App.register('view:posts', View['default'].extend({ templateName: 'foo' }));
|
3204
2838
|
run['default'](App, 'advanceReadiness');
|
@@ -3712,73 +3346,7 @@ enifed('ember-application/tests/system/visit_test', ['ember-metal/run_loop', 'em
|
|
3712
3346
|
return App;
|
3713
3347
|
}
|
3714
3348
|
|
3715
|
-
|
3716
|
-
QUnit.module("Ember.Application - visit()");
|
3717
|
-
|
3718
|
-
// This tests whether the application is "autobooted" by registering an
|
3719
|
-
// instance initializer and asserting it never gets run. Since this is
|
3720
|
-
// inherently testing that async behavior *doesn't* happen, we set a
|
3721
|
-
// 500ms timeout to verify that when autoboot is set to false, the
|
3722
|
-
// instance initializer that would normally get called on DOM ready
|
3723
|
-
// does not fire.
|
3724
|
-
QUnit.test("Applications with autoboot set to false do not autoboot", function(assert) {
|
3725
|
-
QUnit.expect(1);
|
3726
|
-
QUnit.stop();
|
3727
|
-
|
3728
|
-
run['default'](function() {
|
3729
|
-
var app = createApplication();
|
3730
|
-
|
3731
|
-
// Start the timeout
|
3732
|
-
var timeout = setTimeout(function() {
|
3733
|
-
ok(true, "500ms elapsed without initializers being called");
|
3734
|
-
QUnit.start();
|
3735
|
-
}, 500);
|
3736
|
-
|
3737
|
-
// Create an instance initializer that should *not* get run.
|
3738
|
-
app.instanceInitializer({
|
3739
|
-
name: "assert-no-autoboot",
|
3740
|
-
initialize: function() {
|
3741
|
-
clearTimeout(timeout);
|
3742
|
-
QUnit.start();
|
3743
|
-
assert.ok(false, "instance should not have been created");
|
3744
|
-
}
|
3745
|
-
});
|
3746
|
-
});
|
3747
|
-
});
|
3748
|
-
|
3749
|
-
QUnit.test("visit() returns a promise that resolves when the view has rendered", function(assert) {
|
3750
|
-
QUnit.expect(3);
|
3751
|
-
QUnit.stop();
|
3752
|
-
|
3753
|
-
var app;
|
3754
|
-
|
3755
|
-
run['default'](function() {
|
3756
|
-
app = createApplication();
|
3757
|
-
app.instanceInitializer({
|
3758
|
-
name: 'register-application-template',
|
3759
|
-
initialize: function(app) {
|
3760
|
-
app.registry.register('template:application', compile['default']('<h1>Hello world</h1>'));
|
3761
|
-
}
|
3762
|
-
});
|
3763
|
-
});
|
3764
|
-
|
3765
|
-
assert.equal(Ember.$('#qunit-fixture').children().length, 0, "there are no elements in the fixture element");
|
3766
|
-
|
3767
|
-
app.visit('/').then(function(instance) {
|
3768
|
-
QUnit.start();
|
3769
|
-
assert.ok(instance instanceof ApplicationInstance['default'], "promise is resolved with an ApplicationInstance");
|
3770
|
-
|
3771
|
-
run['default'](instance.view, 'appendTo', '#qunit-fixture');
|
3772
|
-
assert.equal(Ember.$("#qunit-fixture > .ember-view h1").text(), "Hello world", "the application was rendered once the promise resolves");
|
3773
|
-
|
3774
|
-
instance.destroy();
|
3775
|
-
}, function(error) {
|
3776
|
-
QUnit.start();
|
3777
|
-
assert.ok(false, "The visit() promise was rejected: " + error);
|
3778
|
-
});
|
3779
|
-
});
|
3780
|
-
}
|
3781
|
-
|
3349
|
+
|
3782
3350
|
});
|
3783
3351
|
enifed('ember-application/tests/system/visit_test.jscs-test', function () {
|
3784
3352
|
|
@@ -6972,9 +6540,6 @@ enifed('ember-htmlbars/tests/compat/helper_test', ['ember-htmlbars/compat/helper
|
|
6972
6540
|
|
6973
6541
|
var view;
|
6974
6542
|
|
6975
|
-
|
6976
|
-
// jscs:disable validateIndentation
|
6977
|
-
|
6978
6543
|
QUnit.module('ember-htmlbars: Handlebars compatible helpers', {
|
6979
6544
|
teardown: function() {
|
6980
6545
|
utils.runDestroy(view);
|
@@ -7231,9 +6796,6 @@ enifed('ember-htmlbars/tests/compat/helper_test', ['ember-htmlbars/compat/helper
|
|
7231
6796
|
utils.runAppend(view);
|
7232
6797
|
});
|
7233
6798
|
|
7234
|
-
// jscs:enable validateIndentation
|
7235
|
-
|
7236
|
-
|
7237
6799
|
});
|
7238
6800
|
enifed('ember-htmlbars/tests/compat/helper_test.jscs-test', function () {
|
7239
6801
|
|
@@ -7913,7 +7475,6 @@ enifed('ember-htmlbars/tests/compat/precompile_test', ['ember-htmlbars/compat'],
|
|
7913
7475
|
'use strict';
|
7914
7476
|
|
7915
7477
|
var precompile = EmberHandlebars['default'].precompile;
|
7916
|
-
var parse = EmberHandlebars['default'].parse;
|
7917
7478
|
var template = 'Hello World';
|
7918
7479
|
var result;
|
7919
7480
|
|
@@ -7934,18 +7495,6 @@ enifed('ember-htmlbars/tests/compat/precompile_test', ['ember-htmlbars/compat'],
|
|
7934
7495
|
equal(typeof(result), "string");
|
7935
7496
|
});
|
7936
7497
|
|
7937
|
-
if (!Ember.FEATURES.isEnabled('ember-htmlbars')) {
|
7938
|
-
// jscs:disable validateIndentation
|
7939
|
-
|
7940
|
-
QUnit.test("precompile creates an object when passed an AST", function() {
|
7941
|
-
var ast = parse(template);
|
7942
|
-
result = precompile(ast);
|
7943
|
-
equal(typeof(result), "object");
|
7944
|
-
});
|
7945
|
-
|
7946
|
-
// jscs:enable validateIndentation
|
7947
|
-
}
|
7948
|
-
|
7949
7498
|
});
|
7950
7499
|
enifed('ember-htmlbars/tests/compat/precompile_test.jscs-test', function () {
|
7951
7500
|
|
@@ -8162,22 +7711,20 @@ enifed('ember-htmlbars/tests/helpers/bind_attr_test', ['ember-metal/core', 'embe
|
|
8162
7711
|
var originalBindAttr = helpers['default']['bind-attr'];
|
8163
7712
|
|
8164
7713
|
try {
|
8165
|
-
|
8166
|
-
|
8167
|
-
|
8168
|
-
|
8169
|
-
|
7714
|
+
helpers['default']['bind-attr'] = {
|
7715
|
+
helperFunction: function() {
|
7716
|
+
equal(arguments[0], 'foo', 'First arg match');
|
7717
|
+
equal(arguments[1], 'bar', 'Second arg match');
|
7718
|
+
|
7719
|
+
return 'result';
|
7720
|
+
}
|
7721
|
+
};
|
8170
7722
|
|
8171
|
-
return 'result';
|
8172
|
-
}
|
8173
|
-
};
|
8174
|
-
|
8175
7723
|
expectDeprecation(function() {
|
8176
7724
|
var result;
|
8177
7725
|
|
8178
|
-
|
8179
|
-
|
8180
|
-
equal(result, 'result', 'Result match');
|
7726
|
+
result = helpers['default'].bindAttr.helperFunction('foo', 'bar');
|
7727
|
+
equal(result, 'result', 'Result match');
|
8181
7728
|
}, "The 'bindAttr' view helper is deprecated in favor of 'bind-attr'");
|
8182
7729
|
} finally {
|
8183
7730
|
helpers['default']['bind-attr'] = originalBindAttr;
|
@@ -8534,6 +8081,32 @@ enifed('ember-htmlbars/tests/helpers/bind_attr_test', ['ember-metal/core', 'embe
|
|
8534
8081
|
}, /You cannot set `data-bar` manually and via `{{bind-attr}}` helper on the same element/);
|
8535
8082
|
});
|
8536
8083
|
|
8084
|
+
QUnit.test("src attribute bound to undefined is not present", function() {
|
8085
|
+
var template = compile['default']("<img {{bind-attr src=view.undefinedValue}}>");
|
8086
|
+
|
8087
|
+
view = EmberView['default'].create({
|
8088
|
+
template: template,
|
8089
|
+
undefinedValue: undefined
|
8090
|
+
});
|
8091
|
+
|
8092
|
+
utils.runAppend(view);
|
8093
|
+
|
8094
|
+
ok(!view.element.hasAttribute('src'), "src attribute not present");
|
8095
|
+
});
|
8096
|
+
|
8097
|
+
QUnit.test("src attribute bound to null is not present", function() {
|
8098
|
+
var template = compile['default']("<img {{bind-attr src=view.nullValue}}>");
|
8099
|
+
|
8100
|
+
view = EmberView['default'].create({
|
8101
|
+
template: template,
|
8102
|
+
nullValue: null
|
8103
|
+
});
|
8104
|
+
|
8105
|
+
utils.runAppend(view);
|
8106
|
+
|
8107
|
+
ok(!view.element.hasAttribute('src'), "src attribute not present");
|
8108
|
+
});
|
8109
|
+
|
8537
8110
|
});
|
8538
8111
|
enifed('ember-htmlbars/tests/helpers/bind_attr_test.jscs-test', function () {
|
8539
8112
|
|
@@ -8632,10 +8205,7 @@ enifed('ember-htmlbars/tests/helpers/collection_test', ['ember-views/views/colle
|
|
8632
8205
|
template: compile['default']('{{#collection content=view.exampleController itemViewClass=TemplateTests.ExampleItemView}}beta{{/collection}}')
|
8633
8206
|
});
|
8634
8207
|
|
8635
|
-
var deprecation = /
|
8636
|
-
|
8637
|
-
deprecation = /Global lookup of TemplateTests.ExampleItemView from a Handlebars template is deprecated/;
|
8638
|
-
|
8208
|
+
var deprecation = /Global lookup of TemplateTests.ExampleItemView from a Handlebars template is deprecated/;
|
8639
8209
|
expectDeprecation(function() {
|
8640
8210
|
utils.runAppend(view);
|
8641
8211
|
}, deprecation);
|
@@ -10056,10 +9626,7 @@ enifed('ember-htmlbars/tests/helpers/each_test', ['ember-metal/core', 'ember-run
|
|
10056
9626
|
people: people
|
10057
9627
|
});
|
10058
9628
|
|
10059
|
-
var deprecation = /
|
10060
|
-
|
10061
|
-
deprecation = /Global lookup of MyView from a Handlebars template is deprecated/;
|
10062
|
-
|
9629
|
+
var deprecation = /Global lookup of MyView from a Handlebars template is deprecated/;
|
10063
9630
|
|
10064
9631
|
expectDeprecation(function() {
|
10065
9632
|
utils.runAppend(view);
|
@@ -10175,11 +9742,7 @@ enifed('ember-htmlbars/tests/helpers/each_test', ['ember-metal/core', 'ember-run
|
|
10175
9742
|
people: native_array.A()
|
10176
9743
|
});
|
10177
9744
|
|
10178
|
-
var deprecation = /
|
10179
|
-
|
10180
|
-
|
10181
|
-
deprecation = /Global lookup of MyEmptyView from a Handlebars template is deprecated/;
|
10182
|
-
|
9745
|
+
var deprecation = /Global lookup of MyEmptyView from a Handlebars template is deprecated/;
|
10183
9746
|
|
10184
9747
|
expectDeprecation(function() {
|
10185
9748
|
utils.runAppend(view);
|
@@ -10584,10 +10147,7 @@ enifed('ember-htmlbars/tests/helpers/each_test', ['ember-metal/core', 'ember-run
|
|
10584
10147
|
}
|
10585
10148
|
|
10586
10149
|
testEachWithItem("{{#each foo in bar}}", false);
|
10587
|
-
|
10588
|
-
|
10589
|
-
testEachWithItem("{{#each bar as |foo|}}", true);
|
10590
|
-
|
10150
|
+
testEachWithItem("{{#each bar as |foo|}}", true);
|
10591
10151
|
|
10592
10152
|
});
|
10593
10153
|
enifed('ember-htmlbars/tests/helpers/each_test.jscs-test', function () {
|
@@ -11889,8 +11449,6 @@ enifed('ember-htmlbars/tests/helpers/loc_test', ['ember-views/views/view', 'embe
|
|
11889
11449
|
utils.runDestroy(view);
|
11890
11450
|
});
|
11891
11451
|
|
11892
|
-
|
11893
|
-
// jscs:disable validateIndentation
|
11894
11452
|
QUnit.test('localize throws an assertion if the second parameter is a binding', function() {
|
11895
11453
|
var view = buildView('{{loc "Hello %@" name}}', {
|
11896
11454
|
name: 'Bob Foster'
|
@@ -11914,8 +11472,6 @@ enifed('ember-htmlbars/tests/helpers/loc_test', ['ember-views/views/view', 'embe
|
|
11914
11472
|
|
11915
11473
|
utils.runDestroy(view);
|
11916
11474
|
});
|
11917
|
-
// jscs:enable validateIndentation
|
11918
|
-
|
11919
11475
|
|
11920
11476
|
});
|
11921
11477
|
enifed('ember-htmlbars/tests/helpers/loc_test.jscs-test', function () {
|
@@ -14580,61 +14136,57 @@ enifed('ember-htmlbars/tests/helpers/with_test', ['ember-views/views/view', 'emb
|
|
14580
14136
|
equal(view.$().text(), "We have: this is from the view and this is from the context", "should render");
|
14581
14137
|
});
|
14582
14138
|
|
14583
|
-
|
14584
|
-
testWithAs("ember-htmlbars: {{#with x as |y|}}", "{{#with person as |tom|}}{{title}}: {{tom.name}}{{/with}}");
|
14585
|
-
|
14139
|
+
testWithAs("ember-htmlbars: {{#with x as |y|}}", "{{#with person as |tom|}}{{title}}: {{tom.name}}{{/with}}");
|
14586
14140
|
|
14587
|
-
|
14588
|
-
|
14589
|
-
|
14590
|
-
Ember.lookup = lookup = { Ember: Ember };
|
14141
|
+
QUnit.module("Multiple Handlebars {{with foo as |bar|}} helpers", {
|
14142
|
+
setup: function() {
|
14143
|
+
Ember.lookup = lookup = { Ember: Ember };
|
14591
14144
|
|
14592
|
-
|
14593
|
-
|
14594
|
-
|
14595
|
-
|
14596
|
-
|
14597
|
-
|
14598
|
-
|
14145
|
+
view = EmberView['default'].create({
|
14146
|
+
template: compile['default']("Admin: {{#with admin as |person|}}{{person.name}}{{/with}} User: {{#with user as |person|}}{{person.name}}{{/with}}"),
|
14147
|
+
context: {
|
14148
|
+
admin: { name: "Tom Dale" },
|
14149
|
+
user: { name: "Yehuda Katz" }
|
14150
|
+
}
|
14151
|
+
});
|
14599
14152
|
|
14600
|
-
|
14601
|
-
|
14153
|
+
utils.runAppend(view);
|
14154
|
+
},
|
14602
14155
|
|
14603
|
-
|
14604
|
-
|
14605
|
-
|
14606
|
-
|
14607
|
-
|
14156
|
+
teardown: function() {
|
14157
|
+
utils.runDestroy(view);
|
14158
|
+
Ember.lookup = originalLookup;
|
14159
|
+
}
|
14160
|
+
});
|
14608
14161
|
|
14609
|
-
|
14610
|
-
|
14611
|
-
|
14162
|
+
QUnit.test("re-using the same variable with different #with blocks does not override each other", function() {
|
14163
|
+
equal(view.$().text(), "Admin: Tom Dale User: Yehuda Katz", "should be properly scoped");
|
14164
|
+
});
|
14612
14165
|
|
14613
|
-
|
14614
|
-
|
14615
|
-
|
14616
|
-
|
14617
|
-
|
14618
|
-
|
14619
|
-
});
|
14166
|
+
QUnit.test("the scoped variable is not available outside the {{with}} block.", function() {
|
14167
|
+
run['default'](function() {
|
14168
|
+
view.set('template', compile['default']("{{name}}-{{#with other as |name|}}{{name}}{{/with}}-{{name}}"));
|
14169
|
+
view.set('context', {
|
14170
|
+
name: 'Stef',
|
14171
|
+
other: 'Yehuda'
|
14620
14172
|
});
|
14621
|
-
|
14622
|
-
equal(view.$().text(), "Stef-Yehuda-Stef", "should be properly scoped after updating");
|
14623
14173
|
});
|
14624
14174
|
|
14625
|
-
|
14626
|
-
|
14627
|
-
view.set('template', compile['default']("{{#with first as |ring|}}{{ring}}-{{#with fifth as |ring|}}{{ring}}-{{#with ninth as |ring|}}{{ring}}-{{/with}}{{ring}}-{{/with}}{{ring}}{{/with}}"));
|
14628
|
-
view.set('context', {
|
14629
|
-
first: 'Limbo',
|
14630
|
-
fifth: 'Wrath',
|
14631
|
-
ninth: 'Treachery'
|
14632
|
-
});
|
14633
|
-
});
|
14175
|
+
equal(view.$().text(), "Stef-Yehuda-Stef", "should be properly scoped after updating");
|
14176
|
+
});
|
14634
14177
|
|
14635
|
-
|
14178
|
+
QUnit.test("nested {{with}} blocks shadow the outer scoped variable properly.", function() {
|
14179
|
+
run['default'](function() {
|
14180
|
+
view.set('template', compile['default']("{{#with first as |ring|}}{{ring}}-{{#with fifth as |ring|}}{{ring}}-{{#with ninth as |ring|}}{{ring}}-{{/with}}{{ring}}-{{/with}}{{ring}}{{/with}}"));
|
14181
|
+
view.set('context', {
|
14182
|
+
first: 'Limbo',
|
14183
|
+
fifth: 'Wrath',
|
14184
|
+
ninth: 'Treachery'
|
14185
|
+
});
|
14636
14186
|
});
|
14637
|
-
|
14187
|
+
|
14188
|
+
equal(view.$().text(), "Limbo-Wrath-Treachery-Wrath-Limbo", "should be properly scoped after updating");
|
14189
|
+
});
|
14638
14190
|
|
14639
14191
|
});
|
14640
14192
|
enifed('ember-htmlbars/tests/helpers/with_test.jscs-test', function () {
|
@@ -14860,31 +14412,6 @@ enifed('ember-htmlbars/tests/helpers/yield_test', ['ember-metal/run_loop', 'embe
|
|
14860
14412
|
equal(view.$('div p:contains(update) + p:contains(update)').length, 1, "keyword has correctly propagated update");
|
14861
14413
|
});
|
14862
14414
|
|
14863
|
-
if (!Ember.FEATURES.isEnabled('ember-htmlbars')) {
|
14864
|
-
// jscs:disable validateIndentation
|
14865
|
-
|
14866
|
-
QUnit.test("yield uses the layout context for non component [DEPRECATED]", function() {
|
14867
|
-
view = EmberView['default'].create({
|
14868
|
-
controller: {
|
14869
|
-
boundText: "outer",
|
14870
|
-
inner: {
|
14871
|
-
boundText: "inner"
|
14872
|
-
}
|
14873
|
-
},
|
14874
|
-
layout: compile['default']("<p>{{boundText}}</p>{{#with inner}}<p>{{yield}}</p>{{/with}}"),
|
14875
|
-
template: compile['default']('{{boundText}}')
|
14876
|
-
});
|
14877
|
-
|
14878
|
-
expectDeprecation(function() {
|
14879
|
-
utils.runAppend(view);
|
14880
|
-
}, 'Using the context switching form of `{{with}}` is deprecated. Please use the keyword form (`{{with foo as bar}}`) instead.');
|
14881
|
-
|
14882
|
-
equal('outerinner', view.$('p').text(), "Yield points at the right context");
|
14883
|
-
});
|
14884
|
-
|
14885
|
-
// jscs:enable validateIndentation
|
14886
|
-
}
|
14887
|
-
|
14888
14415
|
QUnit.test("yield view should be a virtual view", function() {
|
14889
14416
|
var component = Component['default'].extend({
|
14890
14417
|
isParentComponent: true,
|
@@ -15055,57 +14582,7 @@ enifed('ember-htmlbars/tests/hooks/component_test', ['ember-views/component_look
|
|
15055
14582
|
|
15056
14583
|
var view, registry, container;
|
15057
14584
|
|
15058
|
-
// this is working around a bug in defeatureify that prevents nested flags
|
15059
|
-
// from being stripped
|
15060
|
-
var componentGenerationEnabled = false;
|
15061
|
-
if (Ember.FEATURES.isEnabled('ember-htmlbars-component-generation')) {
|
15062
|
-
componentGenerationEnabled = true;
|
15063
|
-
}
|
15064
|
-
|
15065
14585
|
|
15066
|
-
if (componentGenerationEnabled) {
|
15067
|
-
QUnit.module("ember-htmlbars: component hook", {
|
15068
|
-
setup: function() {
|
15069
|
-
registry = new Registry['default']();
|
15070
|
-
container = registry.container();
|
15071
|
-
|
15072
|
-
registry.optionsForType('template', { instantiate: false });
|
15073
|
-
registry.register('component-lookup:main', ComponentLookup['default']);
|
15074
|
-
},
|
15075
|
-
|
15076
|
-
teardown: function() {
|
15077
|
-
utils.runDestroy(view);
|
15078
|
-
utils.runDestroy(container);
|
15079
|
-
registry = container = view = null;
|
15080
|
-
}
|
15081
|
-
});
|
15082
|
-
|
15083
|
-
QUnit.test("component is looked up from the container", function() {
|
15084
|
-
registry.register('template:components/foo-bar', compile['default']('yippie!'));
|
15085
|
-
|
15086
|
-
view = EmberView['default'].create({
|
15087
|
-
container: container,
|
15088
|
-
template: compile['default']("<foo-bar />")
|
15089
|
-
});
|
15090
|
-
|
15091
|
-
utils.runAppend(view);
|
15092
|
-
|
15093
|
-
equal(view.$().text(), 'yippie!', 'component was looked up and rendered');
|
15094
|
-
});
|
15095
|
-
|
15096
|
-
QUnit.test("asserts if component is not found", function() {
|
15097
|
-
view = EmberView['default'].create({
|
15098
|
-
container: container,
|
15099
|
-
template: compile['default']("<foo-bar />")
|
15100
|
-
});
|
15101
|
-
|
15102
|
-
expectAssertion(function() {
|
15103
|
-
utils.runAppend(view);
|
15104
|
-
}, 'You specified `foo-bar` in your template, but a component for `foo-bar` could not be found.');
|
15105
|
-
});
|
15106
|
-
}
|
15107
|
-
|
15108
|
-
|
15109
14586
|
});
|
15110
14587
|
enifed('ember-htmlbars/tests/hooks/component_test.jscs-test', function () {
|
15111
14588
|
|
@@ -15227,48 +14704,46 @@ enifed('ember-htmlbars/tests/hooks/text_node_test', ['ember-views/views/view', '
|
|
15227
14704
|
|
15228
14705
|
var view;
|
15229
14706
|
|
15230
|
-
|
15231
|
-
|
15232
|
-
|
15233
|
-
|
15234
|
-
|
14707
|
+
QUnit.module("ember-htmlbars: hooks/text_node_test", {
|
14708
|
+
teardown: function() {
|
14709
|
+
utils.runDestroy(view);
|
14710
|
+
}
|
14711
|
+
});
|
14712
|
+
|
14713
|
+
QUnit.test("property is output", function() {
|
14714
|
+
view = EmberView['default'].create({
|
14715
|
+
context: { name: 'erik' },
|
14716
|
+
template: compile['default']("ohai {{name}}")
|
15235
14717
|
});
|
14718
|
+
utils.runAppend(view);
|
15236
14719
|
|
15237
|
-
|
15238
|
-
|
15239
|
-
context: { name: 'erik' },
|
15240
|
-
template: compile['default']("ohai {{name}}")
|
15241
|
-
});
|
15242
|
-
utils.runAppend(view);
|
14720
|
+
htmlbars_test_helpers.equalInnerHTML(view.element, 'ohai erik', "property is output");
|
14721
|
+
});
|
15243
14722
|
|
15244
|
-
|
14723
|
+
QUnit.test("path is output", function() {
|
14724
|
+
view = EmberView['default'].create({
|
14725
|
+
context: { name: { firstName: 'erik' } },
|
14726
|
+
template: compile['default']("ohai {{name.firstName}}")
|
15245
14727
|
});
|
14728
|
+
utils.runAppend(view);
|
15246
14729
|
|
15247
|
-
|
15248
|
-
|
15249
|
-
context: { name: { firstName: 'erik' } },
|
15250
|
-
template: compile['default']("ohai {{name.firstName}}")
|
15251
|
-
});
|
15252
|
-
utils.runAppend(view);
|
14730
|
+
htmlbars_test_helpers.equalInnerHTML(view.element, 'ohai erik', "path is output");
|
14731
|
+
});
|
15253
14732
|
|
15254
|
-
|
14733
|
+
QUnit.test("changed property updates", function() {
|
14734
|
+
var context = EmberObject['default'].create({ name: 'erik' });
|
14735
|
+
view = EmberView['default'].create({
|
14736
|
+
context: context,
|
14737
|
+
template: compile['default']("ohai {{name}}")
|
15255
14738
|
});
|
14739
|
+
utils.runAppend(view);
|
15256
14740
|
|
15257
|
-
|
15258
|
-
var context = EmberObject['default'].create({ name: 'erik' });
|
15259
|
-
view = EmberView['default'].create({
|
15260
|
-
context: context,
|
15261
|
-
template: compile['default']("ohai {{name}}")
|
15262
|
-
});
|
15263
|
-
utils.runAppend(view);
|
15264
|
-
|
15265
|
-
htmlbars_test_helpers.equalInnerHTML(view.element, 'ohai erik', "precond - original property is output");
|
14741
|
+
htmlbars_test_helpers.equalInnerHTML(view.element, 'ohai erik', "precond - original property is output");
|
15266
14742
|
|
15267
|
-
|
14743
|
+
run['default'](context, context.set, 'name', 'mmun');
|
15268
14744
|
|
15269
|
-
|
15270
|
-
|
15271
|
-
|
14745
|
+
htmlbars_test_helpers.equalInnerHTML(view.element, 'ohai mmun', "new property is output");
|
14746
|
+
});
|
15272
14747
|
|
15273
14748
|
});
|
15274
14749
|
enifed('ember-htmlbars/tests/hooks/text_node_test.jscs-test', function () {
|
@@ -15295,19 +14770,16 @@ enifed('ember-htmlbars/tests/htmlbars_test', ['ember-template-compiler/system/co
|
|
15295
14770
|
|
15296
14771
|
'use strict';
|
15297
14772
|
|
15298
|
-
|
15299
|
-
|
15300
|
-
QUnit.module("ember-htmlbars: main");
|
14773
|
+
QUnit.module("ember-htmlbars: main");
|
15301
14774
|
|
15302
|
-
|
15303
|
-
|
14775
|
+
QUnit.test("HTMLBars is present and can be executed", function() {
|
14776
|
+
var template = compile['default']("ohai");
|
15304
14777
|
|
15305
|
-
|
14778
|
+
var env = merge['default']({ dom: defaultEnv.domHelper }, defaultEnv['default']);
|
15306
14779
|
|
15307
|
-
|
15308
|
-
|
15309
|
-
|
15310
|
-
|
14780
|
+
var output = template.render({}, env, document.body);
|
14781
|
+
htmlbars_test_helpers.equalHTML(output, "ohai");
|
14782
|
+
});
|
15311
14783
|
|
15312
14784
|
});
|
15313
14785
|
enifed('ember-htmlbars/tests/htmlbars_test.jscs-test', function () {
|
@@ -15537,9 +15009,6 @@ enifed('ember-htmlbars/tests/integration/block_params_test', ['container/registr
|
|
15537
15009
|
});
|
15538
15010
|
}
|
15539
15011
|
|
15540
|
-
|
15541
|
-
// jscs:disable validateIndentation
|
15542
|
-
|
15543
15012
|
QUnit.module("ember-htmlbars: block params", {
|
15544
15013
|
setup: function() {
|
15545
15014
|
helpers.registerHelper('alias', aliasHelper);
|
@@ -15656,9 +15125,6 @@ enifed('ember-htmlbars/tests/integration/block_params_test', ['container/registr
|
|
15656
15125
|
equal(view.$().text(), "ebryn[trek[machty]trek]ebryn[machty[trek]machty]ebryn");
|
15657
15126
|
});
|
15658
15127
|
|
15659
|
-
// jscs:enable validateIndentation
|
15660
|
-
|
15661
|
-
|
15662
15128
|
});
|
15663
15129
|
enifed('ember-htmlbars/tests/integration/block_params_test.jscs-test', function () {
|
15664
15130
|
|
@@ -16941,9 +16407,6 @@ enifed('ember-htmlbars/tests/system/make_bound_helper_test', ['ember-views/views
|
|
16941
16407
|
}));
|
16942
16408
|
}
|
16943
16409
|
|
16944
|
-
|
16945
|
-
// jscs:disable validateIndentation
|
16946
|
-
|
16947
16410
|
QUnit.module("ember-htmlbars: makeBoundHelper", {
|
16948
16411
|
setup: function() {
|
16949
16412
|
registry = new Registry['default']();
|
@@ -17199,9 +16662,6 @@ enifed('ember-htmlbars/tests/system/make_bound_helper_test', ['ember-views/views
|
|
17199
16662
|
equal(view.$().text(), 'aaa');
|
17200
16663
|
});
|
17201
16664
|
|
17202
|
-
// jscs:enable validateIndentation
|
17203
|
-
|
17204
|
-
|
17205
16665
|
});
|
17206
16666
|
enifed('ember-htmlbars/tests/system/make_bound_helper_test.jscs-test', function () {
|
17207
16667
|
|
@@ -17278,6 +16738,7 @@ enifed('ember-htmlbars/tests/system/render_view_test', ['ember-runtime/tests/uti
|
|
17278
16738
|
view = EmberView['default'].create({
|
17279
16739
|
template: {
|
17280
16740
|
isHTMLBars: true,
|
16741
|
+
revision: 'Ember@1.11.0-beta.2',
|
17281
16742
|
render: function(view, env, contextualElement, blockArguments) {
|
17282
16743
|
for (var i = 0, l = keyNames.length; i < l; i++) {
|
17283
16744
|
var keyName = keyNames[i];
|
@@ -17291,6 +16752,21 @@ enifed('ember-htmlbars/tests/system/render_view_test', ['ember-runtime/tests/uti
|
|
17291
16752
|
utils.runAppend(view);
|
17292
16753
|
});
|
17293
16754
|
|
16755
|
+
QUnit.test('Provides a helpful assertion if revisions do not match.', function() {
|
16756
|
+
view = EmberView['default'].create({
|
16757
|
+
template: {
|
16758
|
+
isHTMLBars: true,
|
16759
|
+
revision: 'Foo-Bar-Baz',
|
16760
|
+
render: function() { }
|
16761
|
+
}
|
16762
|
+
});
|
16763
|
+
|
16764
|
+
expectAssertion(function() {
|
16765
|
+
utils.runAppend(view);
|
16766
|
+
},
|
16767
|
+
/was compiled with `Foo-Bar-Baz`/);
|
16768
|
+
});
|
16769
|
+
|
17294
16770
|
});
|
17295
16771
|
enifed('ember-htmlbars/tests/system/render_view_test.jscs-test', function () {
|
17296
16772
|
|
@@ -17731,15 +17207,13 @@ enifed('ember-metal-views/tests/test_helpers', ['exports', 'ember-metal/platform
|
|
17731
17207
|
}
|
17732
17208
|
}
|
17733
17209
|
if (view.childViews) {
|
17734
|
-
view._childViewsMorph = this._dom.
|
17210
|
+
view._childViewsMorph = this._dom.appendMorph(el);
|
17735
17211
|
} else if (view.textContent) {
|
17736
17212
|
setElementText(el, view.textContent);
|
17737
17213
|
} else if (view.innerHTML) {
|
17738
17214
|
this._dom.detectNamespace(el);
|
17739
|
-
var
|
17740
|
-
|
17741
|
-
el.appendChild(nodes[0]);
|
17742
|
-
}
|
17215
|
+
var frag = this._dom.parseHTML(view.innerHTML, el);
|
17216
|
+
el.appendChild(frag);
|
17743
17217
|
}
|
17744
17218
|
return el;
|
17745
17219
|
};
|
@@ -20851,71 +20325,7 @@ enifed('ember-metal/tests/computed_test', ['ember-metal/core', 'ember-metal/test
|
|
20851
20325
|
// improved-cp-syntax
|
20852
20326
|
//
|
20853
20327
|
|
20854
|
-
|
20855
|
-
QUnit.module('computed - improved cp syntax');
|
20856
|
-
|
20857
|
-
QUnit.test('setter and getters are passed using an object', function() {
|
20858
|
-
var testObj = Ember['default'].Object.extend({
|
20859
|
-
a: '1',
|
20860
|
-
b: '2',
|
20861
|
-
aInt: computed.computed('a', {
|
20862
|
-
get: function(keyName) {
|
20863
|
-
equal(keyName, 'aInt', 'getter receives the keyName');
|
20864
|
-
return parseInt(this.get('a'));
|
20865
|
-
},
|
20866
|
-
set: function(keyName, value, oldValue) {
|
20867
|
-
equal(keyName, 'aInt', 'setter receives the keyName');
|
20868
|
-
equal(value, 123, 'setter receives the new value');
|
20869
|
-
equal(oldValue, 1, 'setter receives the old value');
|
20870
|
-
this.set('a', ""+value); // side effect
|
20871
|
-
return parseInt(this.get('a'));
|
20872
|
-
}
|
20873
|
-
})
|
20874
|
-
}).create();
|
20875
|
-
|
20876
|
-
ok(testObj.get('aInt') === 1, 'getter works');
|
20877
|
-
testObj.set('aInt', 123);
|
20878
|
-
ok(testObj.get('a') === '123', 'setter works');
|
20879
|
-
ok(testObj.get('aInt') === 123, 'cp has been updated too');
|
20880
|
-
});
|
20881
|
-
|
20882
|
-
QUnit.test('setter can be omited', function() {
|
20883
|
-
var testObj = Ember['default'].Object.extend({
|
20884
|
-
a: '1',
|
20885
|
-
b: '2',
|
20886
|
-
aInt: computed.computed('a', {
|
20887
|
-
get: function(keyName) {
|
20888
|
-
equal(keyName, 'aInt', 'getter receives the keyName');
|
20889
|
-
return parseInt(this.get('a'));
|
20890
|
-
}
|
20891
|
-
})
|
20892
|
-
}).create();
|
20893
|
-
|
20894
|
-
ok(testObj.get('aInt') === 1, 'getter works');
|
20895
|
-
ok(testObj.get('a') === '1');
|
20896
|
-
testObj.set('aInt', '123');
|
20897
|
-
ok(testObj.get('aInt') === '123', 'cp has been updated too');
|
20898
|
-
});
|
20899
|
-
|
20900
|
-
QUnit.test('the return value of the setter gets cached', function() {
|
20901
|
-
var testObj = Ember['default'].Object.extend({
|
20902
|
-
a: '1',
|
20903
|
-
sampleCP: computed.computed('a', {
|
20904
|
-
get: function(keyName) {
|
20905
|
-
ok(false, "The getter should not be invoked");
|
20906
|
-
return 'get-value';
|
20907
|
-
},
|
20908
|
-
set: function(keyName, value, oldValue) {
|
20909
|
-
return 'set-value';
|
20910
|
-
}
|
20911
|
-
})
|
20912
|
-
}).create();
|
20913
|
-
|
20914
|
-
testObj.set('sampleCP', 'abcd');
|
20915
|
-
ok(testObj.get('sampleCP') === 'set-value', 'The return value of the CP was cached');
|
20916
|
-
});
|
20917
|
-
}
|
20918
|
-
|
20328
|
+
|
20919
20329
|
// ..........................................................
|
20920
20330
|
// BUGS
|
20921
20331
|
//
|
@@ -29411,8 +28821,6 @@ enifed('ember-routing-htmlbars/tests/helpers/action_test', ['ember-metal/core',
|
|
29411
28821
|
equal(watted, true, "The action was called on the right context");
|
29412
28822
|
});
|
29413
28823
|
|
29414
|
-
if (!Ember['default'].FEATURES.isEnabled('ember-htmlbars')) {
|
29415
|
-
// jscs:disable validateIndentation
|
29416
28824
|
QUnit.test("should target the current controller inside an {{each}} loop [DEPRECATED]", function() {
|
29417
28825
|
var registeredTarget;
|
29418
28826
|
|
@@ -29435,7 +28843,7 @@ enifed('ember-routing-htmlbars/tests/helpers/action_test', ['ember-metal/core',
|
|
29435
28843
|
|
29436
28844
|
view = EmberView['default'].create({
|
29437
28845
|
controller: controller,
|
29438
|
-
template: compile['default']('{{#each controller}}{{action "editTodo"}}{{/each}}')
|
28846
|
+
template: compile['default']('{{#each controller}}<button {{action "editTodo"}}>Edit</button>{{/each}}')
|
29439
28847
|
});
|
29440
28848
|
|
29441
28849
|
expectDeprecation(function() {
|
@@ -29444,8 +28852,6 @@ enifed('ember-routing-htmlbars/tests/helpers/action_test', ['ember-metal/core',
|
|
29444
28852
|
|
29445
28853
|
equal(registeredTarget, itemController, "the item controller is the target of action");
|
29446
28854
|
});
|
29447
|
-
// jscs:enable validateIndentation
|
29448
|
-
}
|
29449
28855
|
|
29450
28856
|
QUnit.test("should target the with-controller inside an {{#with controller='person'}} [DEPRECATED]", function() {
|
29451
28857
|
var registeredTarget;
|
@@ -30486,13 +29892,13 @@ enifed('ember-routing-htmlbars/tests/helpers/link-to_test.jshint', function () {
|
|
30486
29892
|
});
|
30487
29893
|
|
30488
29894
|
});
|
30489
|
-
enifed('ember-routing-htmlbars/tests/helpers/outlet_test', ['ember-metal/
|
29895
|
+
enifed('ember-routing-htmlbars/tests/helpers/outlet_test', ['ember-metal/run_loop', 'ember-runtime/system/namespace', 'ember-views/views/view', 'ember-views/system/jquery', 'ember-routing-htmlbars/helpers/outlet', 'ember-template-compiler/system/compile', 'ember-htmlbars/helpers', 'ember-runtime/tests/utils', 'ember-routing-htmlbars/tests/utils'], function (run, Namespace, EmberView, jQuery, outlet, compile, helpers, utils, tests__utils) {
|
30490
29896
|
|
30491
29897
|
'use strict';
|
30492
29898
|
|
30493
29899
|
var trim = jQuery['default'].trim;
|
30494
29900
|
|
30495
|
-
var
|
29901
|
+
var registry, container, originalOutletHelper, top;
|
30496
29902
|
|
30497
29903
|
QUnit.module("ember-routing-htmlbars: {{outlet}} helper", {
|
30498
29904
|
setup: function() {
|
@@ -30502,6 +29908,9 @@ enifed('ember-routing-htmlbars/tests/helpers/outlet_test', ['ember-metal/core',
|
|
30502
29908
|
var namespace = Namespace['default'].create();
|
30503
29909
|
registry = tests__utils.buildRegistry(namespace);
|
30504
29910
|
container = registry.container();
|
29911
|
+
|
29912
|
+
var CoreOutlet = container.lookupFactory('view:core-outlet');
|
29913
|
+
top = CoreOutlet.create();
|
30505
29914
|
},
|
30506
29915
|
|
30507
29916
|
teardown: function() {
|
@@ -30509,301 +29918,231 @@ enifed('ember-routing-htmlbars/tests/helpers/outlet_test', ['ember-metal/core',
|
|
30509
29918
|
helpers['default']['outlet'] = originalOutletHelper;
|
30510
29919
|
|
30511
29920
|
utils.runDestroy(container);
|
30512
|
-
utils.runDestroy(
|
30513
|
-
registry = container =
|
29921
|
+
utils.runDestroy(top);
|
29922
|
+
registry = container = top = null;
|
30514
29923
|
}
|
30515
29924
|
});
|
30516
29925
|
|
30517
|
-
QUnit.test("view should
|
30518
|
-
var
|
30519
|
-
|
30520
|
-
|
30521
|
-
});
|
29926
|
+
QUnit.test("view should render the outlet when set after dom insertion", function() {
|
29927
|
+
var routerState = withTemplate("<h1>HI</h1>{{outlet}}");
|
29928
|
+
top.setOutletState(routerState);
|
29929
|
+
utils.runAppend(top);
|
30522
29930
|
|
30523
|
-
|
29931
|
+
equal(top.$().text(), 'HI');
|
30524
29932
|
|
30525
|
-
|
29933
|
+
routerState.outlets.main = withTemplate("<p>BYE</p>");
|
30526
29934
|
|
30527
29935
|
run['default'](function() {
|
30528
|
-
|
30529
|
-
template: compile['default']("<p>BYE</p>")
|
30530
|
-
}));
|
29936
|
+
top.setOutletState(routerState);
|
30531
29937
|
});
|
30532
29938
|
|
30533
29939
|
// Replace whitespace for older IE
|
30534
|
-
equal(trim(
|
29940
|
+
equal(trim(top.$().text()), 'HIBYE');
|
30535
29941
|
});
|
30536
29942
|
|
30537
|
-
QUnit.test("
|
30538
|
-
var
|
30539
|
-
|
30540
|
-
|
30541
|
-
|
29943
|
+
QUnit.test("view should render the outlet when set before dom insertion", function() {
|
29944
|
+
var routerState = withTemplate("<h1>HI</h1>{{outlet}}");
|
29945
|
+
routerState.outlets.main = withTemplate("<p>BYE</p>");
|
29946
|
+
top.setOutletState(routerState);
|
29947
|
+
utils.runAppend(top);
|
30542
29948
|
|
30543
|
-
|
30544
|
-
|
30545
|
-
}));
|
30546
|
-
|
30547
|
-
utils.runAppend(view);
|
30548
|
-
|
30549
|
-
equal(view.$().text(), 'HIBYE');
|
29949
|
+
// Replace whitespace for older IE
|
29950
|
+
equal(trim(top.$().text()), 'HIBYE');
|
30550
29951
|
});
|
30551
29952
|
|
29953
|
+
|
30552
29954
|
QUnit.test("outlet should support an optional name", function() {
|
30553
|
-
var
|
30554
|
-
|
30555
|
-
|
30556
|
-
});
|
29955
|
+
var routerState = withTemplate("<h1>HI</h1>{{outlet 'mainView'}}");
|
29956
|
+
top.setOutletState(routerState);
|
29957
|
+
utils.runAppend(top);
|
30557
29958
|
|
30558
|
-
|
29959
|
+
equal(top.$().text(), 'HI');
|
30559
29960
|
|
30560
|
-
|
29961
|
+
routerState.outlets.mainView = withTemplate("<p>BYE</p>");
|
30561
29962
|
|
30562
29963
|
run['default'](function() {
|
30563
|
-
|
30564
|
-
template: compile['default']("<p>BYE</p>")
|
30565
|
-
}));
|
29964
|
+
top.setOutletState(routerState);
|
30566
29965
|
});
|
30567
29966
|
|
30568
29967
|
// Replace whitespace for older IE
|
30569
|
-
equal(trim(
|
29968
|
+
equal(trim(top.$().text()), 'HIBYE');
|
30570
29969
|
});
|
30571
29970
|
|
30572
29971
|
|
30573
29972
|
QUnit.test("outlet should correctly lookup a view", function() {
|
30574
|
-
|
30575
|
-
var
|
30576
|
-
|
30577
|
-
childView;
|
30578
|
-
|
30579
|
-
ContainerView = EmberContainerView['default'].extend();
|
30580
|
-
|
30581
|
-
registry.register("view:containerView", ContainerView);
|
30582
|
-
|
30583
|
-
template = "<h1>HI</h1>{{outlet view='containerView'}}";
|
30584
|
-
|
30585
|
-
view = EmberView['default'].create({
|
30586
|
-
template: compile['default'](template),
|
30587
|
-
container : container
|
29973
|
+
var CoreOutlet = container.lookupFactory('view:core-outlet');
|
29974
|
+
var SpecialOutlet = CoreOutlet.extend({
|
29975
|
+
classNames: ['special']
|
30588
29976
|
});
|
30589
29977
|
|
30590
|
-
|
30591
|
-
template: compile['default']("<p>BYE</p>")
|
30592
|
-
});
|
29978
|
+
registry.register("view:special-outlet", SpecialOutlet);
|
30593
29979
|
|
30594
|
-
|
29980
|
+
var routerState = withTemplate("<h1>HI</h1>{{outlet view='special-outlet'}}");
|
29981
|
+
top.setOutletState(routerState);
|
29982
|
+
utils.runAppend(top);
|
30595
29983
|
|
30596
|
-
equal(
|
29984
|
+
equal(top.$().text(), 'HI');
|
30597
29985
|
|
29986
|
+
routerState.outlets.main = withTemplate("<p>BYE</p>");
|
30598
29987
|
run['default'](function() {
|
30599
|
-
|
29988
|
+
top.setOutletState(routerState);
|
30600
29989
|
});
|
30601
29990
|
|
30602
|
-
ok(ContainerView.detectInstance(childView._parentView), "The custom view class should be used for the outlet");
|
30603
|
-
|
30604
29991
|
// Replace whitespace for older IE
|
30605
|
-
equal(trim(
|
30606
|
-
|
29992
|
+
equal(trim(top.$().text()), 'HIBYE');
|
29993
|
+
equal(top.$().find('.special').length, 1, "expected to find .special element");
|
30607
29994
|
});
|
30608
29995
|
|
30609
29996
|
QUnit.test("outlet should assert view is specified as a string", function() {
|
30610
|
-
|
30611
|
-
var template = "<h1>HI</h1>{{outlet view=containerView}}";
|
29997
|
+
top.setOutletState(withTemplate("<h1>HI</h1>{{outlet view=containerView}}"));
|
30612
29998
|
|
30613
29999
|
expectAssertion(function () {
|
30614
|
-
|
30615
|
-
|
30616
|
-
template: compile['default'](template),
|
30617
|
-
container : container
|
30618
|
-
});
|
30619
|
-
|
30620
|
-
utils.runAppend(view);
|
30621
|
-
|
30622
|
-
});
|
30000
|
+
utils.runAppend(top);
|
30001
|
+
}, /Using a quoteless view parameter with {{outlet}} is not supported/);
|
30623
30002
|
|
30624
30003
|
});
|
30625
30004
|
|
30626
30005
|
QUnit.test("outlet should assert view path is successfully resolved", function() {
|
30627
|
-
|
30628
|
-
var template = "<h1>HI</h1>{{outlet view='someViewNameHere'}}";
|
30006
|
+
top.setOutletState(withTemplate("<h1>HI</h1>{{outlet view='someViewNameHere'}}"));
|
30629
30007
|
|
30630
30008
|
expectAssertion(function () {
|
30631
|
-
|
30632
|
-
|
30633
|
-
template: compile['default'](template),
|
30634
|
-
container : container
|
30635
|
-
});
|
30636
|
-
|
30637
|
-
utils.runAppend(view);
|
30638
|
-
|
30639
|
-
});
|
30009
|
+
utils.runAppend(top);
|
30010
|
+
}, "The view name you supplied 'someViewNameHere' did not resolve to a view.");
|
30640
30011
|
|
30641
30012
|
});
|
30642
30013
|
|
30643
30014
|
QUnit.test("outlet should support an optional view class", function() {
|
30644
|
-
var
|
30645
|
-
|
30646
|
-
|
30647
|
-
|
30648
|
-
|
30015
|
+
var CoreOutlet = container.lookupFactory('view:core-outlet');
|
30016
|
+
var SpecialOutlet = CoreOutlet.extend({
|
30017
|
+
classNames: ['very-special']
|
30018
|
+
});
|
30019
|
+
var routerState = {
|
30020
|
+
render: {
|
30021
|
+
ViewClass: EmberView['default'].extend({
|
30022
|
+
template: compile['default']("<h1>HI</h1>{{outlet viewClass=view.outletView}}"),
|
30023
|
+
outletView: SpecialOutlet
|
30024
|
+
})
|
30025
|
+
},
|
30026
|
+
outlets: {}
|
30027
|
+
};
|
30028
|
+
top.setOutletState(routerState);
|
30649
30029
|
|
30650
|
-
utils.runAppend(
|
30030
|
+
utils.runAppend(top);
|
30651
30031
|
|
30652
|
-
equal(
|
30032
|
+
equal(top.$().text(), 'HI');
|
30033
|
+
equal(top.$().find('.very-special').length, 1, "Should find .very-special");
|
30653
30034
|
|
30654
|
-
|
30655
|
-
template: compile['default']("<p>BYE</p>")
|
30656
|
-
});
|
30035
|
+
routerState.outlets.main = withTemplate("<p>BYE</p>");
|
30657
30036
|
|
30658
30037
|
run['default'](function() {
|
30659
|
-
|
30038
|
+
top.setOutletState(routerState);
|
30660
30039
|
});
|
30661
30040
|
|
30662
|
-
ok(view.outletView.detectInstance(childView._parentView), "The custom view class should be used for the outlet");
|
30663
|
-
|
30664
30041
|
// Replace whitespace for older IE
|
30665
|
-
equal(trim(
|
30042
|
+
equal(trim(top.$().text()), 'HIBYE');
|
30666
30043
|
});
|
30667
30044
|
|
30668
30045
|
|
30669
30046
|
QUnit.test("Outlets bind to the current view, not the current concrete view", function() {
|
30670
|
-
var
|
30671
|
-
|
30672
|
-
|
30673
|
-
|
30674
|
-
view = EmberView['default'].create({
|
30675
|
-
template: compile['default'](parentTemplate)
|
30676
|
-
});
|
30677
|
-
|
30678
|
-
var middleView = _MetamorphView['default'].create({
|
30679
|
-
template: compile['default'](middleTemplate)
|
30680
|
-
});
|
30681
|
-
|
30682
|
-
var bottomView = _MetamorphView['default'].create({
|
30683
|
-
template: compile['default'](bottomTemplate)
|
30684
|
-
});
|
30685
|
-
|
30686
|
-
utils.runAppend(view);
|
30687
|
-
|
30047
|
+
var routerState = withTemplate("<h1>HI</h1>{{outlet}}");
|
30048
|
+
top.setOutletState(routerState);
|
30049
|
+
utils.runAppend(top);
|
30050
|
+
routerState.outlets.main = withTemplate("<h2>MIDDLE</h2>{{outlet}}");
|
30688
30051
|
run['default'](function() {
|
30689
|
-
|
30052
|
+
top.setOutletState(routerState);
|
30690
30053
|
});
|
30691
|
-
|
30054
|
+
routerState.outlets.main.outlets.main = withTemplate("<h3>BOTTOM</h3>");
|
30692
30055
|
run['default'](function() {
|
30693
|
-
|
30056
|
+
top.setOutletState(routerState);
|
30694
30057
|
});
|
30695
30058
|
|
30696
30059
|
var output = jQuery['default']('#qunit-fixture h1 ~ h2 ~ h3').text();
|
30697
30060
|
equal(output, "BOTTOM", "all templates were rendered");
|
30698
30061
|
});
|
30699
30062
|
|
30700
|
-
QUnit.test("view should support disconnectOutlet for the main outlet", function() {
|
30701
|
-
var template = "<h1>HI</h1>{{outlet}}";
|
30702
|
-
view = EmberView['default'].create({
|
30703
|
-
template: compile['default'](template)
|
30704
|
-
});
|
30705
|
-
|
30706
|
-
utils.runAppend(view);
|
30707
|
-
|
30708
|
-
equal(view.$().text(), 'HI');
|
30709
|
-
|
30710
|
-
run['default'](function() {
|
30711
|
-
view.connectOutlet('main', EmberView['default'].create({
|
30712
|
-
template: compile['default']("<p>BYE</p>")
|
30713
|
-
}));
|
30714
|
-
});
|
30715
|
-
|
30716
|
-
// Replace whitespace for older IE
|
30717
|
-
equal(trim(view.$().text()), 'HIBYE');
|
30718
|
-
|
30719
|
-
run['default'](function() {
|
30720
|
-
view.disconnectOutlet('main');
|
30721
|
-
});
|
30722
|
-
|
30723
|
-
// Replace whitespace for older IE
|
30724
|
-
equal(trim(view.$().text()), 'HI');
|
30725
|
-
});
|
30726
|
-
|
30727
|
-
// TODO: Remove flag when {{with}} is fixed.
|
30728
|
-
if (!Ember['default'].FEATURES.isEnabled('ember-htmlbars')) {
|
30729
|
-
// jscs:disable validateIndentation
|
30730
|
-
|
30731
30063
|
QUnit.test("Outlets bind to the current template's view, not inner contexts [DEPRECATED]", function() {
|
30732
|
-
var parentTemplate = "<h1>HI</h1>{{#if view.alwaysTrue}}{{
|
30064
|
+
var parentTemplate = "<h1>HI</h1>{{#if view.alwaysTrue}}{{outlet}}{{/if}}";
|
30733
30065
|
var bottomTemplate = "<h3>BOTTOM</h3>";
|
30734
30066
|
|
30735
|
-
|
30736
|
-
|
30737
|
-
|
30738
|
-
|
30067
|
+
var routerState = {
|
30068
|
+
render: {
|
30069
|
+
ViewClass: EmberView['default'].extend({
|
30070
|
+
alwaysTrue: true,
|
30071
|
+
template: compile['default'](parentTemplate)
|
30072
|
+
})
|
30073
|
+
},
|
30074
|
+
outlets: {}
|
30075
|
+
};
|
30739
30076
|
|
30740
|
-
|
30741
|
-
template: compile['default'](bottomTemplate)
|
30742
|
-
});
|
30077
|
+
top.setOutletState(routerState);
|
30743
30078
|
|
30744
|
-
|
30745
|
-
|
30746
|
-
|
30079
|
+
utils.runAppend(top);
|
30080
|
+
|
30081
|
+
routerState.outlets.main = withTemplate(bottomTemplate);
|
30747
30082
|
|
30748
30083
|
run['default'](function() {
|
30749
|
-
|
30084
|
+
top.setOutletState(routerState);
|
30750
30085
|
});
|
30751
30086
|
|
30752
30087
|
var output = jQuery['default']('#qunit-fixture h1 ~ h3').text();
|
30753
30088
|
equal(output, "BOTTOM", "all templates were rendered");
|
30754
30089
|
});
|
30755
30090
|
|
30756
|
-
// jscs:enable validateIndentation
|
30757
|
-
}
|
30758
|
-
|
30759
30091
|
QUnit.test("should support layouts", function() {
|
30760
30092
|
var template = "{{outlet}}";
|
30761
30093
|
var layout = "<h1>HI</h1>{{yield}}";
|
30094
|
+
var routerState = {
|
30095
|
+
render: {
|
30096
|
+
ViewClass: EmberView['default'].extend({
|
30097
|
+
template: compile['default'](template),
|
30098
|
+
layout: compile['default'](layout)
|
30099
|
+
})
|
30100
|
+
},
|
30101
|
+
outlets: {}
|
30102
|
+
};
|
30103
|
+
top.setOutletState(routerState);
|
30104
|
+
utils.runAppend(top);
|
30762
30105
|
|
30763
|
-
|
30764
|
-
template: compile['default'](template),
|
30765
|
-
layout: compile['default'](layout)
|
30766
|
-
});
|
30767
|
-
|
30768
|
-
utils.runAppend(view);
|
30106
|
+
equal(top.$().text(), 'HI');
|
30769
30107
|
|
30770
|
-
|
30108
|
+
routerState.outlets.main = withTemplate("<p>BYE</p>");
|
30771
30109
|
|
30772
30110
|
run['default'](function() {
|
30773
|
-
|
30774
|
-
template: compile['default']("<p>BYE</p>")
|
30775
|
-
}));
|
30111
|
+
top.setOutletState(routerState);
|
30776
30112
|
});
|
30113
|
+
|
30777
30114
|
// Replace whitespace for older IE
|
30778
|
-
equal(trim(
|
30115
|
+
equal(trim(top.$().text()), 'HIBYE');
|
30779
30116
|
});
|
30780
30117
|
|
30781
30118
|
QUnit.test("should not throw deprecations if {{outlet}} is used without a name", function() {
|
30782
30119
|
expectNoDeprecation();
|
30783
|
-
|
30784
|
-
|
30785
|
-
});
|
30786
|
-
utils.runAppend(view);
|
30120
|
+
top.setOutletState(withTemplate("{{outlet}}"));
|
30121
|
+
utils.runAppend(top);
|
30787
30122
|
});
|
30788
30123
|
|
30789
30124
|
QUnit.test("should not throw deprecations if {{outlet}} is used with a quoted name", function() {
|
30790
30125
|
expectNoDeprecation();
|
30791
|
-
|
30792
|
-
|
30793
|
-
});
|
30794
|
-
utils.runAppend(view);
|
30126
|
+
top.setOutletState(withTemplate("{{outlet \"foo\"}}"));
|
30127
|
+
utils.runAppend(top);
|
30795
30128
|
});
|
30796
30129
|
|
30797
|
-
|
30798
|
-
|
30799
|
-
|
30800
|
-
|
30801
|
-
|
30802
|
-
|
30803
|
-
|
30804
|
-
|
30805
|
-
|
30806
|
-
|
30130
|
+
QUnit.test("should throw an assertion if {{outlet}} used with unquoted name", function() {
|
30131
|
+
top.setOutletState(withTemplate("{{outlet foo}}"));
|
30132
|
+
expectAssertion(function() {
|
30133
|
+
utils.runAppend(top);
|
30134
|
+
}, "Using {{outlet}} with an unquoted name is not supported.");
|
30135
|
+
});
|
30136
|
+
|
30137
|
+
function withTemplate(string) {
|
30138
|
+
return {
|
30139
|
+
render: {
|
30140
|
+
template: compile['default'](string)
|
30141
|
+
},
|
30142
|
+
outlets: {}
|
30143
|
+
};
|
30144
|
+
}
|
30145
|
+
|
30807
30146
|
});
|
30808
30147
|
enifed('ember-routing-htmlbars/tests/helpers/outlet_test.jscs-test', function () {
|
30809
30148
|
|
@@ -30825,7 +30164,7 @@ enifed('ember-routing-htmlbars/tests/helpers/outlet_test.jshint', function () {
|
|
30825
30164
|
});
|
30826
30165
|
|
30827
30166
|
});
|
30828
|
-
enifed('ember-routing-htmlbars/tests/helpers/render_test', ['ember-metal/core', 'ember-metal/property_set', 'ember-metal/run_loop', 'ember-metal/platform/define_property', 'ember-metal/mixin', 'ember-runtime/system/namespace', 'ember-runtime/controllers/controller', 'ember-runtime/controllers/array_controller', 'ember-htmlbars/helpers', 'ember-template-compiler/system/compile', 'ember-
|
30167
|
+
enifed('ember-routing-htmlbars/tests/helpers/render_test', ['ember-metal/core', 'ember-metal/property_set', 'ember-metal/run_loop', 'ember-metal/platform/define_property', 'ember-metal/mixin', 'ember-runtime/system/namespace', 'ember-runtime/controllers/controller', 'ember-runtime/controllers/array_controller', 'ember-htmlbars/helpers', 'ember-template-compiler/system/compile', 'ember-views/views/view', 'ember-views/system/jquery', 'ember-views/system/action_manager', 'ember-routing-htmlbars/helpers/render', 'ember-routing-htmlbars/helpers/action', 'ember-routing-htmlbars/helpers/outlet', 'ember-routing-htmlbars/tests/utils', 'ember-runtime/tests/utils'], function (Ember, property_set, run, define_property, mixin, Namespace, controllers__controller, EmberArrayController, helpers, compile, EmberView, jQuery, ActionManager, render, helpers__action, outlet, utils, tests__utils) {
|
30829
30168
|
|
30830
30169
|
'use strict';
|
30831
30170
|
|
@@ -31232,30 +30571,40 @@ enifed('ember-routing-htmlbars/tests/helpers/render_test', ['ember-metal/core',
|
|
31232
30571
|
});
|
31233
30572
|
|
31234
30573
|
QUnit.test("{{render}} helper should be able to render a template again when it was removed", function() {
|
31235
|
-
var template = "<h1>HI</h1>{{outlet}}";
|
31236
30574
|
var controller = controllers__controller["default"].extend({ container: container });
|
31237
|
-
|
31238
|
-
|
31239
|
-
|
30575
|
+
var CoreOutlet = container.lookupFactory('view:core-outlet');
|
30576
|
+
view = CoreOutlet.create();
|
30577
|
+
tests__utils.runAppend(view);
|
31240
30578
|
|
31241
30579
|
Ember['default'].TEMPLATES['home'] = compile['default']("<p>BYE</p>");
|
31242
30580
|
|
31243
|
-
|
30581
|
+
var liveRoutes = {
|
30582
|
+
render: {
|
30583
|
+
template: compile['default']("<h1>HI</h1>{{outlet}}")
|
30584
|
+
},
|
30585
|
+
outlets: {}
|
30586
|
+
};
|
31244
30587
|
|
31245
30588
|
run['default'](function() {
|
31246
|
-
|
31247
|
-
|
31248
|
-
|
31249
|
-
|
30589
|
+
liveRoutes.outlets.main = {
|
30590
|
+
render: {
|
30591
|
+
controller: controller.create(),
|
30592
|
+
template: compile['default']("<div>1{{render 'home'}}</div>")
|
30593
|
+
}
|
30594
|
+
};
|
30595
|
+
view.setOutletState(liveRoutes);
|
31250
30596
|
});
|
31251
30597
|
|
31252
30598
|
equal(view.$().text(), 'HI1BYE');
|
31253
30599
|
|
31254
30600
|
run['default'](function() {
|
31255
|
-
|
31256
|
-
|
31257
|
-
|
31258
|
-
|
30601
|
+
liveRoutes.outlets.main = {
|
30602
|
+
render: {
|
30603
|
+
controller: controller.create(),
|
30604
|
+
template: compile['default']("<div>2{{render 'home'}}</div>")
|
30605
|
+
}
|
30606
|
+
};
|
30607
|
+
view.setOutletState(liveRoutes);
|
31259
30608
|
});
|
31260
30609
|
|
31261
30610
|
equal(view.$().text(), 'HI2BYE');
|
@@ -31301,9 +30650,6 @@ enifed('ember-routing-htmlbars/tests/helpers/render_test', ['ember-metal/core',
|
|
31301
30650
|
equal(container.lookup('controller:blog.post'), renderedView.get('controller'), 'rendered with correct controller');
|
31302
30651
|
});
|
31303
30652
|
|
31304
|
-
|
31305
|
-
// jscs:disable validateIndentation
|
31306
|
-
|
31307
30653
|
QUnit.test("throws an assertion if {{render}} is called with an unquoted template name", function() {
|
31308
30654
|
var template = '<h1>HI</h1>{{render home}}';
|
31309
30655
|
var controller = controllers__controller["default"].extend({ container: container });
|
@@ -31334,8 +30680,6 @@ enifed('ember-routing-htmlbars/tests/helpers/render_test', ['ember-metal/core',
|
|
31334
30680
|
}, "The second argument of {{render}} must be a path, e.g. {{render \"post\" post}}.");
|
31335
30681
|
});
|
31336
30682
|
|
31337
|
-
// jscs:enable validateIndentation
|
31338
|
-
|
31339
30683
|
});
|
31340
30684
|
enifed('ember-routing-htmlbars/tests/helpers/render_test.jscs-test', function () {
|
31341
30685
|
|
@@ -31357,7 +30701,7 @@ enifed('ember-routing-htmlbars/tests/helpers/render_test.jshint', function () {
|
|
31357
30701
|
});
|
31358
30702
|
|
31359
30703
|
});
|
31360
|
-
enifed('ember-routing-htmlbars/tests/utils', ['exports', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-runtime/system/string', 'container/registry', 'ember-runtime/controllers/controller', 'ember-runtime/controllers/object_controller', 'ember-runtime/controllers/array_controller', 'ember-views/views/metamorph_view', 'ember-routing/system/router', 'ember-routing/location/hash_location'], function (exports, property_get, property_set, string, Registry, Controller, ObjectController, ArrayController, _MetamorphView, EmberRouter, HashLocation) {
|
30704
|
+
enifed('ember-routing-htmlbars/tests/utils', ['exports', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-runtime/system/string', 'container/registry', 'ember-runtime/controllers/controller', 'ember-runtime/controllers/object_controller', 'ember-runtime/controllers/array_controller', 'ember-views/views/metamorph_view', 'ember-views/views/view', 'ember-routing/system/router', 'ember-routing-views/views/outlet', 'ember-routing/location/hash_location'], function (exports, property_get, property_set, string, Registry, Controller, ObjectController, ArrayController, _MetamorphView, EmberView, EmberRouter, outlet, HashLocation) {
|
31361
30705
|
|
31362
30706
|
'use strict';
|
31363
30707
|
|
@@ -31401,6 +30745,9 @@ enifed('ember-routing-htmlbars/tests/utils', ['exports', 'ember-metal/property_g
|
|
31401
30745
|
registry.register("controller:array", ArrayController['default'], { instantiate: false });
|
31402
30746
|
|
31403
30747
|
registry.register("view:default", _MetamorphView['default']);
|
30748
|
+
registry.register("view:toplevel", EmberView['default'].extend());
|
30749
|
+
registry.register("view:-outlet", outlet.OutletView);
|
30750
|
+
registry.register("view:core-outlet", outlet.CoreOutletView);
|
31404
30751
|
registry.register("router:main", EmberRouter['default'].extend());
|
31405
30752
|
|
31406
30753
|
registry.typeInjection("route", "router", "router:main");
|
@@ -31449,7 +30796,7 @@ enifed('ember-routing-views.jshint', function () {
|
|
31449
30796
|
});
|
31450
30797
|
|
31451
30798
|
});
|
31452
|
-
enifed('ember-routing-views/tests/main_test', ['ember-
|
30799
|
+
enifed('ember-routing-views/tests/main_test', ['ember-metal/core'], function (Ember) {
|
31453
30800
|
|
31454
30801
|
'use strict';
|
31455
30802
|
|
@@ -31580,26 +30927,6 @@ enifed('ember-routing/ext/run_loop.jshint', function () {
|
|
31580
30927
|
ok(true, 'ember-routing/ext/run_loop.js should pass jshint.');
|
31581
30928
|
});
|
31582
30929
|
|
31583
|
-
});
|
31584
|
-
enifed('ember-routing/ext/view.jscs-test', function () {
|
31585
|
-
|
31586
|
-
'use strict';
|
31587
|
-
|
31588
|
-
module('JSCS - ember-routing/ext');
|
31589
|
-
test('ember-routing/ext/view.js should pass jscs', function() {
|
31590
|
-
ok(true, 'ember-routing/ext/view.js should pass jscs.');
|
31591
|
-
});
|
31592
|
-
|
31593
|
-
});
|
31594
|
-
enifed('ember-routing/ext/view.jshint', function () {
|
31595
|
-
|
31596
|
-
'use strict';
|
31597
|
-
|
31598
|
-
module('JSHint - ember-routing/ext');
|
31599
|
-
test('ember-routing/ext/view.js should pass jshint', function() {
|
31600
|
-
ok(true, 'ember-routing/ext/view.js should pass jshint.');
|
31601
|
-
});
|
31602
|
-
|
31603
30930
|
});
|
31604
30931
|
enifed('ember-routing/location/api.jscs-test', function () {
|
31605
30932
|
|
@@ -52610,9 +51937,6 @@ enifed('ember-template-compiler/tests/system/compile_test', ['ember-template-com
|
|
52610
51937
|
|
52611
51938
|
'use strict';
|
52612
51939
|
|
52613
|
-
|
52614
|
-
// jscs:disable validateIndentation
|
52615
|
-
|
52616
51940
|
QUnit.module('ember-htmlbars: compile');
|
52617
51941
|
|
52618
51942
|
QUnit.test('compiles the provided template with htmlbars', function() {
|
@@ -52633,8 +51957,22 @@ enifed('ember-template-compiler/tests/system/compile_test', ['ember-template-com
|
|
52633
51957
|
ok(actual.isMethod === false, 'sets isMethod via template function');
|
52634
51958
|
});
|
52635
51959
|
|
52636
|
-
|
52637
|
-
|
51960
|
+
QUnit.test('includes the current revision in the compiled template', function() {
|
51961
|
+
var templateString = "{{foo}} -- {{some-bar blah='foo'}}";
|
51962
|
+
|
51963
|
+
var actual = compile['default'](templateString);
|
51964
|
+
|
51965
|
+
equal(actual.revision, 'Ember@1.11.0-beta.2', 'revision is included in generated template');
|
51966
|
+
});
|
51967
|
+
|
51968
|
+
QUnit.test('the template revision is different than the HTMLBars default revision', function() {
|
51969
|
+
var templateString = "{{foo}} -- {{some-bar blah='foo'}}";
|
51970
|
+
|
51971
|
+
var actual = compile['default'](templateString);
|
51972
|
+
var expected = compiler.compile(templateString);
|
51973
|
+
|
51974
|
+
ok(actual.revision !== expected.revision, 'revision differs from default');
|
51975
|
+
});
|
52638
51976
|
|
52639
51977
|
});
|
52640
51978
|
enifed('ember-template-compiler/tests/system/compile_test.jscs-test', function () {
|
@@ -52661,9 +51999,6 @@ enifed('ember-template-compiler/tests/system/template_test', ['ember-template-co
|
|
52661
51999
|
|
52662
52000
|
'use strict';
|
52663
52001
|
|
52664
|
-
|
52665
|
-
// jscs:disable validateIndentation
|
52666
|
-
|
52667
52002
|
QUnit.module('ember-htmlbars: template');
|
52668
52003
|
|
52669
52004
|
QUnit.test('sets `isTop` on the provided function', function() {
|
@@ -52682,9 +52017,6 @@ enifed('ember-template-compiler/tests/system/template_test', ['ember-template-co
|
|
52682
52017
|
equal(test.isMethod, false, 'sets isMethod on the provided function');
|
52683
52018
|
});
|
52684
52019
|
|
52685
|
-
// jscs:enable validateIndentation
|
52686
|
-
|
52687
|
-
|
52688
52020
|
});
|
52689
52021
|
enifed('ember-template-compiler/tests/system/template_test.jscs-test', function () {
|
52690
52022
|
|
@@ -53572,11 +52904,7 @@ enifed('ember-testing/tests/helpers_test', ['ember-metal/core', 'ember-metal/run
|
|
53572
52904
|
checkHelperPresent('wait', expected);
|
53573
52905
|
checkHelperPresent('triggerEvent', expected);
|
53574
52906
|
|
53575
|
-
|
53576
|
-
checkHelperPresent('check', expected);
|
53577
|
-
checkHelperPresent('uncheck', expected);
|
53578
|
-
}
|
53579
|
-
}
|
52907
|
+
}
|
53580
52908
|
|
53581
52909
|
function assertNoHelpers(application, helperContainer) {
|
53582
52910
|
assertHelpers(application, helperContainer, false);
|
@@ -54095,94 +53423,7 @@ enifed('ember-testing/tests/helpers_test', ['ember-metal/core', 'ember-metal/run
|
|
54095
53423
|
});
|
54096
53424
|
});
|
54097
53425
|
|
54098
|
-
|
54099
|
-
QUnit.test("`check` ensures checkboxes are `checked` state for checkboxes", function() {
|
54100
|
-
expect(2);
|
54101
|
-
var check, find, visit, andThen;
|
54102
|
-
|
54103
|
-
App.IndexView = EmberView['default'].extend({
|
54104
|
-
template: compile['default']('<input type="checkbox" id="unchecked"><input type="checkbox" id="checked" checked>')
|
54105
|
-
});
|
54106
|
-
|
54107
|
-
run['default'](App, App.advanceReadiness);
|
54108
|
-
|
54109
|
-
check = App.testHelpers.check;
|
54110
|
-
find = App.testHelpers.find;
|
54111
|
-
visit = App.testHelpers.visit;
|
54112
|
-
andThen = App.testHelpers.andThen;
|
54113
|
-
|
54114
|
-
visit('/');
|
54115
|
-
check('#unchecked');
|
54116
|
-
check('#checked');
|
54117
|
-
andThen(function() {
|
54118
|
-
equal(find('#unchecked').is(":checked"), true, "can check an unchecked checkbox");
|
54119
|
-
equal(find('#checked').is(":checked"), true, "can check a checked checkbox");
|
54120
|
-
});
|
54121
|
-
});
|
54122
|
-
|
54123
|
-
QUnit.test("`uncheck` ensures checkboxes are not `checked`", function() {
|
54124
|
-
expect(2);
|
54125
|
-
var uncheck, find, visit, andThen;
|
54126
|
-
|
54127
|
-
App.IndexView = EmberView['default'].extend({
|
54128
|
-
template: compile['default']('<input type="checkbox" id="unchecked"><input type="checkbox" id="checked" checked>')
|
54129
|
-
});
|
54130
|
-
|
54131
|
-
run['default'](App, App.advanceReadiness);
|
54132
|
-
|
54133
|
-
uncheck = App.testHelpers.uncheck;
|
54134
|
-
find = App.testHelpers.find;
|
54135
|
-
visit = App.testHelpers.visit;
|
54136
|
-
andThen = App.testHelpers.andThen;
|
54137
|
-
|
54138
|
-
visit('/');
|
54139
|
-
uncheck('#unchecked');
|
54140
|
-
uncheck('#checked');
|
54141
|
-
andThen(function() {
|
54142
|
-
equal(find('#unchecked').is(":checked"), false, "can uncheck an unchecked checkbox");
|
54143
|
-
equal(find('#checked').is(":checked"), false, "can uncheck a checked checkbox");
|
54144
|
-
});
|
54145
|
-
});
|
54146
|
-
|
54147
|
-
QUnit.test("`check` asserts the selected inputs are checkboxes", function() {
|
54148
|
-
var check, visit;
|
54149
|
-
|
54150
|
-
App.IndexView = EmberView['default'].extend({
|
54151
|
-
template: compile['default']('<input type="text" id="text">')
|
54152
|
-
});
|
54153
|
-
|
54154
|
-
run['default'](App, App.advanceReadiness);
|
54155
|
-
|
54156
|
-
check = App.testHelpers.check;
|
54157
|
-
visit = App.testHelpers.visit;
|
54158
|
-
|
54159
|
-
visit('/').then(function() {
|
54160
|
-
expectAssertion(function() {
|
54161
|
-
check('#text');
|
54162
|
-
}, /must be a checkbox/);
|
54163
|
-
});
|
54164
|
-
});
|
54165
|
-
|
54166
|
-
QUnit.test("`uncheck` asserts the selected inputs are checkboxes", function() {
|
54167
|
-
var visit, uncheck;
|
54168
|
-
|
54169
|
-
App.IndexView = EmberView['default'].extend({
|
54170
|
-
template: compile['default']('<input type="text" id="text">')
|
54171
|
-
});
|
54172
|
-
|
54173
|
-
run['default'](App, App.advanceReadiness);
|
54174
|
-
|
54175
|
-
visit = App.testHelpers.visit;
|
54176
|
-
uncheck = App.testHelpers.uncheck;
|
54177
|
-
|
54178
|
-
visit('/').then(function() {
|
54179
|
-
expectAssertion(function() {
|
54180
|
-
uncheck('#text');
|
54181
|
-
}, /must be a checkbox/);
|
54182
|
-
});
|
54183
|
-
});
|
54184
|
-
}
|
54185
|
-
|
53426
|
+
|
54186
53427
|
QUnit.test("`triggerEvent accepts an optional options hash and context", function() {
|
54187
53428
|
expect(3);
|
54188
53429
|
|
@@ -54760,6 +54001,46 @@ enifed('ember-views/component_lookup.jshint', function () {
|
|
54760
54001
|
ok(true, 'ember-views/component_lookup.js should pass jshint.');
|
54761
54002
|
});
|
54762
54003
|
|
54004
|
+
});
|
54005
|
+
enifed('ember-views/mixins/attribute_bindings_support.jscs-test', function () {
|
54006
|
+
|
54007
|
+
'use strict';
|
54008
|
+
|
54009
|
+
module('JSCS - ember-views/mixins');
|
54010
|
+
test('ember-views/mixins/attribute_bindings_support.js should pass jscs', function() {
|
54011
|
+
ok(true, 'ember-views/mixins/attribute_bindings_support.js should pass jscs.');
|
54012
|
+
});
|
54013
|
+
|
54014
|
+
});
|
54015
|
+
enifed('ember-views/mixins/attribute_bindings_support.jshint', function () {
|
54016
|
+
|
54017
|
+
'use strict';
|
54018
|
+
|
54019
|
+
module('JSHint - ember-views/mixins');
|
54020
|
+
test('ember-views/mixins/attribute_bindings_support.js should pass jshint', function() {
|
54021
|
+
ok(true, 'ember-views/mixins/attribute_bindings_support.js should pass jshint.');
|
54022
|
+
});
|
54023
|
+
|
54024
|
+
});
|
54025
|
+
enifed('ember-views/mixins/class_names_support.jscs-test', function () {
|
54026
|
+
|
54027
|
+
'use strict';
|
54028
|
+
|
54029
|
+
module('JSCS - ember-views/mixins');
|
54030
|
+
test('ember-views/mixins/class_names_support.js should pass jscs', function() {
|
54031
|
+
ok(true, 'ember-views/mixins/class_names_support.js should pass jscs.');
|
54032
|
+
});
|
54033
|
+
|
54034
|
+
});
|
54035
|
+
enifed('ember-views/mixins/class_names_support.jshint', function () {
|
54036
|
+
|
54037
|
+
'use strict';
|
54038
|
+
|
54039
|
+
module('JSHint - ember-views/mixins');
|
54040
|
+
test('ember-views/mixins/class_names_support.js should pass jshint', function() {
|
54041
|
+
ok(true, 'ember-views/mixins/class_names_support.js should pass jshint.');
|
54042
|
+
});
|
54043
|
+
|
54763
54044
|
});
|
54764
54045
|
enifed('ember-views/mixins/component_template_deprecation.jscs-test', function () {
|
54765
54046
|
|
@@ -54780,6 +54061,46 @@ enifed('ember-views/mixins/component_template_deprecation.jshint', function () {
|
|
54780
54061
|
ok(true, 'ember-views/mixins/component_template_deprecation.js should pass jshint.');
|
54781
54062
|
});
|
54782
54063
|
|
54064
|
+
});
|
54065
|
+
enifed('ember-views/mixins/instrumentation_support.jscs-test', function () {
|
54066
|
+
|
54067
|
+
'use strict';
|
54068
|
+
|
54069
|
+
module('JSCS - ember-views/mixins');
|
54070
|
+
test('ember-views/mixins/instrumentation_support.js should pass jscs', function() {
|
54071
|
+
ok(true, 'ember-views/mixins/instrumentation_support.js should pass jscs.');
|
54072
|
+
});
|
54073
|
+
|
54074
|
+
});
|
54075
|
+
enifed('ember-views/mixins/instrumentation_support.jshint', function () {
|
54076
|
+
|
54077
|
+
'use strict';
|
54078
|
+
|
54079
|
+
module('JSHint - ember-views/mixins');
|
54080
|
+
test('ember-views/mixins/instrumentation_support.js should pass jshint', function() {
|
54081
|
+
ok(true, 'ember-views/mixins/instrumentation_support.js should pass jshint.');
|
54082
|
+
});
|
54083
|
+
|
54084
|
+
});
|
54085
|
+
enifed('ember-views/mixins/legacy_view_support.jscs-test', function () {
|
54086
|
+
|
54087
|
+
'use strict';
|
54088
|
+
|
54089
|
+
module('JSCS - ember-views/mixins');
|
54090
|
+
test('ember-views/mixins/legacy_view_support.js should pass jscs', function() {
|
54091
|
+
ok(true, 'ember-views/mixins/legacy_view_support.js should pass jscs.');
|
54092
|
+
});
|
54093
|
+
|
54094
|
+
});
|
54095
|
+
enifed('ember-views/mixins/legacy_view_support.jshint', function () {
|
54096
|
+
|
54097
|
+
'use strict';
|
54098
|
+
|
54099
|
+
module('JSHint - ember-views/mixins');
|
54100
|
+
test('ember-views/mixins/legacy_view_support.js should pass jshint', function() {
|
54101
|
+
ok(true, 'ember-views/mixins/legacy_view_support.js should pass jshint.');
|
54102
|
+
});
|
54103
|
+
|
54783
54104
|
});
|
54784
54105
|
enifed('ember-views/mixins/normalized_rerender_if_needed.jscs-test', function () {
|
54785
54106
|
|
@@ -54800,6 +54121,26 @@ enifed('ember-views/mixins/normalized_rerender_if_needed.jshint', function () {
|
|
54800
54121
|
ok(true, 'ember-views/mixins/normalized_rerender_if_needed.js should pass jshint.');
|
54801
54122
|
});
|
54802
54123
|
|
54124
|
+
});
|
54125
|
+
enifed('ember-views/mixins/template_rendering_support.jscs-test', function () {
|
54126
|
+
|
54127
|
+
'use strict';
|
54128
|
+
|
54129
|
+
module('JSCS - ember-views/mixins');
|
54130
|
+
test('ember-views/mixins/template_rendering_support.js should pass jscs', function() {
|
54131
|
+
ok(true, 'ember-views/mixins/template_rendering_support.js should pass jscs.');
|
54132
|
+
});
|
54133
|
+
|
54134
|
+
});
|
54135
|
+
enifed('ember-views/mixins/template_rendering_support.jshint', function () {
|
54136
|
+
|
54137
|
+
'use strict';
|
54138
|
+
|
54139
|
+
module('JSHint - ember-views/mixins');
|
54140
|
+
test('ember-views/mixins/template_rendering_support.js should pass jshint', function() {
|
54141
|
+
ok(true, 'ember-views/mixins/template_rendering_support.js should pass jshint.');
|
54142
|
+
});
|
54143
|
+
|
54803
54144
|
});
|
54804
54145
|
enifed('ember-views/mixins/text_support.jscs-test', function () {
|
54805
54146
|
|
@@ -54820,6 +54161,106 @@ enifed('ember-views/mixins/text_support.jshint', function () {
|
|
54820
54161
|
ok(true, 'ember-views/mixins/text_support.js should pass jshint.');
|
54821
54162
|
});
|
54822
54163
|
|
54164
|
+
});
|
54165
|
+
enifed('ember-views/mixins/view_child_views_support.jscs-test', function () {
|
54166
|
+
|
54167
|
+
'use strict';
|
54168
|
+
|
54169
|
+
module('JSCS - ember-views/mixins');
|
54170
|
+
test('ember-views/mixins/view_child_views_support.js should pass jscs', function() {
|
54171
|
+
ok(true, 'ember-views/mixins/view_child_views_support.js should pass jscs.');
|
54172
|
+
});
|
54173
|
+
|
54174
|
+
});
|
54175
|
+
enifed('ember-views/mixins/view_child_views_support.jshint', function () {
|
54176
|
+
|
54177
|
+
'use strict';
|
54178
|
+
|
54179
|
+
module('JSHint - ember-views/mixins');
|
54180
|
+
test('ember-views/mixins/view_child_views_support.js should pass jshint', function() {
|
54181
|
+
ok(true, 'ember-views/mixins/view_child_views_support.js should pass jshint.');
|
54182
|
+
});
|
54183
|
+
|
54184
|
+
});
|
54185
|
+
enifed('ember-views/mixins/view_context_support.jscs-test', function () {
|
54186
|
+
|
54187
|
+
'use strict';
|
54188
|
+
|
54189
|
+
module('JSCS - ember-views/mixins');
|
54190
|
+
test('ember-views/mixins/view_context_support.js should pass jscs', function() {
|
54191
|
+
ok(true, 'ember-views/mixins/view_context_support.js should pass jscs.');
|
54192
|
+
});
|
54193
|
+
|
54194
|
+
});
|
54195
|
+
enifed('ember-views/mixins/view_context_support.jshint', function () {
|
54196
|
+
|
54197
|
+
'use strict';
|
54198
|
+
|
54199
|
+
module('JSHint - ember-views/mixins');
|
54200
|
+
test('ember-views/mixins/view_context_support.js should pass jshint', function() {
|
54201
|
+
ok(true, 'ember-views/mixins/view_context_support.js should pass jshint.');
|
54202
|
+
});
|
54203
|
+
|
54204
|
+
});
|
54205
|
+
enifed('ember-views/mixins/view_keyword_support.jscs-test', function () {
|
54206
|
+
|
54207
|
+
'use strict';
|
54208
|
+
|
54209
|
+
module('JSCS - ember-views/mixins');
|
54210
|
+
test('ember-views/mixins/view_keyword_support.js should pass jscs', function() {
|
54211
|
+
ok(true, 'ember-views/mixins/view_keyword_support.js should pass jscs.');
|
54212
|
+
});
|
54213
|
+
|
54214
|
+
});
|
54215
|
+
enifed('ember-views/mixins/view_keyword_support.jshint', function () {
|
54216
|
+
|
54217
|
+
'use strict';
|
54218
|
+
|
54219
|
+
module('JSHint - ember-views/mixins');
|
54220
|
+
test('ember-views/mixins/view_keyword_support.js should pass jshint', function() {
|
54221
|
+
ok(true, 'ember-views/mixins/view_keyword_support.js should pass jshint.');
|
54222
|
+
});
|
54223
|
+
|
54224
|
+
});
|
54225
|
+
enifed('ember-views/mixins/view_state_support.jscs-test', function () {
|
54226
|
+
|
54227
|
+
'use strict';
|
54228
|
+
|
54229
|
+
module('JSCS - ember-views/mixins');
|
54230
|
+
test('ember-views/mixins/view_state_support.js should pass jscs', function() {
|
54231
|
+
ok(true, 'ember-views/mixins/view_state_support.js should pass jscs.');
|
54232
|
+
});
|
54233
|
+
|
54234
|
+
});
|
54235
|
+
enifed('ember-views/mixins/view_state_support.jshint', function () {
|
54236
|
+
|
54237
|
+
'use strict';
|
54238
|
+
|
54239
|
+
module('JSHint - ember-views/mixins');
|
54240
|
+
test('ember-views/mixins/view_state_support.js should pass jshint', function() {
|
54241
|
+
ok(true, 'ember-views/mixins/view_state_support.js should pass jshint.');
|
54242
|
+
});
|
54243
|
+
|
54244
|
+
});
|
54245
|
+
enifed('ember-views/mixins/view_stream_support.jscs-test', function () {
|
54246
|
+
|
54247
|
+
'use strict';
|
54248
|
+
|
54249
|
+
module('JSCS - ember-views/mixins');
|
54250
|
+
test('ember-views/mixins/view_stream_support.js should pass jscs', function() {
|
54251
|
+
ok(true, 'ember-views/mixins/view_stream_support.js should pass jscs.');
|
54252
|
+
});
|
54253
|
+
|
54254
|
+
});
|
54255
|
+
enifed('ember-views/mixins/view_stream_support.jshint', function () {
|
54256
|
+
|
54257
|
+
'use strict';
|
54258
|
+
|
54259
|
+
module('JSHint - ember-views/mixins');
|
54260
|
+
test('ember-views/mixins/view_stream_support.js should pass jshint', function() {
|
54261
|
+
ok(true, 'ember-views/mixins/view_stream_support.js should pass jshint.');
|
54262
|
+
});
|
54263
|
+
|
54823
54264
|
});
|
54824
54265
|
enifed('ember-views/mixins/view_target_action_support.jscs-test', function () {
|
54825
54266
|
|
@@ -54840,6 +54281,26 @@ enifed('ember-views/mixins/view_target_action_support.jshint', function () {
|
|
54840
54281
|
ok(true, 'ember-views/mixins/view_target_action_support.js should pass jshint.');
|
54841
54282
|
});
|
54842
54283
|
|
54284
|
+
});
|
54285
|
+
enifed('ember-views/mixins/visibility_support.jscs-test', function () {
|
54286
|
+
|
54287
|
+
'use strict';
|
54288
|
+
|
54289
|
+
module('JSCS - ember-views/mixins');
|
54290
|
+
test('ember-views/mixins/visibility_support.js should pass jscs', function() {
|
54291
|
+
ok(true, 'ember-views/mixins/visibility_support.js should pass jscs.');
|
54292
|
+
});
|
54293
|
+
|
54294
|
+
});
|
54295
|
+
enifed('ember-views/mixins/visibility_support.jshint', function () {
|
54296
|
+
|
54297
|
+
'use strict';
|
54298
|
+
|
54299
|
+
module('JSHint - ember-views/mixins');
|
54300
|
+
test('ember-views/mixins/visibility_support.js should pass jshint', function() {
|
54301
|
+
ok(true, 'ember-views/mixins/visibility_support.js should pass jshint.');
|
54302
|
+
});
|
54303
|
+
|
54843
54304
|
});
|
54844
54305
|
enifed('ember-views/streams/class_name_binding.jscs-test', function () {
|
54845
54306
|
|
@@ -57866,7 +57327,7 @@ enifed('ember-views/tests/views/container_view_test', ['ember-metal/property_get
|
|
57866
57327
|
container.removeObject(view);
|
57867
57328
|
});
|
57868
57329
|
equal(property_get.get(view, 'childViews.length'), 0, "child views are cleared when removed from container view");
|
57869
|
-
equal(container.$().
|
57330
|
+
equal(container.$().text(), '', "the child view is removed from the DOM");
|
57870
57331
|
});
|
57871
57332
|
|
57872
57333
|
QUnit.test("if a ContainerView starts with an empty currentView, nothing is displayed", function() {
|
@@ -65384,7 +64845,9 @@ enifed('ember/tests/component_registration_test', ['ember', 'ember-template-comp
|
|
65384
64845
|
|
65385
64846
|
function cleanup() {
|
65386
64847
|
Ember.run(function() {
|
65387
|
-
App
|
64848
|
+
if (App) {
|
64849
|
+
App.destroy();
|
64850
|
+
}
|
65388
64851
|
App = null;
|
65389
64852
|
Ember.TEMPLATES = {};
|
65390
64853
|
|
@@ -65549,21 +65012,14 @@ enifed('ember/tests/component_registration_test', ['ember', 'ember-template-comp
|
|
65549
65012
|
equal(Ember.$('#wrapper').text(), "inner-outer", "The component is composed correctly");
|
65550
65013
|
});
|
65551
65014
|
|
65552
|
-
if (!Ember.FEATURES.isEnabled('ember-htmlbars')) {
|
65553
|
-
// jscs:disable validateIndentation
|
65554
|
-
// ember-htmlbars doesn't throw an exception when a helper is not found
|
65555
|
-
|
65556
65015
|
QUnit.test('Using name of component that does not exist', function () {
|
65557
65016
|
Ember.TEMPLATES.application = compile['default']("<div id='wrapper'>{{#no-good}} {{/no-good}}</div>");
|
65558
65017
|
|
65559
|
-
|
65018
|
+
expectAssertion(function () {
|
65560
65019
|
boot();
|
65561
|
-
}, /
|
65020
|
+
}, /A helper named `no-good` could not be found/);
|
65562
65021
|
});
|
65563
65022
|
|
65564
|
-
// jscs:enable validateIndentation
|
65565
|
-
}
|
65566
|
-
|
65567
65023
|
QUnit.module("Application Lifecycle - Component Context", {
|
65568
65024
|
setup: prepare,
|
65569
65025
|
teardown: cleanup
|
@@ -65777,7 +65233,10 @@ enifed('ember/tests/helpers/helper_registration_test', ['ember', 'ember-htmlbars
|
|
65777
65233
|
QUnit.module("Application Lifecycle - Helper Registration", {
|
65778
65234
|
teardown: function() {
|
65779
65235
|
Ember.run(function() {
|
65780
|
-
App
|
65236
|
+
if (App) {
|
65237
|
+
App.destroy();
|
65238
|
+
}
|
65239
|
+
|
65781
65240
|
App = null;
|
65782
65241
|
Ember.TEMPLATES = {};
|
65783
65242
|
});
|
@@ -65840,41 +65299,28 @@ enifed('ember/tests/helpers/helper_registration_test', ['ember', 'ember-htmlbars
|
|
65840
65299
|
ok(!helpers['x-reverse'], "Container-registered helper doesn't wind up on global helpers hash");
|
65841
65300
|
});
|
65842
65301
|
|
65843
|
-
if (!Ember.FEATURES.isEnabled('ember-htmlbars')) {
|
65844
|
-
// jscs:disable validateIndentation
|
65845
|
-
|
65846
65302
|
// we have unit tests for this in ember-htmlbars/tests/system/lookup-helper
|
65847
65303
|
// and we are not going to recreate the handlebars helperMissing concept
|
65848
65304
|
QUnit.test("Undashed helpers registered on the container can not (presently) be invoked", function() {
|
65849
65305
|
|
65850
|
-
var realHelperMissing = helpers.helperMissing;
|
65851
|
-
helpers.helperMissing = function() {
|
65852
|
-
return "NOHALPER";
|
65853
|
-
};
|
65854
|
-
|
65855
65306
|
// Note: the reason we're not allowing undashed helpers is to avoid
|
65856
65307
|
// a possible perf hit in hot code paths, i.e. _triageMustache.
|
65857
65308
|
// We only presently perform container lookups if prop.indexOf('-') >= 0
|
65858
65309
|
|
65859
65310
|
Ember.TEMPLATES.application = compile("<div id='wrapper'>{{omg}}|{{omg 'GRRR'}}|{{yorp}}|{{yorp 'ahh'}}</div>");
|
65860
65311
|
|
65861
|
-
|
65862
|
-
|
65863
|
-
|
65312
|
+
expectAssertion(function() {
|
65313
|
+
boot(function() {
|
65314
|
+
registry.register('helper:omg', function() {
|
65315
|
+
return "OMG";
|
65316
|
+
});
|
65317
|
+
registry.register('helper:yorp', makeBoundHelper(function() {
|
65318
|
+
return "YORP";
|
65319
|
+
}));
|
65864
65320
|
});
|
65865
|
-
|
65866
|
-
return "YORP";
|
65867
|
-
}));
|
65868
|
-
});
|
65869
|
-
|
65870
|
-
equal(Ember.$('#wrapper').text(), "|NOHALPER||NOHALPER", "The undashed helper was invoked from the container");
|
65871
|
-
|
65872
|
-
helpers.helperMissing = realHelperMissing;
|
65321
|
+
}, /A helper named 'omg' could not be found/);
|
65873
65322
|
});
|
65874
65323
|
|
65875
|
-
// jscs:enable validateIndentation
|
65876
|
-
}
|
65877
|
-
|
65878
65324
|
});
|
65879
65325
|
enifed('ember/tests/helpers/helper_registration_test.jscs-test', function () {
|
65880
65326
|
|
@@ -68018,28 +67464,6 @@ enifed('ember/tests/routing/basic_test', ['ember', 'ember-metal/enumerable_utils
|
|
68018
67464
|
equal(Ember.$('h3:contains(Hours)', '#qunit-fixture').length, 1, "The home template was rendered");
|
68019
67465
|
});
|
68020
67466
|
|
68021
|
-
QUnit.test("The Homepage register as activeView", function() {
|
68022
|
-
Router.map(function() {
|
68023
|
-
this.route("home", { path: "/" });
|
68024
|
-
this.route("homepage");
|
68025
|
-
});
|
68026
|
-
|
68027
|
-
App.HomeRoute = Ember.Route.extend({
|
68028
|
-
});
|
68029
|
-
|
68030
|
-
App.HomepageRoute = Ember.Route.extend({
|
68031
|
-
});
|
68032
|
-
|
68033
|
-
bootApplication();
|
68034
|
-
|
68035
|
-
ok(router._lookupActiveView('home'), '`home` active view is connected');
|
68036
|
-
|
68037
|
-
handleURL('/homepage');
|
68038
|
-
|
68039
|
-
ok(router._lookupActiveView('homepage'), '`homepage` active view is connected');
|
68040
|
-
equal(router._lookupActiveView('home'), undefined, '`home` active view is disconnected');
|
68041
|
-
});
|
68042
|
-
|
68043
67467
|
QUnit.test("The Homepage with explicit template name in renderTemplate", function() {
|
68044
67468
|
Router.map(function() {
|
68045
67469
|
this.route("home", { path: "/" });
|
@@ -70416,6 +69840,22 @@ enifed('ember/tests/routing/basic_test', ['ember', 'ember-metal/enumerable_utils
|
|
70416
69840
|
});
|
70417
69841
|
|
70418
69842
|
|
69843
|
+
QUnit.test("Route will assert if you try to explicitly render {into: ...} a missing template", function () {
|
69844
|
+
Router.map(function() {
|
69845
|
+
this.route("home", { path: "/" });
|
69846
|
+
});
|
69847
|
+
|
69848
|
+
App.HomeRoute = Ember.Route.extend({
|
69849
|
+
renderTemplate: function() {
|
69850
|
+
this.render({ into: 'nonexistent' });
|
69851
|
+
}
|
69852
|
+
});
|
69853
|
+
|
69854
|
+
expectAssertion(function() {
|
69855
|
+
bootApplication();
|
69856
|
+
}, "You attempted to render into 'nonexistent' but it was not found");
|
69857
|
+
});
|
69858
|
+
|
70419
69859
|
QUnit.test("Route supports clearing outlet explicitly", function() {
|
70420
69860
|
Ember.TEMPLATES.application = compile("{{outlet}}{{outlet 'modal'}}");
|
70421
69861
|
Ember.TEMPLATES.posts = compile("{{outlet}}");
|
@@ -71285,6 +70725,160 @@ enifed('ember/tests/routing/basic_test', ['ember', 'ember-metal/enumerable_utils
|
|
71285
70725
|
}, /\bboom\b/);
|
71286
70726
|
});
|
71287
70727
|
|
70728
|
+
QUnit.test("{{outlet}} works when created after initial render", function() {
|
70729
|
+
Ember.TEMPLATES.sample = compile("Hi{{#if showTheThing}}{{outlet}}{{/if}}Bye");
|
70730
|
+
Ember.TEMPLATES['sample/inner'] = compile("Yay");
|
70731
|
+
Ember.TEMPLATES['sample/inner2'] = compile("Boo");
|
70732
|
+
Router.map(function() {
|
70733
|
+
this.route('sample', { path: '/' }, function() {
|
70734
|
+
this.route('inner', { path: '/' });
|
70735
|
+
this.route('inner2', { path: '/2' });
|
70736
|
+
});
|
70737
|
+
});
|
70738
|
+
|
70739
|
+
bootApplication();
|
70740
|
+
|
70741
|
+
equal(Ember.$('#qunit-fixture').text(), "HiBye", "initial render");
|
70742
|
+
|
70743
|
+
Ember.run(function() {
|
70744
|
+
container.lookup('controller:sample').set('showTheThing', true);
|
70745
|
+
});
|
70746
|
+
|
70747
|
+
equal(Ember.$('#qunit-fixture').text(), "HiYayBye", "second render");
|
70748
|
+
|
70749
|
+
handleURL('/2');
|
70750
|
+
|
70751
|
+
equal(Ember.$('#qunit-fixture').text(), "HiBooBye", "third render");
|
70752
|
+
});
|
70753
|
+
|
70754
|
+
QUnit.test("Can rerender application view multiple times when it contains an outlet", function() {
|
70755
|
+
Ember.TEMPLATES.application = compile("App{{outlet}}");
|
70756
|
+
Ember.TEMPLATES.index = compile("Hello world");
|
70757
|
+
|
70758
|
+
registry.register('view:application', Ember.View.extend({
|
70759
|
+
elementId: 'im-special'
|
70760
|
+
}));
|
70761
|
+
|
70762
|
+
bootApplication();
|
70763
|
+
|
70764
|
+
equal(Ember.$('#qunit-fixture').text(), "AppHello world", "initial render");
|
70765
|
+
|
70766
|
+
Ember.run(function() {
|
70767
|
+
Ember.View.views['im-special'].rerender();
|
70768
|
+
});
|
70769
|
+
|
70770
|
+
equal(Ember.$('#qunit-fixture').text(), "AppHello world", "second render");
|
70771
|
+
|
70772
|
+
Ember.run(function() {
|
70773
|
+
Ember.View.views['im-special'].rerender();
|
70774
|
+
});
|
70775
|
+
|
70776
|
+
equal(Ember.$('#qunit-fixture').text(), "AppHello world", "third render");
|
70777
|
+
});
|
70778
|
+
|
70779
|
+
QUnit.test("Can render into a named outlet at the top level", function() {
|
70780
|
+
Ember.TEMPLATES.application = compile("A-{{outlet}}-B-{{outlet \"other\"}}-C");
|
70781
|
+
Ember.TEMPLATES.modal = compile("Hello world");
|
70782
|
+
Ember.TEMPLATES.index = compile("The index");
|
70783
|
+
|
70784
|
+
registry.register('route:application', Ember.Route.extend({
|
70785
|
+
renderTemplate: function() {
|
70786
|
+
this.render();
|
70787
|
+
this.render('modal', {
|
70788
|
+
into: 'application',
|
70789
|
+
outlet: 'other'
|
70790
|
+
});
|
70791
|
+
}
|
70792
|
+
}));
|
70793
|
+
|
70794
|
+
bootApplication();
|
70795
|
+
|
70796
|
+
equal(Ember.$('#qunit-fixture').text(), "A-The index-B-Hello world-C", "initial render");
|
70797
|
+
});
|
70798
|
+
|
70799
|
+
QUnit.test("Can disconnect a named outlet at the top level", function() {
|
70800
|
+
Ember.TEMPLATES.application = compile("A-{{outlet}}-B-{{outlet \"other\"}}-C");
|
70801
|
+
Ember.TEMPLATES.modal = compile("Hello world");
|
70802
|
+
Ember.TEMPLATES.index = compile("The index");
|
70803
|
+
|
70804
|
+
registry.register('route:application', Ember.Route.extend({
|
70805
|
+
renderTemplate: function() {
|
70806
|
+
this.render();
|
70807
|
+
this.render('modal', {
|
70808
|
+
into: 'application',
|
70809
|
+
outlet: 'other'
|
70810
|
+
});
|
70811
|
+
},
|
70812
|
+
actions: {
|
70813
|
+
banish: function() {
|
70814
|
+
this.disconnectOutlet({
|
70815
|
+
parentView: 'application',
|
70816
|
+
outlet: 'other'
|
70817
|
+
});
|
70818
|
+
}
|
70819
|
+
}
|
70820
|
+
}));
|
70821
|
+
|
70822
|
+
bootApplication();
|
70823
|
+
|
70824
|
+
equal(Ember.$('#qunit-fixture').text(), "A-The index-B-Hello world-C", "initial render");
|
70825
|
+
|
70826
|
+
Ember.run(router, 'send', 'banish');
|
70827
|
+
|
70828
|
+
equal(Ember.$('#qunit-fixture').text(), "A-The index-B--C", "second render");
|
70829
|
+
});
|
70830
|
+
|
70831
|
+
QUnit.test("Can render into a named outlet at the top level, with empty main outlet", function() {
|
70832
|
+
Ember.TEMPLATES.application = compile("A-{{outlet}}-B-{{outlet \"other\"}}-C");
|
70833
|
+
Ember.TEMPLATES.modal = compile("Hello world");
|
70834
|
+
|
70835
|
+
Router.map(function() {
|
70836
|
+
this.route('hasNoTemplate', { path: '/' });
|
70837
|
+
});
|
70838
|
+
|
70839
|
+
registry.register('route:application', Ember.Route.extend({
|
70840
|
+
renderTemplate: function() {
|
70841
|
+
this.render();
|
70842
|
+
this.render('modal', {
|
70843
|
+
into: 'application',
|
70844
|
+
outlet: 'other'
|
70845
|
+
});
|
70846
|
+
}
|
70847
|
+
}));
|
70848
|
+
|
70849
|
+
bootApplication();
|
70850
|
+
|
70851
|
+
equal(Ember.$('#qunit-fixture').text(), "A--B-Hello world-C", "initial render");
|
70852
|
+
});
|
70853
|
+
|
70854
|
+
|
70855
|
+
QUnit.test("Can render into a named outlet at the top level, later", function() {
|
70856
|
+
Ember.TEMPLATES.application = compile("A-{{outlet}}-B-{{outlet \"other\"}}-C");
|
70857
|
+
Ember.TEMPLATES.modal = compile("Hello world");
|
70858
|
+
Ember.TEMPLATES.index = compile("The index");
|
70859
|
+
|
70860
|
+
registry.register('route:application', Ember.Route.extend({
|
70861
|
+
actions: {
|
70862
|
+
launch: function() {
|
70863
|
+
this.render('modal', {
|
70864
|
+
into: 'application',
|
70865
|
+
outlet: 'other'
|
70866
|
+
});
|
70867
|
+
}
|
70868
|
+
}
|
70869
|
+
}));
|
70870
|
+
|
70871
|
+
bootApplication();
|
70872
|
+
|
70873
|
+
equal(Ember.$('#qunit-fixture').text(), "A-The index-B--C", "initial render");
|
70874
|
+
|
70875
|
+
Ember.run(router, 'send', 'launch');
|
70876
|
+
|
70877
|
+
//debugger;
|
70878
|
+
//router._setOutlets();
|
70879
|
+
equal(Ember.$('#qunit-fixture').text(), "A-The index-B-Hello world-C", "second render");
|
70880
|
+
});
|
70881
|
+
|
71288
70882
|
});
|
71289
70883
|
enifed('ember/tests/routing/basic_test.jscs-test', function () {
|
71290
70884
|
|