рдЬрдм рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ:
let obj = {
foo: function() {
}
}
var stub = sinon.stub(obj , "foo", () => {});
stub(obj, 'meth', fn) has been removed, see documentation
рдореИрдВ рдлрд┐рд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ:
http://sinonjs.org/releases/v2.0.0/stubs/#var -stub--sinonstubobject-method-func
рд╡рд░ рдареВрдВрда = sinon.stub (рд╡рд╕реНрддреБ, "рд╡рд┐рдзрд┐", func);
рдПрдХ рдЬрд╛рд╕реВрд╕ рдореЗрдВ рд▓рд┐рдкрдЯреЗ рдПрдХ func рдХреЗ рд╕рд╛рде object.method рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, object.method.restore(); рдореВрд▓ рд╡рд┐рдзрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рд╕рд┐рдиреЙрди 4.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рднреВрд▓ рдЬрд╛рдУ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ Google seargh "рд╕рд┐рдиреЙрди рд╕реНрдЯрдм" 2.0.0 рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
Google рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЦреЛрдЬрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╣рд╛рдВ рд╣реИрдВ: http://sinonjs.org/releases/v5.0.3/stubs/
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рдлреЙрд░реНрдо stub(obj, 'meth').callsFake(fn)
:
~
var stub = sinon.stub(object, "method", func);
~
рдЗрд╕реЗ v3.0.0 рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
stub(obj, 'meth').callsFake(fn)
рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдбрдореЙрдб рдЙрдкрд▓рдмреНрдз рд╣реИ
@mroderick : рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдХрд┐ рд▓реЛрдЧ рд╣рдорд╛рд░реА (?) SEO рд░рдгрдиреАрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдЙрд╕ рд╕реБрдЭрд╛рд╡ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╛рд░ рдкреБрд░рд╛рдиреА Google рдЦреЛрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рд╣рдорд╛рд░реЗ рдЯреНрд╡рд┐рдЯрд░ рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ .. 2016?)ред
AFAI рдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рдлрд┐рдХреНрд╕ Django рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬреЛ рдХрд┐ Google рд╣рд┐рдЯ рдкреЙрдЗрдВрдЯ/рдирд╡реАрдирддрдо рд╣реЛрдиреЗ рд╕реЗ SEO рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдиреЛрдирд┐рдХрд▓ рд▓рд┐рдВрдХ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдЕрд░реНрдердкреВрд░реНрдг рд╢реБрджреНрдзрддрд╛ рдХрд╛ рдкреВрд░реНрд╡рд╛рднрд╛рд╕ рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдореБрдЭреЗ рдПрдЯреАрдПрдо рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдерд╛ред рдпрд╣ рд╕рд┐рд░реНрдл рдЬреЗрдХрд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдмрд╛рдзрд╛ рдереА, AFAI рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ :-)
рдХреНрдпрд╛ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдмреИрдирд░ рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реЛ рдХрд┐ рдпреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреБрд░рд╛рдиреЗ рд╣реИрдВ? рдЗрд╕рд╕реЗ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред
@mantoni рд╣рд╛рдБ, рдореЙрд░реНрдЧрди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЯреНрд╡рд┐рдЯрд░ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ:
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдХреБрдЫ рдПрд╕рдИрдУ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреВрд╕рд░рд╛ рд╕рдВрджреЗрд╣ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЛ рджреЗрдЦреЗрдВ: https://webmasters.stackexchange.com/questions/109113/versioned-pages-making-sure-google-points-to-the-current тАж рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛: https ://webmasters.stackexchange.com/questions/99867/how-to-correctly-mark-up-рднрд┐рдиреНрди-рд╕рдВрд╕реНрдХрд░рдг-of-the-same-document-who-are-non-c тАж
рдореВрд▓ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ Google рд╣рд┐рдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ Django рдЕрдкрдиреЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрдирд░ рдФрд░ canonical
(рдпрд╛ noindex
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреАред
рдЕрдВрддрдд:, рдореИрдВ рдПрдХ рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред
рдЖрдЬ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрднреА рднреА stub(obj, 'meth', fn) has been removed, see documentation
рд▓рд┐рдП рд╢реАрд░реНрд╖ Google рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рдкрд░ рдЖрддрд╛ рд╣реВрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
Google рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЦреЛрдЬрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╣рд╛рдВ рд╣реИрдВ: http://sinonjs.org/releases/v5.0.3/stubs/
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рдлреЙрд░реНрдо
stub(obj, 'meth').callsFake(fn)
: