envjs 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,8 @@
1
+ === 0.3.4 / 2010-04-22
2
+
3
+ * Hack file prot urls with hash change (for now); add hash change test
4
+ * add test; otherwise formating only
5
+
1
6
  === 0.3.3 / 2010-04-21
2
7
 
3
8
  * fix case where option parent missing (during parse)
@@ -198,7 +198,7 @@ test/base64.js
198
198
  test/call-load-test.js
199
199
  test/data.js
200
200
  test/debug.js
201
- test/dmathieu/index.html
201
+ test/smp/dmathieu/index.html
202
202
  test/firebug/errorIcon.png
203
203
  test/firebug/firebug.css
204
204
  test/firebug/firebug.html
@@ -1,6 +1,6 @@
1
1
  module Envjs
2
2
 
3
- VERSION = "0.3.3"
3
+ VERSION = "0.3.4"
4
4
 
5
5
  def self.js_exception_stack e
6
6
  result = %(Exception: )+e.to_s
@@ -1842,31 +1842,31 @@ var $location = '';
1842
1842
 
1843
1843
  $w.__defineSetter__("location", function(url){
1844
1844
  if (false) {
1845
- if (url[0] === "#") {
1846
- // print("return anchor only");
1847
- return;
1848
- }
1849
- var now = window.location.href.replace(/^file:\/\//,"").replace(/#.*/,"");
1850
- var to = $master.first_script_window && $master.first_script_window.location.href;
1851
- // var to = $env.location(url,window.location.href != "about:blank" ? window.location.href: undefined);
1852
- // I'm not sure why this code is here ... looking at the FSW
1853
- // print("nu",now,url,to);
1854
- to = to || $env.location(url,window.location.href);
1855
- // print("nu",now,url,to);
1856
- if (to && to.indexOf(now)===0 && to[now.length]==="#") {
1857
- // print("return diff anchor only");
1858
- return;
1859
- }
1860
- if (url && url.indexOf(now)===0 && url[now.length]==="#") {
1861
- // print("return diff anchor only");
1862
- return;
1863
- }
1864
- // print($location, window.location.href === $location, $location.indexOf("#")>0);
1865
- if (url === window.location.href && $location.indexOf("#")>0) {
1866
- // print('returning same with anchor');
1867
- return;
1868
- }
1869
- // print("ft",window.location.href,$location,url);
1845
+ if (url[0] === "#") {
1846
+ // print("return anchor only");
1847
+ return;
1848
+ }
1849
+ var now = window.location.href.replace(/^file:\/\//,"").replace(/#.*/,"");
1850
+ var to = $master.first_script_window && $master.first_script_window.location.href;
1851
+ // var to = $env.location(url,window.location.href != "about:blank" ? window.location.href: undefined);
1852
+ // I'm not sure why this code is here ... looking at the FSW
1853
+ // print("nu",now,url,to);
1854
+ to = to || $env.location(url,window.location.href);
1855
+ // print("nu",now,url,to);
1856
+ if (to && to.indexOf(now)===0 && to[now.length]==="#") {
1857
+ // print("return diff anchor only");
1858
+ return;
1859
+ }
1860
+ if (url && url.indexOf(now)===0 && url[now.length]==="#") {
1861
+ // print("return diff anchor only");
1862
+ return;
1863
+ }
1864
+ // print($location, window.location.href === $location, $location.indexOf("#")>0);
1865
+ if (url === window.location.href && $location.indexOf("#")>0) {
1866
+ // print('returning same with anchor');
1867
+ return;
1868
+ }
1869
+ // print("ft",window.location.href,$location,url);
1870
1870
  }
1871
1871
  // debug("l",url,$w.location);
1872
1872
  if( !$location || ( $location == "about:blank" && url !== "about:blank" ) ) {
@@ -1875,7 +1875,7 @@ $w.__defineSetter__("location", function(url){
1875
1875
  } else {
1876
1876
  $env.unload($w);
1877
1877
  var proxy = $w.window;
1878
- // print("re",url);
1878
+ // print("re",url);
1879
1879
  $env.reload(proxy, url);
1880
1880
  }
1881
1881
  });
@@ -1895,8 +1895,13 @@ $w.__defineGetter__("location", function(url){
1895
1895
  set hash(_hash){
1896
1896
  //setting the hash is the only property of the location object
1897
1897
  //that doesn't cause the window to reload
1898
+ var prot = this.protocol;
1899
+ // FIXME this is a hack until the new url stuff is integrated
1900
+ if (prot === "file:") {
1901
+ prot = "file:///";
1902
+ }
1898
1903
  _hash = _hash.indexOf('#')===0?_hash:"#"+_hash;
1899
- $location = this.protocol + this.host + this.pathname +
1904
+ $location = prot + this.host + this.pathname +
1900
1905
  this.search + _hash;
1901
1906
  __setHistory__(_hash, "hash");
1902
1907
  },
@@ -1971,6 +1976,11 @@ $w.__defineGetter__("location", function(url){
1971
1976
  };
1972
1977
  });
1973
1978
 
1979
+ // Local Variables:
1980
+ // espresso-indent-level:4
1981
+ // c-basic-offset:4
1982
+ // tab-width:4
1983
+ // End:
1974
1984
  /*
1975
1985
  * history.js
1976
1986
  */
@@ -8,31 +8,31 @@ var $location = '';
8
8
 
9
9
  $w.__defineSetter__("location", function(url){
10
10
  if (false) {
11
- if (url[0] === "#") {
12
- // print("return anchor only");
13
- return;
14
- }
15
- var now = window.location.href.replace(/^file:\/\//,"").replace(/#.*/,"");
16
- var to = $master.first_script_window && $master.first_script_window.location.href;
17
- // var to = $env.location(url,window.location.href != "about:blank" ? window.location.href: undefined);
18
- // I'm not sure why this code is here ... looking at the FSW
19
- // print("nu",now,url,to);
20
- to = to || $env.location(url,window.location.href);
21
- // print("nu",now,url,to);
22
- if (to && to.indexOf(now)===0 && to[now.length]==="#") {
23
- // print("return diff anchor only");
24
- return;
25
- }
26
- if (url && url.indexOf(now)===0 && url[now.length]==="#") {
27
- // print("return diff anchor only");
28
- return;
29
- }
30
- // print($location, window.location.href === $location, $location.indexOf("#")>0);
31
- if (url === window.location.href && $location.indexOf("#")>0) {
32
- // print('returning same with anchor');
33
- return;
34
- }
35
- // print("ft",window.location.href,$location,url);
11
+ if (url[0] === "#") {
12
+ // print("return anchor only");
13
+ return;
14
+ }
15
+ var now = window.location.href.replace(/^file:\/\//,"").replace(/#.*/,"");
16
+ var to = $master.first_script_window && $master.first_script_window.location.href;
17
+ // var to = $env.location(url,window.location.href != "about:blank" ? window.location.href: undefined);
18
+ // I'm not sure why this code is here ... looking at the FSW
19
+ // print("nu",now,url,to);
20
+ to = to || $env.location(url,window.location.href);
21
+ // print("nu",now,url,to);
22
+ if (to && to.indexOf(now)===0 && to[now.length]==="#") {
23
+ // print("return diff anchor only");
24
+ return;
25
+ }
26
+ if (url && url.indexOf(now)===0 && url[now.length]==="#") {
27
+ // print("return diff anchor only");
28
+ return;
29
+ }
30
+ // print($location, window.location.href === $location, $location.indexOf("#")>0);
31
+ if (url === window.location.href && $location.indexOf("#")>0) {
32
+ // print('returning same with anchor');
33
+ return;
34
+ }
35
+ // print("ft",window.location.href,$location,url);
36
36
  }
37
37
  // debug("l",url,$w.location);
38
38
  if( !$location || ( $location == "about:blank" && url !== "about:blank" ) ) {
@@ -41,7 +41,7 @@ $w.__defineSetter__("location", function(url){
41
41
  } else {
42
42
  $env.unload($w);
43
43
  var proxy = $w.window;
44
- // print("re",url);
44
+ // print("re",url);
45
45
  $env.reload(proxy, url);
46
46
  }
47
47
  });
@@ -61,8 +61,13 @@ $w.__defineGetter__("location", function(url){
61
61
  set hash(_hash){
62
62
  //setting the hash is the only property of the location object
63
63
  //that doesn't cause the window to reload
64
+ var prot = this.protocol;
65
+ // FIXME this is a hack until the new url stuff is integrated
66
+ if (prot === "file:") {
67
+ prot = "file:///";
68
+ }
64
69
  _hash = _hash.indexOf('#')===0?_hash:"#"+_hash;
65
- $location = this.protocol + this.host + this.pathname +
70
+ $location = prot + this.host + this.pathname +
66
71
  this.search + _hash;
67
72
  __setHistory__(_hash, "hash");
68
73
  },
@@ -137,3 +142,8 @@ $w.__defineGetter__("location", function(url){
137
142
  };
138
143
  });
139
144
 
145
+ // Local Variables:
146
+ // espresso-indent-level:4
147
+ // c-basic-offset:4
148
+ // tab-width:4
149
+ // End:
@@ -39,3 +39,19 @@ test("References to the window object", function() {
39
39
  "for top-level document 'window.top' refers to itself");
40
40
  }catch(e){print(e);}
41
41
  });
42
+
43
+ test("Allows to change the window.location.hash parameter w/o hash", function() {
44
+ expect(1);
45
+ try {
46
+ window.location.hash = 'test';
47
+ ok(window.location.hash === '#test');
48
+ }catch(e){print(e);}
49
+ });
50
+
51
+ test("Allows to change the window.location.hash parameter w/hash", function() {
52
+ expect(1);
53
+ try {
54
+ window.location.hash = '#test';
55
+ ok(window.location.hash === '#test');
56
+ }catch(e){print(e);}
57
+ });
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 3
9
- version: 0.3.3
8
+ - 4
9
+ version: 0.3.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - John Resig
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-04-21 00:00:00 -07:00
19
+ date: 2010-04-22 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -278,7 +278,7 @@ files:
278
278
  - test/call-load-test.js
279
279
  - test/data.js
280
280
  - test/debug.js
281
- - test/dmathieu/index.html
281
+ - test/smp/dmathieu/index.html
282
282
  - test/firebug/errorIcon.png
283
283
  - test/firebug/firebug.css
284
284
  - test/firebug/firebug.html